private AstParameter parseList() {
    eatChar('[');
    char nextChar = skipWS();
    AstParameter res = isQuote(nextChar)? parseStringList() : parseNumList();
    eatChar(']');
    return res;
  }
private AstParameter parseList ( ) { eatChar ( '[' ) ; char nextChar = skipWS ( ) ; AstParameter res = isQuote ( nextChar ) ? parseStringList ( ) : parseNumList ( ) ; eatChar ( ']' ) ; return res ; }
Parse and return a list of tokens: either a list of strings, or a list of numbers.
We do not support lists of mixed types, or lists containing variables (for now).