// The ParTable class consolidates all the information required to
// generate the output file. It also contains member functions to
// output this information in the required format.
class ParTable {
short int **actionTable;
int states, symbols, acceptState;
void fillTable();
public:
void shiftIs(int state, int sy, int newState);
void reduceIs(int state, int sy, LConf *);
void condShiftIs(int state, int sy, int newState, LConfList &);
void condReduceIs(int state, int sy, LConf *, LConfList &);
ParTable();
void pr_nomodsWarning(FILE *);
void pr_prelude(FILE *);
void pr_postlude(FILE *);
void pr_states(FILE *);
void pr_symbols(FILE *);
void pr_acceptState(FILE *);
void pr_tokens(FILE *);
void pr_actionTable(FILE *);
void pr_reduceTable(FILE *);
void pr_condTable(FILE *);
void pr_code(FILE *);
void pr_attrdef(FILE *);
void pr_inhAttrdef(FILE *);
void pr_signature(ParNode *, ParNode *, FILE *);
void pr_rule_rhs(ParNode *prod, ParNode *limit, FILE *ofdes);
void pr_argument_add(ParNode *, ParNode *, FILE *);
void pr_argument(ParNode *, ParNode *, FILE *);
void pr_form_argument(ParNode *, ParNode *, FILE *);
protected:
void countTokens(ParNode *prod, int &tokenCount, int &totalCount);
};
syntax highlighted by Code2HTML, v. 0.9.1