?? grammer.h
字號:
#include"GrammerNodeClass.h"
#ifndef _G_H
#define _G_H
class Grammer
{
public:
Grammer(Token *);
~Grammer();
int Grammer_Parse();
GrammerNode * Grammer_ProgramHead();
GrammerNode * Grammer_DeclarePart();
GrammerNode * Grammer_TypeDec();
GrammerNode * Grammer_TypeDecList();
void Grammer_TypeDef(GrammerNode * node_temp);
GrammerNode * Grammer_TypeDecMore();
void Grammer_BaseType(GrammerNode * node_temp);
void Grammer_StructType(GrammerNode * node_temp);
void Grammer_ArrayType(GrammerNode * node_temp);
void Grammer_RecordType(GrammerNode * node_temp);
void Grammer_FieldDecList(GrammerNode * node_temp);
void Grammer_IdList(GrammerNode * node_temp);
void Grammer_FieldDecMore(GrammerNode * node_temp);
GrammerNode* Grammer_VarDec();
GrammerNode* Grammer_VarDecList();
void Grammer_VarIdList(GrammerNode* node_temp);
GrammerNode* Grammer_VarDecMore();
void Grammer_VarIDMore(GrammerNode* node_temp);
GrammerNode* Grammer_ProcDec();
GrammerNode* Grammer_ProcDeclaration();
void Grammer_ParamList(GrammerNode* node_temp);
GrammerNode* Grammer_ParamDecList();
void Grammer_Param(GrammerNode* node_temp);
GrammerNode* Grammer_ParamMore();
void Grammer_FormList(GrammerNode* node_temp);
GrammerNode* Grammer_ProcDecPart();
GrammerNode* Grammer_procBody();
GrammerNode* Grammer_ProgramBody();
GrammerNode* Grammer_StmList();
void Grammer_Stm(GrammerNode* node_temp);
GrammerNode* Grammer_StmMore();
void Grammer_ConditionalStm(GrammerNode* node_temp);
void Grammer_LoopStm(GrammerNode* node_temp);
void Grammer_ReturnStm(GrammerNode* node_temp);
void Grammer_InputStm(GrammerNode* node_temp);
void Grammer_OutputStm(GrammerNode* node_temp);
void Grammer_AssCall(GrammerNode* node_temp);
GrammerNode* Grammer_Exp();
void Grammer_AssignmentRest(GrammerNode* node_temp);
void Grammer_CallStmRest(GrammerNode* node_temp);
GrammerNode* Grammer_ActParamList();
GrammerNode* Grammer_ActParamMore();
GrammerNode* Grammer_simple_exp();
GrammerNode* Grammer_term();
GrammerNode* Grammer_factor();
void Grammer_variable(GrammerNode* node_temp);
GrammerNode* Grammer_fieldvar();
void Grammer_fieldvarMore(GrammerNode* node_temp);
int Grammer_match();
void Grammer_out();
void Grammer_Node_out(GrammerNode* node_temp,int fl);
void Grammer_DecK_out(GrammerNode* node_temp);
void Grammer_StmtK_out(GrammerNode* node_temp);
void Grammer_ExpK_out(GrammerNode* node_temp);
void Grammer_kind_dec(GrammerNode* node_temp);
void Grammer_kind_stmt(GrammerNode* node_temp);
void Grammer_kind_exp(GrammerNode* node_temp);
NameNode * Add_name(string name);
int TurnToInt(string str);
void Grammer_delete(GrammerNode *node_temp);
private:
Token * token;
Token * Token_curr;
int i_IsDecR;
int i_IsVarR;
int i_IsProcR;
int i_IsBodyR;
GrammerNode * Gra_root;
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -