好文档 - 专业文书写作范文服务资料分享网站

PL0语言词法分析程序

天下 分享 时间: 加入收藏 我要投稿 点赞

PL/0语言词法分析程序

//这是我编译原理的一次作业,中间有许多不足之处希望大家指正 /*编写PL/0语言的词法分析程序 要求:

1、读入用PL/0语言编写的源程序,正确的进行词法分析,并输出二元式序列。 2、若源程序有词法错误,能够给出出错的准确位置。 3、词法代号如下 (+,+); (-,-); (*,*); (/,/); ((,(); (),)); (,,,); (;,;); (.,.); (#,#); (=,=); (>,>); (<,<); (:=,a); (>=,b); (<=,c); (数字,d); (标识符,e); 关键字代号: (begin,f);

(call,g); (const,h); (do,i); (end,j); (if,k); (odd,l); (procedure,m); (read,n); (then,o); (var,p); (while,q); (write,r);

4、等于运算符号为一个 = 测试程序: A.C

====================== CONST A=10; VAR B,C; PROCEDURE P; VAR D; PROCEDURE Q; VAR X; BEGIN READ(X); D:=X; WHILE X DO CALL P; END; BEGIN WRITE(D);

CALL Q; END; BEGIN CALL P; END. */

/*program name:chifufenxi*/ /*作者:小万 QQ:421404493*/ /*date:2004.10.11*/ #include #include #include #include #include

#define N 256//每一行的字符数不能超过256个

char buffer[N]; //用作存放一行字符 char word[20]; //用作存放经过分析单词

char

*kword[13]={\n\

char ktype[13]={'f','g','h','i','j','k','l','m','n','o','p','q','r'}; int len;//记录每一行的长度 int count=0;//用来记录行数

void write(char *wstr,char wc,FILE *wout)//将分析结果按照规则写入到文件 {

fputc('(',wout); fputs(wstr,wout); fputc(',',wout);

PL0语言词法分析程序

PL/0语言词法分析程序//这是我编译原理的一次作业,中间有许多不足之处希望大家指正/*编写PL/0语言的词法分析程序要求:1、读入用PL/0语言编写的源程序,正确的进行词法分析,并输出二元式序列。2、若源程序有词法错误,能够给出出错的准确位置。3、词法代号如下(+,+);(-,-);(*,*
推荐度:
点击下载文档文档为doc格式
152w021roq3cwgi893aj3uh255c6he00c6f
领取福利

微信扫码领取福利

微信扫码分享