[ { "Label": "plain", "Input": "print(foo)", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 10 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 10 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 5 }, "Literal": "print" }, "Args": [ { "Type": "Identifier", "Range": { "Start": 6, "End": 9 }, "Literal": "foo" } ] } ] } }, { "Label": "plain_table", "Input": "print{msg = 'foo'}", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 18 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 18 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 5 }, "Literal": "print" }, "Args": [ { "Type": "TableLiteral", "Range": { "Start": 5, "End": 18 }, "Fields": [ { "Type": "TableField", "Range": { "Start": 6, "End": 17 }, "Key": { "Type": "Identifier", "Range": { "Start": 6, "End": 9 }, "Literal": "msg" }, "Value": { "Type": "StringLiteral", "Range": { "Start": 12, "End": 17 }, "Literal": "'foo'" } } ], "StartPos": 5 } ] } ] } }, { "Label": "plain_string", "Input": "print 'foo'", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 11 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 11 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 5 }, "Literal": "print" }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 6, "End": 11 }, "Literal": "'foo'" } ] } ] } }, { "Label": "plain_string_chained", "Input": "print 'foo' 'bar'", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 17 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 17 }, "Left": { "Type": "FunctionCall", "Range": { "Start": 0, "End": 11 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 5 }, "Literal": "print" }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 6, "End": 11 }, "Literal": "'foo'" } ] }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 12, "End": 17 }, "Literal": "'bar'" } ] } ] } }, { "Label": "method", "Input": "foo:bar('baz')", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 14 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 14 }, "Left": { "Type": "IndexExpression", "Range": { "Start": 0, "End": 7 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 3 }, "Literal": "foo" }, "Indexer": "colon", "Inner": { "Type": "Identifier", "Range": { "Start": 4, "End": 7 }, "Literal": "bar" } }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 8, "End": 13 }, "Literal": "'baz'" } ] } ] } }, { "Label": "method_table", "Input": "foo:bar{msg = 'baz'}", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 20 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 20 }, "Left": { "Type": "IndexExpression", "Range": { "Start": 0, "End": 7 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 3 }, "Literal": "foo" }, "Indexer": "colon", "Inner": { "Type": "Identifier", "Range": { "Start": 4, "End": 7 }, "Literal": "bar" } }, "Args": [ { "Type": "TableLiteral", "Range": { "Start": 7, "End": 20 }, "Fields": [ { "Type": "TableField", "Range": { "Start": 8, "End": 19 }, "Key": { "Type": "Identifier", "Range": { "Start": 8, "End": 11 }, "Literal": "msg" }, "Value": { "Type": "StringLiteral", "Range": { "Start": 14, "End": 19 }, "Literal": "'baz'" } } ], "StartPos": 7 } ] } ] } }, { "Label": "method_string", "Input": "foo:bar 'baz'", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 13 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 13 }, "Left": { "Type": "IndexExpression", "Range": { "Start": 0, "End": 7 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 3 }, "Literal": "foo" }, "Indexer": "colon", "Inner": { "Type": "Identifier", "Range": { "Start": 4, "End": 7 }, "Literal": "bar" } }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 8, "End": 13 }, "Literal": "'baz'" } ] } ] } }, { "Label": "method_string_chained", "Input": "foo:bar 'baz' :bar 'lorem'", "AST": { "Type": "Block", "Range": { "Start": 0, "End": 26 }, "Stmts": [ { "Type": "FunctionCall", "Range": { "Start": 0, "End": 26 }, "Left": { "Type": "IndexExpression", "Range": { "Start": 0, "End": 18 }, "Left": { "Type": "FunctionCall", "Range": { "Start": 0, "End": 13 }, "Left": { "Type": "IndexExpression", "Range": { "Start": 0, "End": 7 }, "Left": { "Type": "Identifier", "Range": { "Start": 0, "End": 3 }, "Literal": "foo" }, "Indexer": "colon", "Inner": { "Type": "Identifier", "Range": { "Start": 4, "End": 7 }, "Literal": "bar" } }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 8, "End": 13 }, "Literal": "'baz'" } ] }, "Indexer": "colon", "Inner": { "Type": "Identifier", "Range": { "Start": 15, "End": 18 }, "Literal": "bar" } }, "Args": [ { "Type": "StringLiteral", "Range": { "Start": 19, "End": 26 }, "Literal": "'lorem'" } ] } ] } } ]