一,词法分析器
作用:读取源程序的输入字符、将他们组成词素,生成并输出一个词法单元序列
二,设计原理
1)C程序语言的符号分类:关键字、标识符、常数、运算符、界符
2)词法分析器的二元输出:<单词种别,单词符号属性值>
3)正规式和状态转换图
4)程序说明:
1>main 中打开源码文件,从第一个字符流读取
2>如果第一个是字符,则交给letterprocess(str); 处理
3>如果第一个是数字,则交给numberprocess(str); 处理
4>如果第一个是数字,则交给otherprocess(str);处理
5>注意上述过程中,File *fp每读取一个词素,fp都会移动到下一个词素。对于空格的处理:isspace(ch)检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符
('\t')、CR('\r')、换行('\n')、垂直定位字符('\v')或
翻页('\f')的情况
这个程序输出结果情况汇总:关键字、算术运算符、关系运算符、分割符号、特殊符号、注释符号、逻辑运算符、非法符号
三,程序源码
分享到:
相关推荐
词法分析器的主要任务是读入源程序的输入字符,将它们组成词素,生成并输出一个词法单元序列,这个词法单元序列被输出到语法分析器进行语法分析。另外,由于词法分析器在编译器中负责读取源程序,因此除了识别词素...
编译原理课程中词法分析器实验报告,含详细的源码及分析
编译原理课程的作业,java词法分析器,C语言版。含文档及两个测试文件。
通过java实现编译原理中的词法分析功能主要包括: 1).识别简单语言的单词符号 2.识别简单语言的基本字、标识符、无符号整数、运算符和界符 例如: 输入: x:=9; if x>0 then x:=2*x+1/3 fi #(可以文件方式读入) ...
编译原理课程设计源码 词法分析,编译器,有可执行代码
c语言,Java,词法分析,词法分析界面,编译原理课程实验,这是完整的可运行源代码,是用intellij IDEA写的
编译原理词法分析C语言实现实验报告(含源码) 适合学生报告作参考 简单易懂
词法分析器功能:例如:对源程序begin x:=9: if x>9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列: (1,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)… 包含:C语言源码 + 实验报告 +相关说明文件
编译原理课程实验 词法分析器 c语言编写 包含完成源码和实验报告
算符优先词法分析器 算符优先词法分析器 算符优先词法分析器
基于C语言的词法分析器源码(编译原理作业).zip 基于C语言的词法分析器源码(编译原理作业).zip 基于C语言的词法分析器源码(编译原理作业).zip 【资源介绍】 该项目是编译原理作业,评审分达到95分,代码都经过调试...
编译原理词法分析器和语法分析器实验报告附源码.zip
(1)待分析的简单语言的词法 1) 关键字 begin if then while do end 2) 运算符和界符 := + - * / < <= > >= <> = ; ( ) # ...空格一般用来分隔ID、NUM、运算符、界符和关键字,词法分析阶段通常被忽略。
编译原理词法分析器实验报告含源代码,还有状态转换图。C语言实现
编译原理实验之词法分析器、LL(1)语法分析器、LR(1)语法分析器
编译原理实验 词法分析器 C++程序源码 全部为个人所写 复制粘贴即可运行
编译原理,包括词法分析器,语法分析程序,报错等
编译原理实验中的词法分析器,语法分析器,语义分析器等源码
这是编译原理的第一个实验,算是热身实验吧,确实很简单,花了一晚上就把词法分析器底层部分写完了,老师比较喜欢图形界面,后来又加了前端,也就是现在看到的效果。实验要求能够匹配出关键字、标记符、运算符、分界...
编译原理中的词法分析器,这个是java版,解压后使用开发工具打开就行