code: func (t *tree) parseListLiteral(first item, expr ast.Node) ast.Node {
  	var items []ast.Node
  	items = append(items, expr)
  	for {
  		items = append(items, t.parseExpr(0))
  		next := t.next()
  		if next.typ == itemRightBracket {
  			return &ast.ListLiteralNode{first.pos, items}
  		}
  		if next.typ != itemComma {
  			t.unexpected(next, "parsing value list")
  		}
  	}
  }
docs: // the first item in the list is provided.
  // "," has just been read.
  //  ListLiteral -> "[" [ Expr ( "," Expr )* [ "," ] ] "]"