计算机语法分析,电子科技大学-计算机学院-编译原理实验-语法分析.pdf
// SyntaxAnalyzer.cpp : 定義控制臺應用程序的入口點。
//
#include
#include
#include
#define MAX_COUNT 1024
#define SIGN_UNDEFINED_ERR 1
#define SIGN_REDEFINED_ERR 2
#define SIGN_EXECUTE_ERR 3
#define NO_SIGN_ERR 4
#define SIGN_RESERVE_ERR 5
#define NO_PARA_ERR 6
/*types 是支持類型的集合*/
typedef enum { integer } types;
/*記錄變量信息的結構體*/
typedef struct {
char vname[17];
char vproc[17];
bool vkind;
types vtype;
int vlev;
int vadr;
} varRecord;
/*記錄過程信息的結構體*/
typedef struct {
char pname[17];
types ptype;
int plev;
int varNum;
int fadr;
int ladr;
int parameter;
bool parameterIsDefined;
} proRecord;
/**********文法產生式如下**********
A :程序 A->B
B :分程序 B->begin C;M end
C 說明與句表 C->DC'
C'->;DC'|ε
D 說明語句 D->E|J
E 變量說明 E->integer F
F 變量 F->G
G 標識符 G->HG'
G'->HG'|IG'|ε
H :字母 H->a|...|z|A|...|Z
I :數字 I->0|1|...|9
J :函數說明 J->integer function G(K);L
K :參數 K->F
L :函數體 L->begin C;M end
M 執行語句表 M->NM'
M'->;NM'|ε
N 執行語句 N->O|P|Q|W
O 讀語句 O->read(F)
P :寫語句 P->write(F)
Q 賦值語句 Q->F:=R
R :算術表達式 R->SR'
R'->-SR'|ε
S 項 S->TS'
S'->*TS'|ε
T :因子 T->F|U|Z
U :常數 U->V
V :無符號整數 V->IV'
V'->IV'|ε
W :條件語句 W->if X then N else N
X :條件表達式 X->RYR
Y :關系運
總結
以上是生活随笔為你收集整理的计算机语法分析,电子科技大学-计算机学院-编译原理实验-语法分析.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 注释 过时_Java 注解
- 下一篇: java jaxb注解xmlnull_j