free Grammar的编译器设计和实现
发布时间:2016-05-15 15:04
本文关键词:编译器设计,由笔耕文化传播整理发布。
(注:可以下载本文的PDF版,我也上传到了百度文库,大家可以自己找一下。)
Context-free Grammar的编译器设计和实现
摘要
本文要做的工作如下:
l 手动写Expression Grammar的词法分析器、语法分析器和语义分析器。
l 设计Context-free Grammar的文法,制作能够生成编译器代码的编译器(即CGCompiler)。
l 用CGCompiler自动生成Expression Grammar的词法分析器代码和语法分析器代码。
1 引言 1.1 编译器的工作流程编译器的工作流程可以用图 1.1表示。有人说这只是编译器前端,后端还有生成中间结果、代码优化等等内容。我认为这些都是对语义分析的延续,本文重点在于词法分析和语法分析,语义分析部分虽然也有涉及,但并非重点,请勿计较太多。
图 1.1编译器工作流程
Context-free Grammar即上下文无关文法,文法是用来描述编程语言的结构的。有了文法,就可以制作对应的编译器。大部分编程语言都是用上下文无关文法描述的。
1.2 加减乘除表达式的文法举个加减乘除运算表达式(Expression Grammar)的文法的例子,如代码段 1.1所示。
<Expression> ::= <Multiply>
本文关键词:编译器设计,由笔耕文化传播整理发布。
,本文编号:45416
本文链接:https://www.wllwen.com/wenshubaike/mishujinen/45416.html
最近更新
教材专著