资源简介
河北工业大学编译原理实验,压缩包内含源代码与实验报告

代码片段和文件信息
#include
#include
#include
#include
#include
#define DIGIT 1
#define POINT 2
#define OTHER 3
#define POWER 4
#define PLUS 5
#define MINUS 6
#define UCON 7
#define ClassOther 200
#define EndState -1//无符号数识别程序宏定义
#define MI 8
#define MU 9
#define DI 10
#define ID 11
#define L 12
#define R 13//词法分析程序宏定义
#define RIGHT 1
#define ERROR 0
#define MAXINPUT 300
#define MAXSTACK 100
#define STARTSYMBOL ‘E‘//语法分析程序宏定义
char TOKEN[20];
int wnped;
int Class; //Used to indicate class of the word
int ICON;
double FCON;
static int CurrentState;
int row=1col=0;//词法分析程序全局变量
int index=0;//语法分析符号栈数组下标
int count=0;
char VT[8]={‘(‘‘i‘‘*‘‘/‘‘+‘‘-‘‘)‘‘#‘};
char stack[MAXSTACK]array[MAXINPUT];
char matrix[8][8]=
{‘<‘‘<‘‘<‘‘<‘‘<‘‘<‘‘=‘‘e‘
‘e‘‘e‘‘>‘‘>‘‘>‘‘>‘‘>‘‘>‘
‘<‘‘<‘‘>‘‘>‘‘>‘‘>‘‘>‘‘>‘
‘<‘‘<‘‘>‘‘>‘‘>‘‘>‘‘>‘‘>‘
‘<‘‘<‘‘<‘‘<‘‘>‘‘>‘‘>‘‘>‘
‘<‘‘<‘‘<‘‘<‘‘>‘‘>‘‘>‘‘>‘
‘e‘‘e‘‘>‘‘>‘‘>‘‘>‘‘>‘‘>‘
‘<‘‘<‘‘<‘‘<‘‘<‘‘<‘‘e‘‘=‘};//语法分析程序全局变量
char var=‘1‘;
char s[MAXSTACK];//语义分析程序全局变量
int GetChar(FILE *fp)
{
int c;
c=fgetc(fp);col++;
if(isdigit(c))
{
d=c-‘0‘;
return DIGIT;
}
if(c==‘.‘)
return POINT;
if(c==‘E‘||c==‘e‘)
return POWER;
if(c==‘+‘)
return PLUS;
if(c==‘-‘)
return MINUS;
return OTHER;
}
int EXCUTE(int stateint symbol)
{
switch(state)
{
case 0:switch(symbol)
{
case DIGIT:n=0;p=0;e=1;w=d;CurrentState=1;Class=UCON;break;
case POINT:w=0;n=0;p=0;e=1;CurrentState=3;Class=UCON;break;
default:Class=ClassOther;
CurrentState=EndState;
}
break;
case 1:switch(symbol)
{
case DIGIT:w=w*10+d;break; //CurrentState=1
case POINT:CurrentState=2;break;
case POWER:CurrentState=4;break;
default: ICON=w;CurrentState=EndState;
}
break;
case 2:switch(symbol)
{
case DIGIT:n++;w=w*10+d;break;
case POWER:CurrentState=4;break;
default:FCON=w*pow(10e*p-n);CurrentState=EndState;
}
break;
case 3:switch(symbol)
{
case DIGIT:n++;w=w*10+d;CurrentState=2;break;
default:printf(“Error!\n“);CurrentState=EndState;
}
break;
case 4:switch(symbol)
{
case DIGIT:p=p*10+d;CurrentState=6;break;
case MINUS:e=-1;CurrentState=5;break;
case PLUS:CurrentState=5;break;
default:printf(“Error!\n“);CurrentState=EndState;
}
break;
case 5:switch(symbol)
{
case DIGIT:p=p*10+d;CurrentState=6;break;
default:printf(“Error!\n“);CurrentState=EndState;
}
break;
case 6:switch(symbol)
{
case DIGIT:p=p*10+d;break;
default:FCON=w*pow(10e*p-n);CurrentState=EndState;
}
break;
}
return CurrentState;
}
void LEX(FILE *fp)
{
int ch;
CurrentState=0;
while(CurrentState!=EndState)
{
ch=GetChar(fp);
EXCUTE(CurrentStatech);
}
}//无符号数识别程序
void out(int mchar *aFILE *fp2)
{
fprintf(fp2“(“fp2);
switch(m)
{
case ID:fputs(“ID“fp2);ar
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 627 2017-01-02 15:56 编译原理\Read Me.txt
..A..H. 162 2017-12-18 15:15 编译原理\~$报告-计152-153111-王兵.docx
文件 19 2017-12-18 16:43 编译原理\合\file2_1.txt
文件 106 2018-01-04 22:13 编译原理\合\file2_2.txt
文件 9113 2017-12-18 16:41 编译原理\合\合.cpp
文件 3355 2017-12-18 16:37 编译原理\合\合.dsp
文件 512 2017-12-18 16:46 编译原理\合\合.dsw
文件 41984 2018-01-04 23:33 编译原理\合\合.ncb
文件 48640 2018-01-04 23:33 编译原理\合\合.opt
文件 728 2017-12-18 16:42 编译原理\合\合.plg
文件 41984 2018-01-04 22:13 编译原理\合\Debug\vc60.idb
文件 53248 2017-12-18 16:41 编译原理\合\Debug\vc60.pdb
文件 229465 2017-12-18 16:42 编译原理\合\Debug\合.exe
文件 252020 2017-12-18 16:42 编译原理\合\Debug\合.ilk
文件 28219 2017-12-18 16:42 编译原理\合\Debug\合.obj
文件 239844 2017-12-18 15:13 编译原理\合\Debug\合.pch
文件 517120 2017-12-18 16:41 编译原理\合\Debug\合.pdb
文件 29 2017-12-18 16:02 编译原理\实验一\file1_1.txt
文件 101 2017-12-18 16:02 编译原理\实验一\file1_2.txt
文件 6626 2017-12-18 16:10 编译原理\实验一\实验一.cpp
文件 3403 2017-12-18 16:02 编译原理\实验一\实验一.dsp
文件 520 2017-12-18 16:02 编译原理\实验一\实验一.dsw
文件 41984 2018-01-05 00:08 编译原理\实验一\实验一.ncb
文件 48640 2017-12-18 16:02 编译原理\实验一\实验一.opt
文件 748 2017-12-18 16:02 编译原理\实验一\实验一.plg
文件 33792 2017-12-18 16:02 编译原理\实验一\Debug\vc60.idb
文件 45056 2017-12-18 15:56 编译原理\实验一\Debug\vc60.pdb
文件 229473 2017-12-18 16:02 编译原理\实验一\Debug\实验一.exe
文件 231836 2017-12-18 16:02 编译原理\实验一\Debug\实验一.ilk
文件 21192 2017-12-18 16:02 编译原理\实验一\Debug\实验一.obj
............此处省略42个文件信息
相关资源
- railroad铁路CAD生成
- ISE_14.7_license.lic
- ANSYS LS-DYNA
- phong模型(简单光照模型)
- 编译原理实验工具及参考源码(lex&
- Python全栈学习笔记面向对象大作业:
- 2017黑马软件测试全套完整视频教程
- 基于LabVIEW的交通灯设计,报告,程序
- 《城市公交站点设置的优化分析》项
- SPSS+23中文版统计分析实用教程第2版邓
- 《数字信号处理》第四版高西全版课
- 《编译原理》全套的课程资源
- 山东大学计算机图形学实验课程资源
- 微型计算机控制技术课件
- 高频电子线路 第2版 学习指导与题解
- 七周成为数据分析师-全套视频+课件
- 计算机科学引论重点知识及课后答案
- 河北工业大学密码学实验des和rsa实验
- 数据结构与算法之美课程资源含解压
- 编译作业2.3.jpg
- 逆向破解网络游戏逆向自动化脚本课
评论
共有 条评论