编译原理
潇潇雨歇_
www
展开
-
lex语言词法分析
1.添加行号 %{ #include #include int line=1; %} %% [^\n] {yymore();} [\n] {printf("%2d %s",line++,yytext);} %% int yywrap(void) { return 1; } int main(int argc,char** argv) { yyin=fopen(argv[1],原创 2016-04-06 18:11:48 · 2191 阅读 · 0 评论 -
Yacc基础语法分析程序(无附加实验内容)
calc.lex %{ /* * 一个简单计算器的Lex词法文件 */ #include void yyerror(char*); /* #include "calc.tab.h" */ %} %% /* a-z为变量 */ [a-z] { yylval = *yytext - 'a';原创 2016-04-20 13:05:57 · 1468 阅读 · 0 评论 -
预测分析表中的FIRST和FOLLOW集合求法个人小结
FIRST(a)其实就是可从a推导得出的串的首符号的集合.FOLLOW(a)就是在某些句型中可能紧跟在a右边的终结符号的集合.它们有一个很严谨但是很难懂的创建规则: FIRST集求法 First集合最终是对产生式右部的字符串而言的,但其关键是求出非终结符的First集合,由于终结符的First集合就是它自己,所以求出非终结符的First集合后,就可很直观地得到每个字符串的First集合.原创 2016-05-17 17:06:03 · 3831 阅读 · 0 评论