文法设计(编译原理)

设计一个标准化试卷的文法
1.试卷有试卷头
2.试卷中有填空题,选择题,判断题
3.每类题型可以有若干个小题
4.选择题的可选项均为4个

最好还能详细讲下审题思路,回答满意的加50分
...不懂的就不要发了 谢谢

第1个回答  2009-03-19
IDE之所以能够语法着色,是因为IDE环境带有词法分析功能,然后根据词法分析结果分别用不同颜色来显示代码。要放到网页上也带有语法着色,就需要做一个词法分析器。

词法分析器其实很简单,不过很繁琐。技术含量不高,但是工作量比较大。

我做过C++代码的词法分析器,用VC做的,用于模拟魔兽地图编辑器的那种游戏引擎的脚本设计系统。

总体思路,其实,词法分析就是把一个一个的单词分开,有现成的词法分析代码生成工具,比如LEX。不过,自己动手写一个也不难,说白了,他就是一个有穷自动机。

要实现你所说的功能,就是将输入的代码进行词法分析之后,根据词法分析的结果,将token(就是正确断字后的单词)分别用不同的颜色描述出来。其实就是在token的前后插入HTML语言的颜色控制代码。

比如:
输入:if( a = b )
分析过程:[/keyword]if[/keywordend][/operator]([/operatorend][/ident]a[/identend][/operator]=[/operatorend][/ident]b[/ident][/operator])[/operatorend]
输出:[/textcolor:00ff0000]if[/textcolor] .............
相似回答