You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ravi/ravi-tests/ravi_test_ast.expected

1745 lines
34 KiB

--[[return
]]
function()
return
end
--
--[[return 1
]]
function()
return
1
end
--
--[[return 42, 4.2, true, "hello"
]]
function()
return
42
,
4.2000000000000002
,
true
,
'hello'
end
--
--[[return a
]]
function()
return
--[suffixed expr start] any
--[primary start] any
a --global symbol ?
--[primary end]
--[suffixed expr end]
end
--
--[[return 1+2
]]
function()
return
--[binary expr start] integer
1
+
2
--[binary expr end]
end
--
--[[return 2^3-5*4
]]
function()
return
--[binary expr start] number
--[binary expr start] number
2
^
3
--[binary expr end]
-
--[binary expr start] integer
5
*
4
--[binary expr end]
--[binary expr end]
end
--
--[[return 0.0
]]
function()
return
0.0000000000000000
end
--
--[[return 0
]]
function()
return
0
end
--
--[[return -0//1
]]
function()
return
--[binary expr start] integer
--[unary expr start] integer
-
0
--[unary expr end]
//
1
--[binary expr end]
end
--
--[[return 3^-1
]]
function()
return
--[binary expr start] number
3
^
--[unary expr start] integer
-
1
--[unary expr end]
--[binary expr end]
end
--
--[[return (1 + 1)^(50 + 50)
]]
function()
return
--[binary expr start] number
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
1
+
1
--[binary expr end]
--[primary end]
--[suffixed expr end]
^
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
50
+
50
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
end
--
--[[return (-2)^(31 - 2)
]]
function()
return
--[binary expr start] number
--[suffixed expr start] integer
--[primary start] integer
--[unary expr start] integer
-
2
--[unary expr end]
--[primary end]
--[suffixed expr end]
^
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
31
-
2
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
end
--
--[[return (-3^0 + 5) // 3.0
]]
function()
return
--[binary expr start] any
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[unary expr start] number
-
--[binary expr start] number
3
^
0
--[binary expr end]
--[unary expr end]
+
5
--[binary expr end]
--[primary end]
--[suffixed expr end]
//
3.0000000000000000
--[binary expr end]
end
--
--[[return -3 % 5
]]
function()
return
--[binary expr start] integer
--[unary expr start] integer
-
3
--[unary expr end]
%
5
--[binary expr end]
end
--
--[[return -((2.0^8 + -(-1)) % 8)/2 * 4 - 3
]]
function()
return
--[binary expr start] number
--[binary expr start] number
--[binary expr start] number
--[unary expr start] number
-
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[binary expr start] number
2.0000000000000000
^
8
--[binary expr end]
+
--[unary expr start] integer
-
--[suffixed expr start] integer
--[primary start] integer
--[unary expr start] integer
-
1
--[unary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
%
8
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
/
2
--[binary expr end]
*
4
--[binary expr end]
-
3
--[binary expr end]
end
--
--[[return -((2^8 + -(-1)) % 8)//2 * 4 - 3
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] any
--[unary expr start] number
-
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[binary expr start] number
2
^
8
--[binary expr end]
+
--[unary expr start] integer
-
--[suffixed expr start] integer
--[primary start] integer
--[unary expr start] integer
-
1
--[unary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
%
8
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
//
2
--[binary expr end]
*
4
--[binary expr end]
-
3
--[binary expr end]
end
--
--[[return 0xF0.0 | 0xCC.0 ~ 0xAA & 0xFD
]]
function()
return
--[binary expr start] integer
240.0000000000000000
|
--[binary expr start] integer
204.0000000000000000
~
--[binary expr start] integer
170
&
253
--[binary expr end]
--[binary expr end]
--[binary expr end]
end
--
--[[return ~(~0xFF0 | 0xFF0)
]]
function()
return
--[unary expr start] any
~
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[unary expr start] any
~
4080
--[unary expr end]
|
4080
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
end
--
--[[return ~~-100024.0
]]
function()
return
--[unary expr start] any
~
--[unary expr start] any
~
--[unary expr start] number
-
100024.0000000000000000
--[unary expr end]
--[unary expr end]
--[unary expr end]
end
--
--[[return ((100 << 6) << -4) >> 2
]]
function()
return
--[binary expr start] integer
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
100
<<
6
--[binary expr end]
--[primary end]
--[suffixed expr end]
<<
--[unary expr start] integer
-
4
--[unary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
>>
2
--[binary expr end]
end
--
--[[return 2^3^2 == 2^(3^2)
]]
function()
return
--[binary expr start] boolean
--[binary expr start] number
2
^
--[binary expr start] number
3
^
2
--[binary expr end]
--[binary expr end]
==
--[binary expr start] number
2
^
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
3
^
2
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[binary expr end]
end
--
--[[return 2^3*4 == (2^3)*4
]]
function()
return
--[binary expr start] boolean
--[binary expr start] number
--[binary expr start] number
2
^
3
--[binary expr end]
*
4
--[binary expr end]
==
--[binary expr start] number
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
2
^
3
--[binary expr end]
--[primary end]
--[suffixed expr end]
*
4
--[binary expr end]
--[binary expr end]
end
--
--[[return 2.0^-2 == 1/4 and -2^- -2 == - - -4
]]
function()
return
--[binary expr start] any
--[binary expr start] boolean
--[binary expr start] number
2.0000000000000000
^
--[unary expr start] integer
-
2
--[unary expr end]
--[binary expr end]
==
--[binary expr start] number
1
/
4
--[binary expr end]
--[binary expr end]
and
--[binary expr start] boolean
--[unary expr start] number
-
--[binary expr start] number
2
^
--[unary expr start] integer
-
--[unary expr start] integer
-
2
--[unary expr end]
--[unary expr end]
--[binary expr end]
--[unary expr end]
==
--[unary expr start] integer
-
--[unary expr start] integer
-
--[unary expr start] integer
-
4
--[unary expr end]
--[unary expr end]
--[unary expr end]
--[binary expr end]
--[binary expr end]
end
--
--[[return not nil and 2 and not(2>3 or 3<2)
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[unary expr start] any
not
nil
--[unary expr end]
and
2
--[binary expr end]
and
--[unary expr start] any
not
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[binary expr start] boolean
2
>
3
--[binary expr end]
or
--[binary expr start] boolean
3
<
2
--[binary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
--[binary expr end]
end
--
--[[return -3-1-5 == 0+0-9
]]
function()
return
--[binary expr start] boolean
--[binary expr start] integer
--[binary expr start] integer
--[unary expr start] integer
-
3
--[unary expr end]
-
1
--[binary expr end]
-
5
--[binary expr end]
==
--[binary expr start] integer
--[binary expr start] integer
0
+
0
--[binary expr end]
-
9
--[binary expr end]
--[binary expr end]
end
--
--[[return -2^2 == -4 and (-2)^2 == 4 and 2*2-3-1 == 0
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] boolean
--[unary expr start] number
-
--[binary expr start] number
2
^
2
--[binary expr end]
--[unary expr end]
==
--[unary expr start] integer
-
4
--[unary expr end]
--[binary expr end]
and
--[binary expr start] boolean
--[binary expr start] number
--[suffixed expr start] integer
--[primary start] integer
--[unary expr start] integer
-
2
--[unary expr end]
--[primary end]
--[suffixed expr end]
^
2
--[binary expr end]
==
4
--[binary expr end]
--[binary expr end]
and
--[binary expr start] boolean
--[binary expr start] integer
--[binary expr start] integer
--[binary expr start] integer
2
*
2
--[binary expr end]
-
3
--[binary expr end]
-
1
--[binary expr end]
==
0
--[binary expr end]
--[binary expr end]
end
--
--[[return -3%5 == 2 and -3+5 == 2
]]
function()
return
--[binary expr start] any
--[binary expr start] boolean
--[binary expr start] integer
--[unary expr start] integer
-
3
--[unary expr end]
%
5
--[binary expr end]
==
2
--[binary expr end]
and
--[binary expr start] boolean
--[binary expr start] integer
--[unary expr start] integer
-
3
--[unary expr end]
+
5
--[binary expr end]
==
2
--[binary expr end]
--[binary expr end]
end
--
--[[return 2*1+3/3 == 3 and 1+2 .. 3*1 == "33"
]]
function()
return
--[binary expr start] any
--[binary expr start] boolean
--[binary expr start] number
--[binary expr start] integer
2
*
1
--[binary expr end]
+
--[binary expr start] number
3
/
3
--[binary expr end]
--[binary expr end]
==
3
--[binary expr end]
and
--[binary expr start] any
--[binary expr start] any
--[binary expr start] integer
1
+
2
--[binary expr end]
..
--[binary expr start] integer
3
*
1
--[binary expr end]
--[binary expr end]
==
'33'
--[binary expr end]
--[binary expr end]
end
--
--[[return not(2+1 > 3*1) and "a".."b" > "a"
]]
function()
return
--[binary expr start] any
--[unary expr start] any
not
--[suffixed expr start] boolean
--[primary start] boolean
--[binary expr start] boolean
--[binary expr start] integer
2
+
1
--[binary expr end]
>
--[binary expr start] integer
3
*
1
--[binary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
and
--[binary expr start] any
--[binary expr start] any
'a'
..
'b'
--[binary expr end]
>
'a'
--[binary expr end]
--[binary expr end]
end
--
--[[return "7" .. 3 << 1 == 146
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] any
'7'
..
3
--[binary expr end]
<<
1
--[binary expr end]
==
146
--[binary expr end]
end
--
--[[return 10 >> 1 .. "9" == 0
]]
function()
return
--[binary expr start] any
--[binary expr start] any
10
>>
--[binary expr start] any
1
..
'9'
--[binary expr end]
--[binary expr end]
==
0
--[binary expr end]
end
--
--[[return 10 | 1 .. "9" == 27
]]
function()
return
--[binary expr start] any
--[binary expr start] any
10
|
--[binary expr start] any
1
..
'9'
--[binary expr end]
--[binary expr end]
==
27
--[binary expr end]
end
--
--[[return 0xF0 | 0xCC ~ 0xAA & 0xFD == 0xF4
]]
function()
return
--[binary expr start] boolean
--[binary expr start] integer
240
|
--[binary expr start] integer
204
~
--[binary expr start] integer
170
&
253
--[binary expr end]
--[binary expr end]
--[binary expr end]
==
244
--[binary expr end]
end
--
--[[return 0xFD & 0xAA ~ 0xCC | 0xF0 == 0xF4
]]
function()
return
--[binary expr start] boolean
--[binary expr start] integer
--[binary expr start] integer
--[binary expr start] integer
253
&
170
--[binary expr end]
~
204
--[binary expr end]
|
240
--[binary expr end]
==
244
--[binary expr end]
end
--
--[[return 0xF0 & 0x0F + 1 == 0x10
]]
function()
return
--[binary expr start] boolean
--[binary expr start] integer
240
&
--[binary expr start] integer
15
+
1
--[binary expr end]
--[binary expr end]
==
16
--[binary expr end]
end
--
--[[return 3^4//2^3//5 == 2
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] any
--[binary expr start] number
3
^
4
--[binary expr end]
//
--[binary expr start] number
2
^
3
--[binary expr end]
--[binary expr end]
//
5
--[binary expr end]
==
2
--[binary expr end]
end
--
--[[return -3+4*5//2^3^2//9+4%10/3 == (-3)+(((4*5)//(2^(3^2)))//9)+((4%10)/3)
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] any
--[unary expr start] integer
-
3
--[unary expr end]
+
--[binary expr start] any
--[binary expr start] any
--[binary expr start] integer
4
*
5
--[binary expr end]
//
--[binary expr start] number
2
^
--[binary expr start] number
3
^
2
--[binary expr end]
--[binary expr end]
--[binary expr end]
//
9
--[binary expr end]
--[binary expr end]
+
--[binary expr start] number
--[binary expr start] integer
4
%
10
--[binary expr end]
/
3
--[binary expr end]
--[binary expr end]
==
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] integer
--[primary start] integer
--[unary expr start] integer
-
3
--[unary expr end]
--[primary end]
--[suffixed expr end]
+
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
4
*
5
--[binary expr end]
--[primary end]
--[suffixed expr end]
//
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
2
^
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
3
^
2
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
//
9
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
+
--[suffixed expr start] number
--[primary start] number
--[binary expr start] number
--[suffixed expr start] integer
--[primary start] integer
--[binary expr start] integer
4
%
10
--[binary expr end]
--[primary end]
--[suffixed expr end]
/
3
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[binary expr end]
end
--
--[[return not ((true or false) and nil)
]]
function()
return
--[unary expr start] any
not
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
true
or
false
--[binary expr end]
--[primary end]
--[suffixed expr end]
and
nil
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
end
--
--[[return true or false and nil
]]
function()
return
--[binary expr start] any
true
or
--[binary expr start] any
false
and
nil
--[binary expr end]
--[binary expr end]
end
--
--[[return (((1 or false) and true) or false) == true
]]
function()
return
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
1
or
false
--[binary expr end]
--[primary end]
--[suffixed expr end]
and
true
--[binary expr end]
--[primary end]
--[suffixed expr end]
or
false
--[binary expr end]
--[primary end]
--[suffixed expr end]
==
true
--[binary expr end]
end
--
--[[return (((nil and true) or false) and true) == false
]]
function()
return
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
nil
and
true
--[binary expr end]
--[primary end]
--[suffixed expr end]
or
false
--[binary expr end]
--[primary end]
--[suffixed expr end]
and
true
--[binary expr end]
--[primary end]
--[suffixed expr end]
==
false
--[binary expr end]
end
--
--[[return -(1 or 2) == -1 and (1 and 2)+(-1.25 or -4) == 0.75
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[unary expr start] any
-
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
1
or
2
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[unary expr end]
==
--[unary expr start] integer
-
1
--[unary expr end]
--[binary expr end]
and
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
1
and
2
--[binary expr end]
--[primary end]
--[suffixed expr end]
+
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[unary expr start] number
-
1.2500000000000000
--[unary expr end]
or
--[unary expr start] integer
-
4
--[unary expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
--[binary expr end]
==
0.7500000000000000
--[binary expr end]
--[binary expr end]
end
--
--[[return (b or a)+1 == 2 and (10 or a)+1 == 11
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
b --global symbol ?
--[primary end]
--[suffixed expr end]
or
--[suffixed expr start] any
--[primary start] any
a --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
+
1
--[binary expr end]
==
2
--[binary expr end]
and
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
10
or
--[suffixed expr start] any
--[primary start] any
a --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
+
1
--[binary expr end]
==
11
--[binary expr end]
--[binary expr end]
end
--
--[[return ((2<3) or 1) == true and (2<3 and 4) == 4
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] boolean
--[primary start] boolean
--[binary expr start] boolean
2
<
3
--[binary expr end]
--[primary end]
--[suffixed expr end]
or
1
--[binary expr end]
--[primary end]
--[suffixed expr end]
==
true
--[binary expr end]
and
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[binary expr start] boolean
2
<
3
--[binary expr end]
and
4
--[binary expr end]
--[primary end]
--[suffixed expr end]
==
4
--[binary expr end]
--[binary expr end]
end
--
--[[return (x>y) and x or y == 2
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
x --global symbol ?
--[primary end]
--[suffixed expr end]
>
--[suffixed expr start] any
--[primary start] any
y --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
and
--[suffixed expr start] any
--[primary start] any
x --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
or
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
y --global symbol ?
--[primary end]
--[suffixed expr end]
==
2
--[binary expr end]
--[binary expr end]
end
--
--[[return (x>y) and x or y == 2
]]
function()
return
--[binary expr start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
x --global symbol ?
--[primary end]
--[suffixed expr end]
>
--[suffixed expr start] any
--[primary start] any
y --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[primary end]
--[suffixed expr end]
and
--[suffixed expr start] any
--[primary start] any
x --global symbol ?
--[primary end]
--[suffixed expr end]
--[binary expr end]
or
--[binary expr start] any
--[suffixed expr start] any
--[primary start] any
y --global symbol ?
--[primary end]
--[suffixed expr end]
==
2
--[binary expr end]
--[binary expr end]
end
--
--[[function x() for i = 1, 10 do; print(i); end end
]]
function()
x --global symbol ?
=
function()
--locals i
for
i --local symbol integer
=
1
,
10
do
--[expression statement start]
--[expression list start]
--[suffixed expr start] any
--[primary start] any
print --global symbol ?
--[primary end]
--[suffix list start]
--[function call start] any
(
--[suffixed expr start] integer
--[primary start] integer
i --local symbol integer
--[primary end]
--[suffixed expr end]
)
--[function call end]
--[suffix list end]
--[suffixed expr end]
--[expression list end]
--[expression statement end]
end
end
end
--
--[[function x() local a=1; function y() return function() return a end end; end
]]
function()
x --global symbol ?
=
function()
--locals a
local
--[symbols]
a --local symbol ?
--[expressions]
1
y --global symbol ?
=
function()
--upvalues a
return
function()
--upvalues a
return
--[suffixed expr start] any
--[primary start] any
a --upvalue ?
--[primary end]
--[suffixed expr end]
end
end
end
end
--
--[[return @integer 1
]]
function()
return
--[unary expr start] integer
@integer
1
--[unary expr end]
end
--
--[[return @string "hello"
]]
function()
return
--[unary expr start] string
@string
'hello'
--[unary expr end]
end
--
--[[return @table {}
]]
function()
return
--[unary expr start] table
@table
{ --[table constructor start] table
} --[table constructor end]
--[unary expr end]
end
--
--[[return @integer[] {}
]]
function()
return
--[unary expr start] integer[]
@integer[]
{ --[table constructor start] integer[]
} --[table constructor end]
--[unary expr end]
end
--
--[[return @number[] {}
]]
function()
return
--[unary expr start] number[]
@number[]
{ --[table constructor start] number[]
} --[table constructor end]
--[unary expr end]
end
--
--[[return @closure function() end
]]
function()
return
--[unary expr start] closure
@closure
function()
end
--[unary expr end]
end
--
--[[return @number 54.4
]]
function()
return
--[unary expr start] number
@number
54.3999999999999986
--[unary expr end]
end
--
--[[return @User.Type a
]]
function()
return
--[unary expr start] User.Type
@<usertype>
--[suffixed expr start] any
--[primary start] any
a --global symbol ?
--[primary end]
--[suffixed expr end]
--[unary expr end]
end
--
--[[for i=1,10 do print(i+1) end return
]]
function()
--locals i
for
i --local symbol integer
=
1
,
10
do
--[expression statement start]
--[expression list start]
--[suffixed expr start] any
--[primary start] any
print --global symbol ?
--[primary end]
--[suffix list start]
--[function call start] any
(
--[binary expr start] integer
--[suffixed expr start] integer
--[primary start] integer
i --local symbol integer
--[primary end]
--[suffixed expr end]
+
1
--[binary expr end]
)
--[function call end]
--[suffix list end]
--[suffixed expr end]
--[expression list end]
--[expression statement end]
end
return
end
--
--[[for i=1.0, 10.0 do print(i+4.2) end return
]]
function()
--locals i
for
i --local symbol number
=
1.0000000000000000
,
10.0000000000000000
do
--[expression statement start]
--[expression list start]
--[suffixed expr start] any
--[primary start] any
print --global symbol ?
--[primary end]
--[suffix list start]
--[function call start] any
(
--[binary expr start] number
--[suffixed expr start] number
--[primary start] number
i --local symbol number
--[primary end]
--[suffixed expr end]
+
4.2000000000000002
--[binary expr end]
)
--[function call end]
--[suffix list end]
--[suffixed expr end]
--[expression list end]
--[expression statement end]
end
return
end
--
--[[return {1,2,3}
]]
function()
return
{ --[table constructor start] table
--[indexed assign start] integer
--[value start]
1
--[value end]
--[indexed assign end]
,
--[indexed assign start] integer
--[value start]
2
--[value end]
--[indexed assign end]
,
--[indexed assign start] integer
--[value start]
3
--[value end]
--[indexed assign end]
} --[table constructor end]
end
--
--[[local a: integer return {1+a}
]]
function()
--locals a
local
--[symbols]
a --local symbol integer
return
{ --[table constructor start] table
--[indexed assign start] integer
--[value start]
--[binary expr start] integer
1
+
--[suffixed expr start] integer
--[primary start] integer
a --local symbol integer
--[primary end]
--[suffixed expr end]
--[binary expr end]
--[value end]
--[indexed assign end]
} --[table constructor end]
end
--
--[[return {[1] = a}
]]
function()
return
{ --[table constructor start] table
--[indexed assign start] any
--[index start]
--[Y index start] any
[
1
]
--[Y index end]
--[index end]
--[value start]
--[suffixed expr start] any
--[primary start] any
a --global symbol ?
--[primary end]
--[suffixed expr end]
--[value end]
--[indexed assign end]
} --[table constructor end]
end
--