辽宁师范大学计算机与信息技术学院
综合性实验报告
课程名称:编译原理
实验题目:一个简单语言的词法分析器
学生姓名:
专业:计算机科学与技术
学号:
实验日期:
【实验目的】
1. 理解正规式和有限自动机的作用;进一步理解自动机理论。
2. 用状态图和状态矩阵表示有限自动机;
3. 以程序实现有限自动机的运行过程;
4. 掌握正规式转换成自动机的技术及有穷自动机实现的方法。
【实验内容】
利用正规表达式和自动机手段,设计各类单词的自动机表示及组合自动机表示,生成并调试程序,实现词法分析。
【实验要求】
1.待分析的简单的词法
(1)关键字:
beginifthenwhiledoend
所有的关键字都是小写。
(2)运算符和界符
: =+-*/<<=<>>>==; ()#
(3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义:
ID = letter (letter | digit)*
NUM = digit digit*
(4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。
2. 各种单词符号对应的种别码:
3. 词法分析程序的功能:
输入:所给文法的源程序字符串。
输出:二元组(syn,token或sum)构成的序列。
其中:syn为单词种别码;
token为存放的单词自身字符串;
sum为整型常数。
例:对源程序begin x := 9; if x>9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列:
(1,begin)(10,x)(18,:=)(11,9)(26,:)(2,if)(10,x)(23,>)(11,9)(3,then)(10,x)(18,:=)(11,2)(15,*)(10,x)(13,+)(11,1)(16,/)(11,3)(26,;)(6,end)(0,#)??
【实验过程】
程序思路:
www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。