资源简介

编译原理课程设计,简单编译器 希望对大家有帮助,不过话说是学校的作业,仅供参考的说

资源截图

代码片段和文件信息

/*****************************************************************
最后修改时间2007.01.04  18:00
作者:040430101、040430102、040430103、040430201
规约式经过改动,为55条
*****************************************************************/
#include
#include 
#include

#define INT 1 //int
#define VOID 2 //void 
#define IF 3                        //  if
#define ELSE 4                      //  else
#define WHILE 5                    //  while
#define RETURN 6                  //  return
#define CONSTANT 7                   //int型
#define ID 8                        //标识符
#define RELOP 9                     //关系符 <、>、==、<=、>=、!=
#define ADDOP 10                     //   +和-
#define MULOP 11                     //   *和/
#define L_BRACKET 12                //代表 [
#define R_BRACKET 13                //代表 ]
#define L_PARENTHESE 14             //代表 (
#define R_PARENTHESE 15             //代表 )
#define L_BPARENTHESE 16            //代表 {
#define R_BPARENTHESE 17            //代表 }
#define SEMICOLON 18                //代表 ;
#define COMMA 19                    //代表 
#define EQUATER 20                  //代表 = 
#define $   21                      //终结符

#define P   30  //非终结符的编号
#define D1  31
#define D2  32
#define V1  33
#define T1  34
#define F1  35
#define P1 36
#define P2 37
#define P3 38
#define C1 39
#define L 40
#define S 41
#define S1 42
#define E1 43 
#define S2 44
#define I 45
#define R1 46
#define E2 47
#define V2 48
#define S3 49
#define A1 50
#define T2 51
#define F2 52
#define C2 53
#define A3 54
#define A4 55
#define M1  56
#define M2  57
#define N  58

typedef struct token//******词法分析中的 token结构体******
{
char *name;//字符串
int type;//类型
int LineNum;//所在行数
struct token *next;
}token;
token *TokenHead*TokenTail;

typedef struct pank//*********语法 action表结构体**********
{
char sr;//移进或归约
int state;//转到的状态编号
}pank;
pank action[97][21];//action表

int go_to[97][29];//语法 go_to表

typedef struct stack//****语法分析栈结构体*****
{
int state;//状态
int word;//符号编码
}stack;
typedef struct Tree_Node{//****语法分析树*****
int code;//记录字符串对应编号
char *word;//记录字符串
int Rnum;//记录规约式的编号
int LineNum;//记录字符所在行数
char *place;//传递变量名称
int E_type;//传递变量的类型
struct Tree_Node *child1;
struct Tree_Node *child2;
struct Tree_Node *para;
}Tree_Node;
Tree_Node *Head*Tail;

typedef struct ivan//****语法产生式结构体****
{
int left;//产生式的左部
int len;//产生式右部的长度
}ivan;
ivan css[56]={{00}{301}{312}{311}{321}{321}{333}{336}{341}
{341}{356}{361}{361}{373}{371}{382}{384}{394}{402}
{400}{412}{410}{421}{421}{421}{421}{421}{432}{431}
{446}{4410}{457}{462}{463}{473}{471}{481}{484}{493}
{491}{503}{501}{513}{511}{523}{521}{521}{521}{534}
{541}{540}{553}{551}{560}{570}{580}};
  //css[56]存的是55条规约式的左边非终结符的编号和右边规约的个数*/
char *Grammar[56]={“\0““P->D1““D1->D1D2““D1->D2““D2->

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        254  2007-01-05 10:02  code\code\040430101\1.txt

     文件      57149  2007-01-05 11:24  code\code\040430101\compilerNEW1.cpp

     文件       3473  2007-01-05 11:19  code\code\040430101\compilerNEW1.dsp

     文件        549  2007-01-05 11:39  code\code\040430101\compilerNEW1.dsw

     文件      58368  2009-04-18 12:45  code\code\040430101\compilerNEW1.ncb

     文件      48640  2009-04-18 12:45  code\code\040430101\compilerNEW1.opt

     文件        258  2009-04-18 12:45  code\code\040430101\compilerNEW1.plg

     文件     241735  2009-02-19 02:11  code\code\040430101\Debug\compilerNEW1.exe

     文件     314180  2009-02-19 02:11  code\code\040430101\Debug\compilerNEW1.ilk

     文件     118795  2009-02-19 02:11  code\code\040430101\Debug\compilerNEW1.obj

     文件    2133048  2009-02-19 02:11  code\code\040430101\Debug\compilerNEW1.pch

     文件     508928  2009-02-19 02:11  code\code\040430101\Debug\compilerNEW1.pdb

     文件      91136  2009-04-18 12:45  code\code\040430101\Debug\vc60.idb

     文件     118784  2009-02-19 02:11  code\code\040430101\Debug\vc60.pdb

     目录          0  2009-05-21 00:10  code\code\040430101\Debug

     目录          0  2009-05-21 00:10  code\code\040430101

     目录          0  2009-05-21 00:10  code\code

     目录          0  2009-05-21 00:10  code

----------- ---------  ---------- -----  ----

              3695297                    18


评论

共有 条评论