资源简介
编译原理课程设计,改进书后附录的pl0程序,c语言版:
1.扩充语句for(<语句>;<条件>;<语句>)<语句>
2.扩充语句if <条件> then <语句> else <语句>
3.扩充语句repeat <语句>;until <条件>
4.增加自增自减运算++和—和+=,-=运算
5.修改不等号#,为!=
6.增加一维数组,声明格式:<ident>[<ident>/<number>:<ident>/<number>];
赋值格式:<ident>[<index>]:=<表达式>;
调用格式:<ident>[<index>]
包括源代码,测试文件,课设报告,环境:vc6.0
代码片段和文件信息
#include
#include
#include “pl0.h“
#define stacksize 500
int main()
{
bool nxtlev[symnum];
printf(“Input pl/0 file?“);
scanf(“%s“ fname);
fin = fopen(fname “r“);
if(fin)
{
printf(“List object code? (Y/N)“);
scanf(“%s“ fname);
listswitch = (fname[0] == ‘y‘ || fname[0] == ‘Y‘);
printf(“List symbol table? (Y/N)“);
scanf(“%s“ fname);
tableswitch = (fname[0] == ‘y‘ || fname[0] == ‘Y‘);
fa1 = fopen(“fa1.tmp“ “w“);
fprintf(fa1 “Input pl/0 file?“);
fprintf(fa1 “%s\n“ fname);
init();
err = 0;
cc = cx = ll = 0;
ch = ‘ ‘;
if(-1 != getsym())
{
fa = fopen(“fa.tmp“ “w“);
fas = fopen(“fas.tmp“ “w“);
addset(nxtlev declbegsys statbegsys symnum);
nxtlev[period] = true;
if(-1 == block(0 0 n
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 103 2009-07-17 04:56 final\Debug\6.txt
文件 239 2009-07-17 05:14 final\Debug\7.txt
文件 33384 2009-07-17 05:33 final\Debug\BuildLog.htm
文件 927 2009-07-17 05:33 final\Debug\fa.tmp
文件 329 2009-07-17 05:33 final\Debug\fa1.tmp
文件 9 2009-07-17 05:33 final\Debug\fa2.tmp
文件 53 2009-07-17 05:33 final\Debug\fas.tmp
文件 67 2009-07-17 05:33 final\Debug\mt.dep
文件 74049 2009-07-17 05:33 final\Debug\pl0.obj
文件 54272 2009-07-17 05:33 final\Debug\testarray.exe
文件 663 2009-07-17 05:33 final\Debug\testarray.exe.em
文件 728 2009-07-17 05:33 final\Debug\testarray.exe.em
文件 621 2009-07-17 05:33 final\Debug\testarray.exe.intermediate.manifest
文件 346208 2009-07-17 05:33 final\Debug\testarray.ilk
文件 429056 2009-07-17 05:33 final\Debug\testarray.pdb
文件 27648 2009-07-17 05:33 final\Debug\vc90.idb
文件 53248 2009-07-17 05:33 final\Debug\vc90.pdb
文件 28276 2009-07-17 05:33 final\pl0.c
文件 4125 2009-07-17 05:23 final\pl0.h
文件 41 2008-06-03 10:48 final\test\1.txt
文件 84 2009-07-17 04:51 final\test\2.txt
文件 97 2008-06-10 08:42 final\test\3.txt
文件 133 2009-07-17 04:48 final\test\4.txt
文件 135 2008-06-10 13:06 final\test\5.txt
文件 103 2009-07-17 04:56 final\test\6.txt
文件 239 2009-07-17 05:14 final\test\7.txt
文件 927 2009-07-17 05:23 final\test\fa.tmp
文件 329 2009-07-17 05:14 final\test\fa1.tmp
文件 9 2009-07-17 05:14 final\test\fa2.tmp
文件 22 2009-07-17 05:14 final\test\fas.tmp
............此处省略13个文件信息
- 上一篇:操作系统信号量PV经典问题:读者写者
- 下一篇:五个简单的C++课程设计
相关资源
- 编译原理课程设计C语言子集
- 编译原理实验,包括词法分析、语法
- 文法分析 编译原理
- 编译原理课程设计 使用lex和yacc
- 编译原理 语义分析及中间代码生成
- 利用LEX自动生成词法分析程序
- 编译原理课程设计-词法分析
- 编译原理扫描程序
- 编译原理课程设计代码+报告
- 布尔表达式转换为四元式
- 张素琴编译原理课后附录C语言版
- 河北工业大学编译原理实验报告
- 编译原理上机实习小子集的实现
- 编译原理实验查填符号表
- 编译原理词法分析C语言实现实验报告
- 编译原理 LL1分析方法 源代码C++
- 预测分析表 语法分析
- 小型编译器编译原理课设
- 编译原理实验报告PL/0语言功能扩充
- 编译原理课程设计,源码+报告
- 编译原理课程设计-FOR循环 递归下降法
- 编译原理 C编译器
- 南京工业大学 编译原理课程设计 含详
- 词法分析程序的设计与实现
- LL1文法分析c语言代码
- C_minus语言词法分析器的设计
- 编译原理简单的词法分析器
- 编译原理逆波兰式分析法源码
- LL1文法分析报告
- 编译原理 查填符号表 含源码和运行结
评论
共有 条评论