`

【编译原理】一个词法分析器源码的剖析

 
阅读更多

一,词法分析器

作用:读取源程序的输入字符、将他们组成词素,生成并输出一个词法单元序列

二,设计原理

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')的情况

这个程序输出结果情况汇总:关键字、算术运算符、关系运算符、分割符号、特殊符号、注释符号、逻辑运算符、非法符号

三,程序源码



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics