首页 / 软件开发 / C++ / 一个小语言的词法分析程序
一个小语言的词法分析程序2010-01-24 VC知识库 loyalzu前些天写了个小语言的词法分析程序,因为前些天在VC知识库看到一个pascal词法分析的程序,觉得写得挺复杂的。其实词法分析程序的原理都是一样的,所以我想只要搞明白了简单的词法分析程序,再写复杂的就不难了,无非是多加几个关键字,多写几个条件判断语句而已。词法分析是编译程序的基础,也是最简单的。好,现在让我们看程序吧。先让我们看看这个小语言的文法吧。G[<程序>]:<程序>∷=<程序首部>;<分程序>.<程序首部>∷=program<标识符><分程序>∷=<复合语句><复合语句>∷=begin<语句序列>end<语句序列>∷=<语句>{;<语句>}<语句>∷=<赋值语句>|<复合语句>|<条件语句><赋值语句>∷=<标识符>:=<表达式><条件语句>∷=if <布尔表达式> then <语句> else <语句><表达式>∷=<项>{(+|-)<项>}<项>∷=<因式>{(*|/)<因式>}<因式>∷=<标识符>|<无正负号常量>|’(’<表达式>’)’<布尔表达式>∷=<表达式><关系运算符><表达式><关系运算符>∷= =|<|<=|>|>=|<><标识符>∷=<字母>{<字母>|<数字>}<无正负号常量>∷=<数字>{<数字>}[.<数字>{<数字>}]<字母>∷=a|b|c|d|e|f|g|……|u|v|w|x|y|z<数字>∷=0|1|2|3|4|5|6|7|8|9