我正在研究野牛(yacc),但我有一个疑问,我如何在源代码中包含处理文件(#include)以及如何创建函数并分析和yacc生成这些函数的代码?
我制作了一个简单的测试代码:https://github.com/bencz/YaccStudy
但是,没有函数系统和#include系统......我只是试图制作,但做错了,它在编译时给出了错误,并且在编译时,它没有工作......然后删除有这些变化的消息来源,并创造了新的...
答案 0 :(得分:1)
bison调用函数yylex
来读取令牌。如果您要定义自己的yylex
,可以从任何您喜欢的地方进行阅读;你只需要将该源转换为一系列令牌。如果您正在使用flex,它可以使用许多函数来操作输入 - 请阅读Multiple Input Buffers上的手册部分