读书人

词法分析解决方案

发布时间: 2012-02-28 13:06:36 作者: rapoo

词法分析
题目:用C++编写
1、 根据词法构造的正规文法或有穷自动机原理,对输入源程序的字符流进行扫描和分解。对输入源程序的说明部分为各种表格和变量安排空间。
2、 根据单词和符号的分类规定,识别出各种单词和符号。
单词和符号一般分为以下5类:
1) 基本字;
2) 标识符;
3) 常数;
4) 运算符;
5) 界符。
3、 输出识别结果为二元式数组,二元式:(单词类别,单词自身的值)。
注:对于单词类别为变量的,单词自身的值应说明为该变量的符号表入口。


那个根据什么有穷自动机原理,好像一点都没啥用啊,直接编程序分析根据单词和符号输出,这里是有什么实质作用的
网上全是C语言的例子,谁有C++的例子,谢谢分享下,自己写起来实在很乱

[解决办法]
Lz学过编译原理没有?
有穷自动机怎么没有用呢?词法分析最典型的原理就是将正规表达式转换为有穷自动机(DFA).
然后根据DFA生成词法分析器的代码,实际就是Lex的用法了.
当然不用DFA完全可以实现词法分析器,只不过不够清晰,而且会把自己搞晕,最常见的是遗漏一些匹配.
如果没有学过编译原理,Lz可要花费些精力了.

读书人网 >C++

热点推荐