Tag: 词法分析

如何在没有解析器生成器的情况下在C或Objective-C中编写解析器?

我试图在C或Objective-C中创建一个接受字符串的计算器 8/2+4(3*9)^2 并返回答案2920.我不想使用像Lex或Yacc这样的生成器,所以我想从头开始编写代码。 我该怎么做呢? 除了龙书,是否有任何推荐的文本涵盖这个主题?

在函数’yylex’中:’变量’未声明

我正在使用Lexical Analysis 。 为此,我使用Flex ,我获取以下问题。 work.l int cnt = 0,num_lines=0,num_chars=0; // Problem here. %% [” “]+[a-zA-Z0-9]+ {++cnt;} \n {++num_lines; ++num_chars;} . {++num_chars;} %% int yywrap() { return 1; } int main() { yyin = freopen(“in.txt”, “r”, stdin); yylex(); printf(“%d %d %d\n”, cnt, num_lines,num_chars); return 0; } 然后,我使用以下命令,它正常工作,并创建lex.yy.c Rezwans-iMac:laqb-2 rezwan $ flex work.l 然后,我使用以下命令。 Rezwans-iMac:laqb-2 rezwan […]