Program,ProgramHead,DeclarePart,ProgramBody,.
ProgramHead,PROGRAM,ProgramName
ProgramName,ID
DeclarePart,TypeDecpart,VarDecpart,ProcDecpart
TypeDecpart,$
TypeDecpart,TypeDec
TypeDec,TYPE,TypeDecList
TypeDecList,TypeId,EQ,TypeDef,SEMI,TypeDecMore
TypeDecMore,$
TypeDecMore,TypeDecList
TypeId,ID
TypeDef,BaseType
TypeDef,StructureType
TypeDef,ID
BaseType,INTEGER
BaseType,CHAR
StructureType,ArrayType
StructureType,RecType
ArrayType,ARRAY,LMIDPAREN,Low,UNDERANGE,Top,RMIDPAREN,OF,BaseType
Low,INTC
Top,INTC
RecType,RECORD,FieldDecList,END
FieldDecList,BaseType,IdList,SEMI,FieldDecMore
FieldDecList,ArrayType,IdList,SEMI,FieldDecMore
FieldDecMore,$
FieldDecMore,FieldDecList
IdList,ID,IdMore
IdMore,$
IdMore,COMMA,IdList
VarDecpart,$
VarDecpart,VarDec
VarDec,VAR,VarDecList
VarDecList,TypeDef,VarIdList,SEMI,VarDecMore
VarDecMore,$
VarDecMore,VarDecList
VarIdList,ID,VarIdMore
VarIdMore,$
VarIdMore,COMMA,VarIdList
ProcDecpart,$
ProcDecpart,ProcDec
ProcDec,PROCEDURE,ProcName,LPAREN,ParamList,RPAREN,SEMI,ProcDecPart,ProcBody,ProcDecMore
ProcDecMore,$
ProcDecMore,ProcDec
ProcName,ID
ParamList,$
ParamList,ParamDecList
ParamDecList,Param,ParamMore
ParamMore,$
ParamMore,SEMI,ParamDecList
Param,TypeDef,FormList
Param,VAR,TypeDef,FormList
FormList,ID,FidMore
FidMore,$
FidMore,COMMA,FormList
ProcDecPart,DeclarePart
ProcBody,ProgramBody
ProgramBody,BEGIN,StmList,END
StmList,Stm,StmMore
StmMore,$
StmMore,SEMI,StmList
Stm,ConditionalStm
Stm,LoopStm
Stm,InputStm
Stm,OutputStm
Stm,ReturnStm
Stm,ID,AssCall
AssCall,AssignmentRest
AssCall,CallStmRest
AssignmentRest,VariMore,ASSIGN,Exp
ConditionalStm,IF,RelExp,THEN,StmList,ELSE,StmList,FI
LoopStm,WHILE,RelExp,DO,StmList,ENDWH
InputStm,READ,LPAREN,Invar,RPAREN
Invar,ID
OutputStm,WRITE,LPAREN,Exp,RPAREN
ReturnStm,RETURN,LPAREN,Exp,RPAREN
CallStmRest,LPAREN,ActParamList,RPAREN
ActParamList,$
ActParamList,Exp,ActParamMore
ActParamMore,$
ActParamMore,COMMA,ActParamList
RelExp,Exp,OtherRelE
OtherRelE,CmpOp,Exp
Exp,Term,OtherTerm
OtherTerm,$
OtherTerm,AddOp,Exp
Term,Factor,OtherFactor
OtherFactor,$
OtherFactor,MultOp,Term
Factor,LPAREN,Exp,RPAREN
Factor,INTC
Factor,Variable
Variable,ID,VariMore
VariMore,$
VariMore,LMIDPAREN,Exp,RMIDPAREN
VariMore,DOT,FieldVar
FieldVar,ID,FieldVarMore
FieldVarMore,$
FieldVarMore,LMIDPAREN,Exp,RMIDPAREN
CmpOp,LT
CmpOp,EQ
AddOp,PLUS
AddOp,MINUS
MultOp,TIMES
MultOp,OVER