- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 词法分析 第一阶段:保证构词的正确 输入:字符流 输出:单词流 分析的依据:词法规则 (如:标识符被定义为字母开头的字母数字串) 主要任务: 分离并输出单词(保证单词符合词法规则 ); 输出单词的值和种类。 构造符号表、常量表; 发现并报告词法错误。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 单词值 单词类型 position 标识符(id1) = 运算符(赋值) initial 标识符(id2) + 运算符(加) rate 标识符(id3) * 运算符(乘) 60 整数 ; 界符 例:position = initial + rate * 60; 词法分析(自动分词+词性标注) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例:position = initial + 3rate * 60 单词值 单词类型 position 标识符(id1) = 运算符(赋值) initial 标识符(id2) + 运算符(加) 3rate 错误 * 运算符(乘) 60 整数 词法分析(自动分词+词性标注) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2 语法分析 第二阶段:保证句子结构的正确 输入:单词流 输出:语法树 依据:语法规则 (如:S→if C S else S | if C S) 主要功能: 分析句子是否合乎语法规则; 输出语法树(保证句子的结构正确); 发现并报告语法错误。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 语法分析(自动句法分析) 语法规则(文法描述): 赋值语句 → 标识符 = 表达式 表达式 → 表达式 + 表达式 表达式 → 表达式 * 表达式 表达式 →(表达式) 表达式 → 标识符 表达式 → 整数 表达式 → 实数 例:position = initial + rate * 60 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 赋值语句 标识符 = 表达式 表达式 + 表达式 表达式 * 表达式 标识符 标识符 整数 语法分析(自动句法分析) 例:position = initial + rate * 60 分析过程: (分析树) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 语法分析(自动句法分析) 例:position = initial + rate * 60 分析结果: id1=id2+id3*N (结构正确的语法树) = + id1 (position) * id2 (initial) id3 (rate) N (60) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3 语义分析 第三阶段:保证句子含义的正确 输入:结构正确的语法树 输出:语义正确的语法树 依据:语义规则 (如实数和整数不能直接做+运算,需进行类型转换) 主要任务:进行类型审查,保证标识符和常量的正确使用,否则应报告错误。包括: 类型匹配 类型转换 Evaluation only. Created with Aspose.Slides fo
文档评论(0)