Ejemplo n.º 1
0
  public TrialUndoParser(TokenStream tokStream, ParseTable prs, ITrialUndoActionProvider ra)
      throws BadParseSymFileException, NotBacktrackParseTableException {
    this.tokStream = tokStream;
    this.prs = prs;
    this.actionProvider = ra;

    START_STATE = prs.getStartState();
    NUM_RULES = prs.getNumRules();
    LA_STATE_OFFSET = prs.getLaStateOffset();
    EOFT_SYMBOL = prs.getEoftSymbol();
    ERROR_SYMBOL = prs.getErrorSymbol();
    ACCEPT_ACTION = prs.getAcceptAction();
    ERROR_ACTION = prs.getErrorAction();

    if (!prs.isValidForParser()) throw new BadParseSymFileException();
    if (!prs.getBacktrack()) throw new NotBacktrackParseTableException();
  }