flex和bison设计计算器的课设环境部署
时间: 2023-12-06 13:04:29 浏览: 111
要使用flex和bison来设计计算器的课设,你需要先安装它们的环境。
以下是在Linux环境下安装的步骤:
1. 安装flex和bison
在终端中执行以下命令:
```bash
sudo apt-get update
sudo apt-get install flex
sudo apt-get install bison
```
2. 创建计算器项目
创建一个新的文件夹,例如“calculator”,在其中创建两个文件:“calculator.l”和“calculator.y”。
3. 编写.lex文件
在“calculator.l”文件中,你将定义所有的词法规则。在本例中,你可以使用以下代码:
```c
%{
#include "y.tab.h"
%}
%%
[0-9]+ { yylval = atoi(yytext); return NUMBER; }
[-+*/\n] { return yytext[0]; }
. { printf("Mystery character %c\n", *yytext); }
%%
int yywrap(void) {
return 1;
}
```
4. 编写.y文件
在“calculator.y”文件中,你将定义所有的语法规则。在本例中,你可以使用以下代码:
```c
%{
#include <stdio.h>
#include <stdlib.h>
%}
%token NUMBER
%%
line: expr '\n' { printf("= %d\n", $1); }
| '\n' { }
;
expr: expr '+' expr { $$ = $1 + $3; }
| expr '-' expr { $$ = $1 - $3; }
| expr '*' expr { $$ = $1 * $3; }
| expr '/' expr { $$ = $1 / $3; }
| '(' expr ')' { $$ = $2; }
| NUMBER { $$ = $1; }
;
%%
int main(void) {
return yyparse();
}
int yyerror(const char *s) {
printf("error: %s\n", s);
return 0;
}
```
5. 编译和运行
在终端中,进入“calculator”文件夹并执行以下命令:
```bash
flex -o calculator.lex.c calculator.l
bison -d -o calculator.y.tab.c calculator.y
gcc -o calculator calculator.lex.c calculator.y.tab.c -lfl
```
然后,你可以运行计算器:
```bash
./calculator
```
现在你的计算器已经准备好使用了!
阅读全文