type
status
category
date
slug
summary
tags
icon
Last edited time
May 21, 2023 07:57 AM
源文件地址实验要求实验原理输入设计输出设计完成效果过程步骤一、附录中所给的源文件二、去掉tiny.y中yylex方法三、输入bison -v tiny.y四、输入命令五、修改y.tab.c将yychar=yylex()修改成yychar=getToken()六、输入make命令进行构建 七、将sample.tny作为输入执行tiny.out文件实验报告
源文件地址
实验要求
运用YACC,针对TINY语言,构造一个语法分析器
实验原理
查找资料可知yacc产生的子程序在申请读入下一个单词时会调用yylex()。yylex()返回一 个单词符号,并将相关的属性值存入全局量yylval
为了联用 lex 和 yacc,需要在运行 yacc 程序时加选项-d,以产生文件 y. tab. h,其中 会包含在 yacc 描述文件中(由% tokens 定义)的所有单词种别。文件 y. tab. h将被包 含在 lex 描述文件中。
输入设计
输出设计
完成效果

过程步骤
一、附录中所给的源文件

二、去掉tiny.y中yylex方法

三、输入bison -v tiny.y
生成tiny.output文件
LR分析表

四、输入命令
lex tiny.l
yacc -d tiny.y
生成

五、修改y.tab.c将yychar=yylex()修改成yychar=getToken()


六、输入make命令进行构建
生成tiny.out可执行文件
七、将sample.tny作为输入执行tiny.out文件

实验报告
- 作者:Jimmy Huang
- 链接:https://huangjihao.com/a301ead0-59bf-4d46-ab79-8bcd7b08972f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。