![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
文章平均质量分 77
flying2
这个作者很懒,什么都没留下…
展开
-
Lex和Yacc使用学习笔记(一)
概述使用Lex和Yacc构造编译器过程如下图所示: Yacc 读入bas.y 中的语法描述而后生成一个剖析器,即y.tab.c 中的函数 yyparse。b as.y 中包含的是一系列的标记声明。Lex 读入bas.l 中的正则表达式的说明,包含文件 y.tab.h,然后生成词汇解释器,即文件lex.yy.c 中的函数yylex。最终,这个解释器和剖析器被连接到一起,而组原创 2008-10-14 09:35:00 · 1629 阅读 · 0 评论 -
Lex和Yacc使用学习笔记(二)
Yacc yacc的文法由一个使用BNF文法(Backus-Naur form 的变量描述。文法规则最初由 John Backus 和 Peter Naur 发明,并且用于描述Algol60 语言。 BNF 能够用于表达上下文无关语言。现代程序语言中的大多数结构可以用BNF 文法来表达。例如,数值相乘和相加的文法是:E > E + EE > E * EE > id像原创 2008-10-14 10:57:00 · 1044 阅读 · 0 评论