词法的分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
词法的分析

词法的分析 本程序实现一个分析C语言的词法分析+语法分析。 注意: 1.文法简略,没有实现的部分,可以在此文法的基础上进行扩充,本程序的采用自顶向下的LL(1)文法。 2.可以自动实现求First 集和 Follow 集。 3.处终结符外(有些硬编码的成分),终结符的文法可以自定义,也就是说读者可以自定义文法。 4.为方便理解,C语言的文法描述写成中文。 5.程序将词法分析和语法分析结合起来,词法分析的结果作为语法分析的输入。 6.最终结果在控制台显示的有:词法分析、First集、Follow集、Select集,在preciateResult.txt 中写入了语法分析结果,在preciateTable.txt 中写入了预测分析表。 7.文法的词素之间必须有空格分开。 项目结构如下: 文法如下: wenfa.txt: [plain] 函数定义 - 修饰词闭包 类型 变量 ( 参数声明 ) { 函数块 } 修饰词闭包 - 修饰词 修饰词闭包 | $ 修饰词 - describe 类型 - type 取地址 取地址 - 星号闭包 星号闭包 - 星号 星号闭包 | $ 星号 - * 变量 - 标志符 数组下标 标志符 - id 数组下标 - [ 因式 ] | $ 因式 - ( 表达式 ) | 变量 | 数字 数字 - digit 表达式 - 因子 项 因子 - 因式 因式递归 因式递归 - * 因式 因式递归 | / 因式 因式递归 | $ 项 - + 因子 项 | - 因子 项 | $ 参数声明 - 声明 声明闭包 | $ 声明 - 修饰词闭包 类型 变量 赋初值 赋初值 - = 右值 | $ 右值 - 表达式 | { 多个数据 } 多个数据 - 数字 数字闭包 数字闭包 - , 数字 数字闭包 | $ 声明闭包 - , 声明 声明闭包 | $ 函数块 - 声明语句闭包 函数块闭包 声明语句闭包 - 声明语句 声明语句闭包 | $ 声明语句 - 声明 ; 函数块闭包 - 赋值函数 函数块闭包 | for循环 函数块闭包 | 条件语句 函数块闭包 | 函数返回 函数块闭包 | $ 赋值函数 - 变量 赋值或函数调用 赋值或函数调用 - = 右值 ; | ( 参数列表 ) ; 参数列表 - 参数 参数闭包 参数闭包 - , 参数 参数闭包 | $ 参数 - 标志符 | 数字 | 字符串 字符串 - string for循环 - for ( 赋值函数 逻辑表达式 ; 后缀表达式 ) { 函数块 } 逻辑表达式 - 表达式 逻辑运算符 表达式 逻辑运算符 - | | == | != 后缀表达式 - 变量 后缀运算符 后缀运算符 - ++ | -- 条件语句 - if ( 逻辑表达式 ) { 函数块 } 否则语句 否则语句 - else { 函数块 } | $ 函数返回 - return 因式 ; 词法分析头文件: LexAnalysis.h [cpp] //LexAnalysis.h #ifndef _LEXANALYSIS_H #define _LEXANALYSIS_H //关键字 #define AUTO 1 #define BREAK 2 #define CASE 3 #define CHAR 4 #define CONST 5 #define CONTINUE 6 #define DEFAULT 7 #define DO 8 #define DOUBLE 9 #define ELSE 10 #define ENUM 11 #define EXTERN 12 #define FLOAT 13 #define FOR 14 #define GOTO 15 #define IF 16 #define INT 17 #define LONG 18 #define REGISTER 19 #define RETURN 20 #define SHORT 21 #define SIGNED 22 #define SIZEOF 23 #define STATIC 24 #define STRUCT 25 #define SWITCH 26 #define TYPEDEF 27 #define UNION 28 #define UNSIGNED 29 #define VOID 30 #define VOLATILE 31 #defi

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档