- 10
- 0
- 约2.43万字
- 约 29页
- 2017-06-29 发布于浙江
- 举报
编译原理课程设计实验报告
实验一 C-语言的词法分析器(基于LEX)
实验二 手工构造c-语言的词法分析器(表驱动实现)
实验三 c-语言的语法分析器(基于Yacc)
实验四 c-语言的语法分析器(手工实现LL1实现)
实验一 C-语言的词法分析器(基于LEX)
目的:熟悉c-语言的各种Token,构造各种Token的正规表达式。
熟悉Parser Gererator2及其环境,学习基于LEX构造词法分析器的方法。
意义:设计词法分析所需的各种数据结构,理解词法分析的原理,为本套实验的后续实验—-手动词法分析、语法分析做铺垫。
基于LEX的词法分析器构造方法:
Lex的输入结构
{definitions} //声明部分
%%
{rules} //识别规则
%%
{anxiliary routines} //辅助过程
在声明部分,声明程序将要用到的函数、数据结构等,包括所调用的函数库,所定义的c-Token类型等。
在识别规则部分,确定c-语言的Token类型,构造各Token的正规表达式。
在辅助过程部分,函数实现c-程序的输入,并函数打印当前token。
Lex示意图如下:
c-语言词法分析的设计:
重要数据结构
1)C-惯用的词法
(1)关键字:else if int return void while
(2)专用符号:+ - * /
原创力文档

文档评论(0)