question: public ArrayList < String > parseColumnNames ( ) { ArrayList < String > columns = new ArrayList < String > ( ) ; Token token = scanToken ( ) ; if ( token == Token . LPAREN ) { do { columns . add ( parseIdentifier ( ) ) ; token = scanToken ( ) ; } while ( token == Token . COMMA ) ; if ( token != Token . RPAREN ) { throw error ( "expected ')' at '{0}'" , token ) ; } } else if ( token == Token . IDENTIFIER ) { columns . add ( _lexeme ) ; _token = token ; } else { throw error ( "expected '(' at '{0}'" , token ) ; } return columns ; }
target:  Parses a list of column names