private boolean hasAppropriateFirstTerminal() {
    return peekTypeMatches("ID") || peekTypeMatches("LPAREN")
            || peekTypeMatches("INTLIT") || peekTypeMatches("STRLIT")
            || peekTypeMatches("NIL");
  }