1

我正在尝试为一个日志文件编写一个解析器,该文件具有多个标题和与每个标题关联的值。格式类似于以下:

Field1 Field2 Field3 
---------------------
Val1   Val2  Val3

任何人都可以帮助我使用 lex 文件来扫描以下格式吗?

4

1 回答 1

1

这将识别 lex 中的令牌“标识符”

    id [a-z A-Z_][a-zA-Z0-9_]*

您可以将此语法用于解析器。

    S : E '\n' V  {printf("Accepted\n");}
    E : E ' ' ID;
    V : V ' ' ID;

ID必须从 lex 作为令牌返回

但我认为你应该学习 Flex 和 Bison 教程。那就足够了。如果您使用的是 Linux,Bison 的信息页面有丰富的细节。

于 2013-01-03T08:18:27.370 回答