编译原理题目总结 |
您所在的位置:网站首页 › 编译原理及实现第二版课后答案 › 编译原理题目总结 |
目录
NFA转换DFA化简DFA识别单词的DFA词法分析阶段的错误处理
**回溯的消除****提取左因子****消除左递归**消除间接左递归
第三章用状态转换图识别字符串relop的状态转换图的概要实现作业3前缀、后缀、真前缀、子串和子序列语言上的运算正则表达式与语言P53
第五章
NFA转换DFA
eg:将下图NFA M确定化。 生成DFA M的初态ε-Closure({0})={0,2,3}。重新命名生成的各个状态:{0,2,3}为0,{1}为1,{2,3}为2,{3}为3。由于{0,2,3}、{2,3}和{3}中均包含M中的终态3,因此0、2、3为M’的终态。 eg:化简DFA。 ![]() ![]() ![]() ![]() 词法错误检测 如果当前状态与当前输入符号在转换表对应项中的信息为空,而当前状态又不是终止状态,则调用错误处理程序 错误处理 查找已扫描字符串中最后一个对应于某终态的字符 如果找到了,将该字符与其前面的字符识别成一个单词。 然后将输入指针退回到该字符,扫描器重新回到初始状 态,继续识别下一个单词如果没找到,则确定出错,采用错误恢复策略 错误恢复策略 最简单的错误恢复策略:“恐慌模式 (panic mode)”恢复 :从剩余的输入中不断删除字符,直到词法分析器能够在剩余输入的开头发现一个正确的字符为止 回溯的消除 提取左因子若有A→αβ1|αβ2|…|αβ1|γ,其中γ不是以α开头的候选式,则A的产生式规则可替换为A→αA‘|γ,A’→β1|β2|…|βn。A’是一个新的非终结符号。 ![]() ![]() 1)对文法G的非终结符号按任一种顺序排列成A1,A2,…,An。 2)依次对各非终结符号对应的产生式进行左递归的消除: for(j=1;j |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |