编译原理(词法分析器)

C语言ide

词法分析优化

------介绍------设计

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

什么是词法分析器3d

词法分析器,又称扫描器,输入源程序,进行词法分析,输出单词符号。词法分析是编译程序工做中的一部分,编译程序通常能够划分为5个阶段:blog

 

词法分析it

编译

语法分析程序设计

class

语义分析与中间代码产生语法

代码优化

目标代码生成

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

------设计------

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

程序设计

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

此为简化版词法分析器

总体设计思路为

定义单词和其对应的种别码

将用户输入的源代码逐个读取

与定义的单词进行比较

遇到空格或注释符号则做相应的调过操做

对于没法识别的字符作出相应的报错处理

最后将结果输出在屏幕。

 

关键字

if、int、for、while、do、return、break、continue等等;单词种别码为1。

标识符

用户定义的不与关键字相同的单词都识别为标识符;单词种别码为2。

运算符

+、-、*、/、=、>、<等;能够考虑更复杂状况>=、<=、!= ;单词种别码为4。

分隔符

“,” “;” “(” “)” “{” “}”等;单词种别码为5。

 

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

效果预览

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

 

 

 

 

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

END

 

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=