资源简介
简单的C编译器,为课程设计,仅供参考,欢迎拷贝!!
代码片段和文件信息
#include“global.h“
#include“parse.h“
#include“util.h“
#include“scan.h“
#define NO_PARSE FALSE
int lineno=0;
FILE *sourcefile; // 输入文件存放要编译的代码
FILE *listingfile; // listing 文件存放scan后的Token和Parse树
FILE *codefile; // code file存放生产的代码
char global_scope[255]; // 范围变量,控制变量在程序中的范围
int EchoSource=TRUE;
int TraceScan=TRUE;
int TraceParse=TRUE;
int TraceAnalyze=TRUE;
int TraceCode=TRUE;
int Error=FALSE;
int main(int argcchar * argv[])
{
TreeNode * syntaxTree;
char pgm[20]=“in“;
char pgm2[20]=“out“;
/* if(argc!=3)
{
fprintf(stderr“usage: %s \n“argv[0]);
exit(1);
}*/
// strcpy(pgmargv[1]);
// strcpy(pgm2argv[2]);
if(strchr(pgm‘.‘)==NULL)
strcat(pgm“.txt“);
if(strchr(pgm2‘.‘)==NULL)
strcat(pgm2“.txt“);
sourcefile=fopen(pgm“r“);
listingfile=fopen(pgm2“w“);
fprintf(listingfile“GetTokening from %s :\n\n“pgm);
/*TokenType token;
token=getToken();
printf(“%d\n“token);*/
#if !NO_PARSE
while(getToken().type!=ENDFILE);
#else
fprintf(listingfile“parse......................\n“);
syntaxTree=parse();
// printf(“%d\n“syntaxTree->name);
fprintf(listingfile“\nsyntaxtree........\n\n\n“);
printTree(syntaxTree);
#endif
/* TokenType token=RETURN;
char tokenString[20];
strcpy(tokenString“return“);
TreeNode *t;
t=newExpNode(OpKtokentokenString);
printTree(t);*/
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 112 2008-05-09 15:50 MyCMinus\Debug\in.txt
文件 5418 2008-06-28 18:07 MyCMinus\Debug\main.obj
文件 204856 2008-06-28 18:07 MyCMinus\Debug\MyCMinus.exe
文件 221496 2008-06-28 18:07 MyCMinus\Debug\MyCMinus.ilk
文件 238104 2008-06-28 18:07 MyCMinus\Debug\MyCMinus.pch
文件 508928 2008-06-28 18:07 MyCMinus\Debug\MyCMinus.pdb
文件 542 2008-06-28 18:11 MyCMinus\Debug\out.txt
文件 40828 2008-05-09 15:47 MyCMinus\Debug\parse.obj
文件 15015 2008-05-09 15:47 MyCMinus\Debug\scan.obj
文件 30028 2008-05-09 15:55 MyCMinus\Debug\util.obj
文件 41984 2008-06-28 18:07 MyCMinus\Debug\vc60.idb
文件 53248 2008-06-28 18:07 MyCMinus\Debug\vc60.pdb
文件 3043 2008-05-09 15:46 MyCMinus\global.h
文件 93 2008-05-09 15:39 MyCMinus\in.txt
文件 1499 2008-06-28 18:07 MyCMinus\main.cpp
文件 4727 2008-05-08 15:40 MyCMinus\MyCMinus.dsp
文件 541 2008-05-08 14:45 MyCMinus\MyCMinus.dsw
文件 58368 2008-06-28 18:08 MyCMinus\MyCMinus.ncb
文件 48640 2008-06-28 18:08 MyCMinus\MyCMinus.opt
文件 1423 2008-06-28 18:07 MyCMinus\MyCMinus.plg
文件 377 2008-06-28 18:07 MyCMinus\out.txt
文件 18361 2008-05-09 15:27 MyCMinus\parse.cpp
文件 110 2008-05-08 15:07 MyCMinus\parse.h
文件 6892 2008-05-09 15:47 MyCMinus\scan.cpp
文件 366 2008-05-08 14:53 MyCMinus\scan.h
文件 7593 2008-05-09 15:55 MyCMinus\util.cpp
文件 801 2008-05-08 15:30 MyCMinus\util.h
目录 0 2008-06-28 18:11 MyCMinus\Debug
目录 0 2008-06-28 18:08 MyCMinus
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- FTP课程设计(服务端+客户端)
- 微软masm汇编编译器
- 类pascal语言编译器(编译原理实验)
- 高频电子线路课程设计报告收音机
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- 单片机课程设计 篮球计分器
- 数据结构课程设计 6 1 彩票系统
- 端口扫描课程设计详细的报告
- 步进电机课程设计(个人设计)
- 校园网络规划与设计课程设计
- 编译原理课程设计:词法语法编译器
-
simuli
nk 课程设计 qpsk - 武汉理工大学 单片机课程设计 16*16点
- 数据库VFP课程设计
- 分页系统模拟实验 操作系统 课程设
- 模拟段页式虚拟存储管理中地址转换
- 硬件课程设计—流水灯(quartus软件
- 超市收银系统eclipse access大学课程设计
- 航空订票系统_数据结构课程设计
- c 课程设计 职工信息管理系统
- 汇编语言,课程设计,红绿灯
- 机床液压系统课程设计卧式钻床动力
- 课程设计蔬菜大棚自动控制系统,包
- 密码学课程设计:DES加密解密算法的
- 操作系统课程设计完整版
- 汇编语言编译器masm5.0
- 磁盘调度算法的模拟实现及对比
- PL/0功能扩充break功能
- 数据库课程设计以及指导思想
评论
共有 条评论