-- START OF SOURCE -- foo() foo{} foo"" foo:bar() foo=false foo.bar=true foo[true]=nil foo,bar=1,"a" -- END OF SOURCE -- -- TOP: begin open_func chunk: -- STATEMENT: begin 'expr' line=1 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: ( funcargs funcargs: begin '(' funcargs: end -- expr is a VCALL expr_stat: function call k='VCALL' -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=2 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: { funcargs funcargs: begin '{' constructor: begin constructor: end funcargs: end -- expr is a VCALL expr_stat: function call k='VCALL' -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=3 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: funcargs funcargs: begin codestring: "" funcargs: end -- expr is a VCALL expr_stat: function call k='VCALL' -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=4 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: : funcargs checkname: str_checkname: 'bar' codestring: "bar" funcargs: begin '(' funcargs: end -- expr is a VCALL expr_stat: function call k='VCALL' -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=5 prefixexp: str_checkname: 'foo' singlevar: name='foo' expr_stat: assignment k='VLOCAL' assignment: '=' -- RHS elements follows explist1: begin expr: simpleexp: false explist1: end -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=6 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: '.' field field: operator=. checkname: str_checkname: 'bar' codestring: "bar" expr_stat: assignment k='VINDEXED' assignment: '=' -- RHS elements follows explist1: begin expr: simpleexp: true explist1: end -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=7 prefixexp: str_checkname: 'foo' singlevar: name='foo' primaryexp: [ exp1 ] index: begin '[' expr: simpleexp: true index: end ']' expr_stat: assignment k='VLOCAL' assignment: '=' -- RHS elements follows explist1: begin expr: simpleexp: nil explist1: end -- STATEMENT: end 'expr' -- STATEMENT: begin 'expr' line=8 prefixexp: str_checkname: 'foo' singlevar: name='foo' expr_stat: assignment k='VLOCAL' assignment: ',' -- next LHS element prefixexp: str_checkname: 'bar' singlevar: name='bar' assignment: '=' -- RHS elements follows explist1: begin expr: simpleexp: =1 explist1: ',' -- continuation expr: simpleexp: =a codestring: "a" explist1: end -- STATEMENT: end 'expr' close_func -- TOP: end