编译原理的一些总结
词法分析
把编写的代码字符串按照一定的规则识别为一个个的token,即变成小的字符串。这里会根据正则表达式进行识别,为了编码方便,先把正则表达式变成NFA有穷自动机,然后再变成DFA无穷自动机,最后按照DFA进行编码,对字符串进行识别。
语法分析
把词法分析得出来的字符串token,组合起来,变成一颗语法树,如果去构建语法树呢,需要去设计合适的文法,以及使用一系列的语法分析技术。
语法制导的翻译
计算和分析语法分析得出的语法树上的每个节点的综合属性和继承属性。定义一些语义动作来对各个节点上的属性进行处理。
中间代码生成
源语言->中间代码->目标语言。根据语法制导翻译对声明赋值表达式控制流进行翻译,并通过回填技术对地址进行填写,最后翻译成中间代码,中间代码使用三元式和四元式表示。
运行时刻环境
讲述了运行时动态存储和静态存储的规则,堆栈存储,全局非全局数据存储和符号表
网友评论