编译原理的问题

首先说下我的理解,编译器编译程序的过程是词法分析,语法分析,语义分析及中间代码生成,目标代码生成。
在词法分析的过程中,对不同的代码段要有不同的正规式与其对应,也就是有不同的词法分析代码
在语法分析的过程中,不同的代码段要有不同的文法与其对应,也就是有不同的语法分析代码段。
不知道我这样理解对不对?
如果对的话,那么怎么知道这段程序应该针对哪个文法,哪个正规式呢?总不能将所有可能情况都列举出来,来个穷举吧。
如果不对的话,应该是怎么样的呢?
急,在线等。谢谢。

第1个回答  2009-06-02
编译程序的工作过程通常是词法分析、语法分析、语义分析、代码生成、代码优化,代码优化不是必须的,其他过程都是必须的。
我认为你是不是把顺序没有理解?
源码经过的过程是:词法分析、语法分析、语义分析、代码生成、代码优化。
那么,在得到相应文法的时候,先判定是否是LR(0),SLR(1),LALR(1),LR(1)等等文法。判定规则不赘述,(想必你的教材或辅导书上是列举了每个文法的特性… …)然后进行相应的文法分析。
而正规式是属于词法分析时的描述工具。表达的是字母表上特殊的符号串的集合,而这项能力是由正规式所对应的正规集表现出来的。①由正则表达式构造确定化的有穷自动机;②确定的有穷自动机的最小化;③词法分析程序的设计.
相似回答
大家正在搜