- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章:语法分析 递归下降法 1.1 递归下降法的基本原理 递归下降法(Recursive-Descent Parsing) 对每个非终极符构造相应的一个子程序(称为语法分析子程序),其功能是识别、分析该非终极符所能推导出的字符串. 1.2 对文法的要求 为了保证推导的唯一性,对文法的要求与LL(1)文法相同。即对于文法G中任一非终极符A,其任意两个产生式A??和A??,都要满足下面条件: Predict(A??)?Predict(A??)=? 2.语法分析程序的构造 两个标准函数 ReadToken:把输入流的头符读入变量 token中 Match(a): if token=a then ReadToken else 出错 2.语法分析程序的构造 当产生式形如:A??1|?2|…|?n,则按下面的方法编写子程序A: procedure A( ) begin if token?Predict(A??1) then ?(?1) else if token?Predict(A??2) then ?(?2) else …… if token?Predict(A??n) then ?(?n) else error( ) end 其中对?i=X1X2…Xn,?(?i)=?(X1);?(X2);…;?(Xn); 如果X?VN,?(X)= X(); 如果X?VT,?(X)= Match(X); //即if(token==X)ReadToken(); 如果X= ?,?(?) = skip(空语句). 2.语法分析程序的构造 主程序: void main(){ ReadToken(); S( ); if (token==#) 成功; else 失败 } 2.语法分析程序的构造 具体构建流程 给定一个文法G 求每条规则的Predict集 写针对每个非终极符的函数 写主函数 例: E? ? T E’ E’ ? + T E’ | ? T ? F T’ T’ ? * F T’ | ? F ? i | ( E ) procedure E’ ( ) begin if token=“+” then Match(+); T; E’ else if token? { ) , # } then skip else err( 2 ) end; procedure T’ ( ) begin if token=“ * ” then Match( * ); F; T’ else if token? { +,) , # } then skip else err( 4 ) end; procedure F ( ) begin if token=“ i” then Match( i ) else if token=“(” then Match( ( ); E; Match( ) ) else err( 5 ) end; * * 例如:一条产生式: While_Stm→while Exp do Stm 则对应产生式右部的
您可能关注的文档
- 南京加州二期TH-S4新中式软装方案.ppt
- 力士闪冰店内路演活动周小结.ppt
- 明日导航后台管理设计演示文稿.ppt
- 绿环区国际规划设计中标方案.ppt
- 蒙牛纯甄像素大战路演活动总结报告.ppt
- 天马相城楼顶招商资料模板.ppt
- 新浪财经G20峰会招商方案.ppt
- 语法分析文法与语言形式语言基础教学课件.ppt
- 注册监理工程师工程建设监理案例分析讲义.ppt
- 2.2生命活动的主要承担者蛋白质完整课件.ppt
- 建筑设计产品策划专题.pptx
- 基于教育云平台的教学资源整合模式对初中历史教学效果的影响教学研究课题报告.docx
- 教学实践:在线学习社区教师数字能力提升的实践探索研究教学研究课题报告.docx
- 《数字化设计与制造一体化在模具制造中的模具模具加工创新研究》教学研究课题报告.docx
- 初中历史事件智能题库构建与个性化时空认知能力培养课题报告教学研究课题报告.docx
- 初中英语写作中逻辑连接词的语用能力培养研究课题报告教学研究课题报告.docx
- 汉字部首演变揭示的古代天文观测课题报告教学研究课题报告.docx
- 中职会计教学中财务软件应用能力培养方案课题报告教学研究课题报告.docx
- 小学书法课程教学中的学生情感态度价值观教育研究教学研究课题报告.docx
- 初中英语写作中让步逻辑连接词使用错误分析课题报告教学研究课题报告.docx
原创力文档


文档评论(0)