#ifndef _EMITTERS_H_
#define _EMITTERS_H_

void traverse_ArgSetList(ArgSetList *p, char *myID, int level);

void traverse_ArithExp(ArithExp *p, char *myID, int level);

void traverse_ArrayExp(ArrayExp *p, char *myID, int level);

void traverse_AssignStm(AssignStm *p, char *myID, int level);

void traverse_BoundList(BoundList *p, char *myID, int level);

void traverse_ConstDec(ConstDec *p, char *myID, int level);

void traverse_Dec(Dec *p, char *myID, int level);

void traverse_DecList(DecList *p, char *myID, int level);

void traverse_Exp(Exp *p, char *myID, int level);

void traverse_ExpList(ExpList *p, char *myID, int level);

void traverse_IDList(IDList *p, char *myID, int level);

void traverse_ID_Type(ID_Type *p, char *myID, int level);

void traverse_If_Then_Else_Stm(If_Then_Else_Stm *p, char *myID, int level);

void traverse_If_Then_Stm(If_Then_Stm *p, char *myID, int level);

void traverse_LitExp(LitExp *p, char *myID, int level);

void traverse_LogicExp(LogicExp *p, char *myID, int level);

void traverse_Program(Program *p, char *myID, int level);

void traverse_ReadStm(ReadStm *p, char *myID, int level);

void traverse_RelExp(RelExp *p, char *myID, int level);

void traverse_ReturnStm(ReturnStm *p, char *myID, int level);

void traverse_Stm(Stm *p, char *myID, int level);

void traverse_StmBlock(StmBlock *p, char *myID, int level);

void traverse_StmList(StmList *p, char *myID, int level);

void traverse_Sub(Sub *p, char *myID, int level);

void traverse_SubCallExp(SubCallExp *p, char *myID, int level);

void traverse_SubList(SubList *p, char *myID, int level);

void traverse_VarExp(VarExp *p, char *myID, int level);

void traverse_VarDec(VarDec *p, char *myID, int level);

void traverse_WhileStm(WhileStm *p, char *myID, int level);

void traverse_WritelnStm(WritelnStm *p, char *myID, int level);

void traverse_WriteStm(WriteStm *p, char *myID, int level);

void traverse_Bound(Bound *p, char *myID, int level);

void traverse_BoundInfo(BoundInfo *p, char *myID, int level);

void traverse_ArrayDataType(ArrayDataType *p, char *myID, int level);

void traverse_DeclType(DeclType *p, char *myID, int level);

void traverse_SubHeading(SubHeading *p, char *myID, int level);

void traverse_SubParams(SubParams *p, char *myID, int level);

void traverse_list_IDList(IDList *p, char *myID, int level);

void traverse_list_BoundList(BoundList *p, char *myID, int level);

void traverse_list_DecList(DecList *p, char *myID, int level);

void traverse_list_ArgSetList(ArgSetList *p, char *myID, int level);

void traverse_list_SubList(SubList *p, char *myID, int level);

void traverse_list_StmList(StmList *p, char *myID, int level);

void traverse_list_ExpList(ExpList *p, char *myID, int level);

#endif
