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.
1745 lines
34 KiB
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
|
|
|
|
--
|