下载此文档

的联合使用实验报告.docx


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
的联合使用实验报告.docx《编译原理》课程实验报告
题目 lex yacc 的联合使用
专业
班级
学号
姓名

首先要修改 .l 文件的代码,再把此文件用 lex 运行,即词法分析部分用 lex 完成;然后是修改文件, 尽管有参照的代码, 但是要自己实现能对整数和实数进行带变量的四则运算,对于还没有完全掌握 .y 文件编写的我还是太有难度了,
自己先是完成了只对实数的运算, 也能运行,但只要添加上实数就会出错, 研究
了很久,还是没有找出来哪里还有错误;有时候也会出现用 yacc 运行没错误,但用 c-free 运行就会出错,提示说 .h 文件有错误,找了半天,也修改了很多。却仍然不知道哪里有错。
总的来说,虽然没有完成最终的目的,但是我已经尽力了。
. 实验结果(关键源代码)文件代码:
%option noyywrap
DIGIT[0-9]
ID[a-zA-Z][a-zA-Z0-9]*
%{
#include<>
%}
%%
{DIGIT}+"."{DIGIT}* { return NUM;}
"/*"[^}\n]*"*/" printf("33 \n");
"^"
printf("34
%s\n",yytext);
"+"
printf("35
%s\n",yytext);
"-"
printf("36
%s\n",yytext);
"*"
printf("37
%s\n",yytext);
"/"
printf("38
%s\n",yytext);
"("
printf("39
%s\n",yytext);
")"
printf("40
%s\n",yytext);
"["
printf("41
%s\n",yytext);
"]"
printf("42
%s\n",yytext);
"{"
printf("43
%s\n",yytext);
"}"
printf("44
%s\n",yytext);
double
{ return DOUBLE;}
EOF
{ return 0;}
{ID}
{ return ID;}
.
%%

printf("100 %s\n",yytext);
main(void)
{
yylex();
}
文件代码:
/* 带 整数 int 和实数 double 变量声明的加减乘除四则运算 */
%{
#include <>
#include <>
#include <>
#include <>
#include ""
extern char yytext[20];
extern SYMREC *sym_table;

的联合使用实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人飞行的优优
  • 文件大小18 KB
  • 时间2022-02-11
最近更新