编译原理第八次作业
实验报告:基于Yacc/Bison的语法分析器设计
一.实验目的:
- 掌握Yacc/Bison工具的使用方法
- 理解上下文无关文法的设计
- 实现语法分析与词法分析的协同工作
二.实验过程:
说实话,这个参考了课本以及ai,因为完全都不懂,后面大概知道了是在干什么
首先先设计一个上下文无关文法:
点击查看代码
%token NUMBER
%left '+' '-'
%left '' '/'
expr: expr '+' expr
| expr '-' expr
| expr '' expr
| expr '/' expr
| '(' expr ')'
| NUMBER
;
点击查看代码
bison -d calc.y # 生成calc.tab.c和calc.tab.h
flex calc.l # 生成lex.yy.c
gcc calc.tab.c lex.yy.c -o calc -lm # 编译
./calc # 运行
结果:

fine,over。

浙公网安备 33010602011771号