资源简介
吉林大学2015年编译原理实验源代码,包括词法分析,LL1分析,递归下降法分析,语义分析
代码片段和文件信息
// CiFa.cpp: implementation of the CCiFa class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “OurCompiler.h“
#include “CiFa.h“
#include “Global.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCiFa::CCiFa()
{
}
CCiFa::~CCiFa()
{
}
void CCiFa::Init()
{
Tokennum=0;
lineno=0;
linepos = 0;
Error = FALSE;
fp_num=0;
bufsize = 0;
EOF_flag = FALSE;
EchoSource = TRUE;
}
void CCiFa:: printTokenlist(ChainNodeType *head)
{
//TokenType1 newhead->Token;
int m;
ChainNodeType *newhead=head;
// strcpy(newhead->Token.Semnewhead->Token.Sem);
// newhead->Token.Lex=newhead->Token.Lex;
// newhead->Token.lineshow=newhead->Token.lineshow;
fp=fopen(“Tokenlistnew.txt““w+“); /*打开文件*/
if(fp==NULL)
{
// printf(“can not open the file:Tokenlist!\n“);
// Error = TRUE;
//exit(0);
}
listing=fp;
for (m=1;newhead!=NULL;m++)
{
fprintf(listing“\t%d: “newhead->Token.lineshow);/*打印行号*/
/* 对函数参数Lex给定单词进行分类处理 */
switch (newhead->Token.Lex)
{
/* 单词token为保留字将保留字词元以指定格式写入列表文件listing */
case PROGRAM:
case PROCEDURE:
case TYPE:
case VAR:
case IF:
case THEN:
case ELSE:
case FI:
case INTEGER:
case CHAR1:
case WHILE:
case DO:
case ENDWH:
case BEGIN:
case END:
case READ:
case WRITE:
case ARRAY:
case OF:
case RECORD:
case RETURN:
fprintf(listing /*打印保留字*/
“reserved word: %s\n“newhead->Token.Sem);
break;
//“:=“
case ASSIGN: fprintf(listing“:=\n“); break;
//LT (小于)
case LT: fprintf(listing“<\n“); break;
//EQ (等于)
case EQ: fprintf(listing“=\n“); break;
//LPAREN (左括号)
case LPAREN: fprintf(listing“(\n“); break;
/* RPAREN (右括号) */
case RPAREN: fprintf(listing“)\n“); break;
/*SEMI (分号)*/
case SEMI: fprintf(listing“;\n“); break;
/* PLUS (加号) */
case PLUS: fprintf(listing“+\n“); break;
/* MINUS (减号) */
case MINUS: fprintf(listing“-\n“); break;
/* TIMES (乘号) */
case TIMES: fprintf(listing“*\n“); break;
//OVER (除号)
case OVER: fprintf(listing“/\n“); break;
case DOT: fprintf(listing“.\n“); break;
case COMMA: fprintf(listing“\n“); break;
case LMIDPAREN: fprintf(listing“[\n“); break;
case RMIDPAREN: fprintf(listing“]\n“); break;
case UNDERANGE: fprintf(listing“..\n“); break;
case ENDFILE1: fprintf(listing“EOF\n“); break;
case INTC:
fprintf(listing
“NUM val= %s\n“newhead->Token.Sem);
break;
case CHARC:
fprintf(listing
“INCHAR char=%c\n“newhead->Token.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-04-22 09:27 编译原理实验\
文件 24054 2015-04-20 16:40 编译原理实验\1111.ico
文件 15748 2013-03-31 22:27 编译原理实验\CiFa.cpp
文件 1265 2013-03-31 22:27 编译原理实验\CiFa.h
目录 0 2015-04-20 21:40 编译原理实验\Debug\
文件 28921 2015-04-20 06:44 编译原理实验\Debug\CiFa.obj
文件 0 2015-04-20 06:44 编译原理实验\Debug\CiFa.sbr
文件 13312 2015-04-20 06:44 编译原理实验\Debug\FileDlg.obj
文件 0 2015-04-20 06:44 编译原理实验\Debug\FileDlg.sbr
文件 7750 2015-04-20 06:44 编译原理实验\Debug\Global.obj
文件 0 2015-04-20 06:44 编译原理实验\Debug\Global.sbr
文件 136726 2015-04-20 06:44 编译原理实验\Debug\LL1.obj
文件 0 2015-04-20 06:44 编译原理实验\Debug\LL1.sbr
文件 5587968 2015-04-20 21:41 编译原理实验\Debug\OurCompiler.bsc
文件 11276357 2015-04-20 21:41 编译原理实验\Debug\OurCompiler.exe
文件 392404 2015-04-20 21:41 编译原理实验\Debug\OurCompiler.ilk
文件 18059 2015-04-20 06:44 编译原理实验\Debug\OurCompiler.obj
文件 6878208 2013-03-31 22:27 编译原理实验\Debug\OurCompiler.pch
文件 582656 2015-04-20 21:41 编译原理实验\Debug\OurCompiler.pdb
文件 9208524 2015-04-20 17:06 编译原理实验\Debug\OurCompiler.res
文件 0 2015-04-20 06:44 编译原理实验\Debug\OurCompiler.sbr
文件 66286 2015-04-20 21:40 编译原理实验\Debug\OurCompilerDlg.obj
文件 0 2015-04-20 21:41 编译原理实验\Debug\OurCompilerDlg.sbr
文件 105951 2013-03-31 22:27 编译原理实验\Debug\StdAfx.obj
文件 1375061 2013-03-31 22:27 编译原理实验\Debug\StdAfx.sbr
文件 118028 2015-04-20 07:05 编译原理实验\Debug\YuFa11.obj
文件 0 2015-04-20 07:05 编译原理实验\Debug\YuFa11.sbr
文件 59845 2015-04-20 06:44 编译原理实验\Debug\YuYi.obj
文件 0 2015-04-20 06:44 编译原理实验\Debug\YuYi.sbr
文件 353280 2015-04-20 21:41 编译原理实验\Debug\vc60.idb
文件 462848 2015-04-20 21:40 编译原理实验\Debug\vc60.pdb
............此处省略61个文件信息
相关资源
- 编译原理udp flood 攻击实验报告
- 经典图书:吕映芝 张素琴 蒋维杜《编
- 编译原理 龙书 第一版
- 编译原理及实践高清版
- 编译原理习题精选与解析第3版.pdf
- 2013吉林大学信息学竞赛冬令营课程资
- 编译原理(龙书)清晰中文第二版.
- 编译原理_第2版_张素琴等_清华大学
- 编译原理 第2版(张素琴吕映芝等-清
- 编译原理及实践中文版+英文版+源代码
- 编译原理中文版原书第2版pdf
- 编译原理 第二版 机械工业出版社
- 编译原理龙书中文版,全网最清晰带
- 大工软件学院编译原理复习资料大全
- 编译原理原则、技术和工具中文版
- 安徽大学编译原理课程ppt/往年考试试
- 清华大学《编译原理》
- 高级编译器设计与实现鲸书 高清版
- 《编译原理基础》习题与上机题解答
- 编译原理经典用书Compilers-英文第二版
- 编译原理(第三版)156686
- 组合数学课件吉林大学组合数学课件
- 编译原理-何炎祥-课后答案
- 编译原理教程第四版胡元义 西安电子
- 龙书资料整理
- 《编译原理第二版》完整版
- 编译原理第二版清华大学出版社pdf版
- 吉林大学软件项目管理课件
- 《编译原理》PDF中文版
- 编译原理及实践 英文版 Compiler.Con
评论
共有 条评论