文件名称:bison-example:一个简单的示例,如何启动和运行flexbison项目
文件大小:9KB
文件格式:ZIP
更新时间:2024-06-07 10:08:45
parser bison flex parse scanner
野牛的例子 像bison这样的解析器生成器对于语法原型非常有用,不幸的是,它需要大量代码才能启动和运行。 这只是一个非常小的示例,显示了构建基于野牛的解析器所需的样板代码。 我喜欢bison的地方是,您可以编译和部署bison-project,而无需安装任何其他工具或运行时库。 在部署共享库时,进一步具有C接口可避免C ++运行时兼容性方面的常见问题。 本示例使用自动工具,纯Flex扫描仪和带有位置的bison解析器(在本示例中仅显示行)。 输出是一棵简单的树,它使用单链接列表链接其元素。 还提供了用于树遍历的简单例程。 示例语法只是胡说八道: Names ::= {Name}+ Name ::= ID | FooBar FooBar ::= "foo" [Bar] Bar ::= "bar" 汇编 通常,自动生成的文件(如Makefile.in或parser.c)都
【文件预览】:
bison-example-master
----Makefile.am(421B)
----.gitignore(240B)
----names.example(24B)
----LICENSE(1KB)
----configure.ac(398B)
----README.md(2KB)
----example()
--------parser.y(4KB)
--------node.c(2KB)
--------node.h(2KB)
--------node.def(214B)
--------lexer.l(1KB)
----main.c(769B)