云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理实验报告(词法分析器语法分析器)

编译原理实验报告(词法分析器语法分析器)

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 20:13:03

..

else return(0); }

void main() {

printf(\ i=0; do{i=i+1;

scanf(\ }while(a[i]!='#'); i=1;

j=0; get();

while(s!='#'){ memset(token,0,20); switch(s) {

case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':

while(letter(s)||digit(s)) {token[j]=s;

word 资料

..

j=j+1; get(); }

retract();k=lookup(token); if(k==0)

printf(\ else printf(\ break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':

while(digit(s)){ token[j]=s; j=j+1; get(); }

retract();

printf(\ break;

case '+':printf(\ case '-':printf(\ case '*':printf(\ case '<':get();

if(s=='=') printf(\ else{retract();

printf(\ }

break; case '=': get(); if(s=='=')

printf(\ else{

retract();

printf(\ }

break;

word 资料

..

case ';':

printf(\ break;

case ' ':break;

default:printf(\ } j=0; get(); } }

六:实验结果:

实验二

一、 实验名称:语法分析器的设计 二、 实验目的:

用C语言编写对一个算术表达式实现语法分析的语法分析程序,并以四元式的形式输出,以加深对语法语义分析原理的理解,掌握语法分析程序的实现方法和技术。 三、 实验原理:

word 资料

..

1、算术表达式语法分析程序的算法思想

首先通过关系图法构造出终结符间的左右优先函数f(a),g(a)。在分析的过程中,通过左右优先函数比较当前读入终结符与前一个读入终结符间的优先关系,分析后适时的以四元式形式输出相关的符号。

2、通过优先函数关系图构造优先函数

优先函数表

f g + 4 3 * 6 5 i 6 7 ( 2 7 ) 6 2 优先函数关系图

四、实验容: 1、实验分析

f+ f* fi f( f) g+ g* gi g( g) 本实验所用文法是: G[E]:E->E+E|E-E|E*E|E/E|(E)

E->0|1|2|3|……|9

根据此文法编写程序时,算术表达式的求解过程需要用到算术符号的优先判断,定义两个字符串数组optr[]、opnd[]用来模拟栈,存放算术符和操作数,用a[]来存放表达式字符串,在分析时还要通过函数int f(char c)和int g(char c),判断运算符之间的优先关系,根据不同情况作各种不同操作。流程图如下:

word 资料

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

.. else return(0); } void main() { printf(\ i=0; do{i=i+1; scanf(\ }while(a[i]!='#'); i=1; j=0; get(); while(s!='#'){ memset(token,0,20); switch(s) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com