code: function parseArgumentList() {
                      var token, expr, args = [];
  
                      while (true) {
                          expr = parseExpression();
                          if (typeof expr === 'undefined') {
                              break;
                          }
                          args.push(expr);
                          token = lexer.peek();
                          if (!matchOp(token, ',')) {
                              break;
                          }
                          lexer.next();
                      }
  
                      return args;
                  }
docs: ArgumentList := Expression | Expression ',' ArgumentList