fix impatient not found on bootstrap

This commit is contained in:
nullchilly
2022-08-07 12:31:11 +07:00
committed by Sidhanth Rathod
parent 33c304f627
commit 074b656cbd
55 changed files with 17472 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
================================================================================
chunk
================================================================================
--------------------------------------------------------------------------------
(chunk)
================================================================================
hash_bang_line
================================================================================
#!/usr/bin/env lua
--------------------------------------------------------------------------------
(chunk
(hash_bang_line))
================================================================================
return_statement
================================================================================
return 42
--------------------------------------------------------------------------------
(chunk
(return_statement
(expression_list
(number))))

View File

@@ -0,0 +1,80 @@
================================================================================
comment
================================================================================
--
-- single-line comment, below an empty single-line comment
--[[
print("block comment")
--]]
--[[
print("block comment")
]]
-- [[
print("not block comment")
--]]
--[=[[print("level 1 block comment")]]=]
--[=[
[print("level 1 block comment")]
]=]
--[=[
[print("level 1 block comment")
]=]
--[=[
print("level 1 block comment")]
]=]
--[=[
[[print("level 1 block comment")
]=]
--[=[
print("level 1 block comment")]]
]=]
--[==[
print("level 2 block comment")
-- ]==]
--[==[
print("level 2 block comment")
]==]
-- [==[
print("not level 2 block comment")
--]==]
--------------------------------------------------------------------------------
(chunk
(comment)
(comment)
(comment)
(comment)
(comment)
(function_call
name: (identifier)
arguments: (arguments
(string)))
(comment)
(comment)
(comment)
(comment)
(comment)
(comment)
(comment)
(comment)
(comment)
(comment)
(function_call
name: (identifier)
arguments: (arguments
(string)))
(comment))

View File

@@ -0,0 +1,591 @@
================================================================================
nil
================================================================================
exp(nil)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(nil))))
================================================================================
false
================================================================================
exp(false)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(false))))
================================================================================
true
================================================================================
exp(true)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(true))))
================================================================================
number
================================================================================
exp(
3,
345,
0xff,
0xBEBADA,
3.0,
3.1416,
314.16e-2,
0.31416E1,
34e1,
0x0.1E,
0xA23p-4,
0X1.921FB54442D18P+1
)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(number)
(number)
(number)
(number)
(number)
(number)
(number)
(number)
(number)
(number)
(number)
(number))))
================================================================================
string
================================================================================
exp(
"string",
'string',
"a\
b",
'a\z',
'a\z
',
'a\z
b',
"'a\z\
b'",
"c",
'c',
"0",
[[ string ]],
[[
string
string
]],
[=[
string
string
]=],
[=[[string]]=],
[=[
[string]
]=],
[=[
[string
]=],
[=[
string]
]=],
[=[
[[string
]=],
[=[
string]]
]=]
)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string)
(string))))
================================================================================
vararg_expression
================================================================================
exp(...)
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments
(vararg_expression))))
================================================================================
function_definition
================================================================================
f1 = function() end
f2 = function() return end
f3 = function(...)
return ...
end
f4 = function(a1, ...)
print(...)
return a1
end
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_definition
parameters: (parameters))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_definition
parameters: (parameters)
body: (block
(return_statement)))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_definition
parameters: (parameters
(vararg_expression))
body: (block
(return_statement
(expression_list
(vararg_expression)))))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_definition
parameters: (parameters
name: (identifier)
(vararg_expression))
body: (block
(function_call
name: (identifier)
arguments: (arguments
(vararg_expression)))
(return_statement
(expression_list
(identifier))))))))
================================================================================
variable ::: identifier
================================================================================
v1 = n1
v2, v3 = n2, n3
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (identifier)))
(assignment_statement
(variable_list
name: (identifier)
name: (identifier))
(expression_list
value: (identifier)
value: (identifier))))
================================================================================
variable ::: bracket_index_expression
================================================================================
v1 = tbl[k1]
v2, v3[v] = tbl[k1]["k2"]
v4 = tbk[getK1()][getK2()]
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (bracket_index_expression
table: (identifier)
field: (identifier))))
(assignment_statement
(variable_list
name: (identifier)
name: (bracket_index_expression
table: (identifier)
field: (identifier)))
(expression_list
value: (bracket_index_expression
table: (bracket_index_expression
table: (identifier)
field: (identifier))
field: (string))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (bracket_index_expression
table: (bracket_index_expression
table: (identifier)
field: (function_call
name: (identifier)
arguments: (arguments)))
field: (function_call
name: (identifier)
arguments: (arguments))))))
================================================================================
variable ::: dot_index_expression
================================================================================
v1 = tbl.k1
v2 = tbl.k1.k2
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (dot_index_expression
table: (identifier)
field: (identifier))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (dot_index_expression
table: (dot_index_expression
table: (identifier)
field: (identifier))
field: (identifier)))))
================================================================================
function_call ::: bracket_index_expression | dot_index_expression
================================================================================
v1 = tbl[k1].k2(a1, "a2", a3())
v2 = tbl[k1] { f1 = true }
v3 = tbl[k1] "a1"
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_call
name: (dot_index_expression
table: (bracket_index_expression
table: (identifier)
field: (identifier))
field: (identifier))
arguments: (arguments
(identifier)
(string)
(function_call
name: (identifier)
arguments: (arguments))))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_call
name: (bracket_index_expression
table: (identifier)
field: (identifier))
arguments: (arguments
(table_constructor
(field
name: (identifier)
value: (true)))))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (function_call
name: (bracket_index_expression
table: (identifier)
field: (identifier))
arguments: (arguments
(string))))))
================================================================================
function_call ::: method_index_expression
================================================================================
tbl.k1:m1(a1, "a2")
tbl[k1]:m1 { f1, "f2" }
tbl:m1 "a1"
--------------------------------------------------------------------------------
(chunk
(function_call
name: (method_index_expression
table: (dot_index_expression
table: (identifier)
field: (identifier))
method: (identifier))
arguments: (arguments
(identifier)
(string)))
(function_call
name: (method_index_expression
table: (bracket_index_expression
table: (identifier)
field: (identifier))
method: (identifier))
arguments: (arguments
(table_constructor
(field
value: (identifier))
(field
value: (string)))))
(function_call
name: (method_index_expression
table: (identifier)
method: (identifier))
arguments: (arguments
(string))))
================================================================================
parenthesized_expression
================================================================================
v = ( true )
v = ( ( false ) )
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (parenthesized_expression
(true))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (parenthesized_expression
(parenthesized_expression
(false))))))
================================================================================
table_constructor
================================================================================
tbl1 = {
["k1"] = {
['k2'] = true,
k3 = false
}
}
local tbl2 = {
k1 = {
{ 'v1', "v2" }
}
}
local tbl3 = { "v1", k1 = "v2" }
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (table_constructor
(field
name: (string)
value: (table_constructor
(field
name: (string)
value: (true))
(field
name: (identifier)
value: (false)))))))
local_declaration: (variable_declaration
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (table_constructor
(field
name: (identifier)
value: (table_constructor
(field
value: (table_constructor
(field
value: (string))
(field
value: (string))))))))))
local_declaration: (variable_declaration
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (table_constructor
(field
value: (string))
(field
name: (identifier)
value: (string)))))))
================================================================================
binary_expression
================================================================================
a = i + j * 3 - k % 5
b = i + j % 3 ^ 2
c = i * 2 ^ j
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (binary_expression
left: (identifier)
right: (binary_expression
left: (identifier)
right: (number)))
right: (binary_expression
left: (identifier)
right: (number)))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (identifier)
right: (binary_expression
left: (identifier)
right: (binary_expression
left: (number)
right: (number))))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (identifier)
right: (binary_expression
left: (number)
right: (identifier))))))
================================================================================
unary_expression
================================================================================
v1 = #l
v2 = -n
v3 = not c1 and r1 or r2
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (unary_expression
operand: (identifier))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (unary_expression
operand: (identifier))))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (binary_expression
left: (unary_expression
operand: (identifier))
right: (identifier))
right: (identifier)))))

View File

@@ -0,0 +1,459 @@
================================================================================
empty_statement
================================================================================
;
;;
--------------------------------------------------------------------------------
(chunk
(empty_statement)
(empty_statement)
(empty_statement))
================================================================================
assignment_statement
================================================================================
i = 1
j, tbl[k()] = 2, i + 1
x, y = y, x
--------------------------------------------------------------------------------
(chunk
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (number)))
(assignment_statement
(variable_list
name: (identifier)
name: (bracket_index_expression
table: (identifier)
field: (function_call
name: (identifier)
arguments: (arguments))))
(expression_list
value: (number)
value: (binary_expression
left: (identifier)
right: (number))))
(assignment_statement
(variable_list
name: (identifier)
name: (identifier))
(expression_list
value: (identifier)
value: (identifier))))
================================================================================
function_call
================================================================================
f1()
tbl.f2()
tbl["f2"]()
tbl.k1:f3()
f4(a1)("a2") { a3 = "a3" }
--------------------------------------------------------------------------------
(chunk
(function_call
name: (identifier)
arguments: (arguments))
(function_call
name: (dot_index_expression
table: (identifier)
field: (identifier))
arguments: (arguments))
(function_call
name: (bracket_index_expression
table: (identifier)
field: (string))
arguments: (arguments))
(function_call
name: (method_index_expression
table: (dot_index_expression
table: (identifier)
field: (identifier))
method: (identifier))
arguments: (arguments))
(function_call
name: (function_call
name: (function_call
name: (identifier)
arguments: (arguments
(identifier)))
arguments: (arguments
(string)))
arguments: (arguments
(table_constructor
(field
name: (identifier)
value: (string))))))
================================================================================
label_statement
================================================================================
:: label_name ::
--------------------------------------------------------------------------------
(chunk
(label_statement
(identifier)))
================================================================================
break_statement
================================================================================
for k, v in pairs(kv) do
if not v then
break
end
end
--------------------------------------------------------------------------------
(chunk
(for_statement
clause: (for_generic_clause
(variable_list
name: (identifier)
name: (identifier))
(expression_list
(function_call
name: (identifier)
arguments: (arguments
(identifier)))))
body: (block
(if_statement
condition: (unary_expression
operand: (identifier))
consequence: (block
(break_statement))))))
================================================================================
goto_statement
================================================================================
goto label_name
--------------------------------------------------------------------------------
(chunk
(goto_statement
(identifier)))
================================================================================
do_statement
================================================================================
do
f1()
return f2()
end
do end
--------------------------------------------------------------------------------
(chunk
(do_statement
body: (block
(function_call
name: (identifier)
arguments: (arguments))
(return_statement
(expression_list
(function_call
name: (identifier)
arguments: (arguments))))))
(do_statement))
================================================================================
while_statement
================================================================================
while i < 9 do
i = i + 1
end
while false do end
--------------------------------------------------------------------------------
(chunk
(while_statement
condition: (binary_expression
left: (identifier)
right: (number))
body: (block
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (identifier)
right: (number))))))
(while_statement
condition: (false)))
================================================================================
repeat_statement
================================================================================
repeat
f1()
i = i - 1
until i == 0
repeat until false
--------------------------------------------------------------------------------
(chunk
(repeat_statement
body: (block
(function_call
name: (identifier)
arguments: (arguments))
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (binary_expression
left: (identifier)
right: (number)))))
condition: (binary_expression
left: (identifier)
right: (number)))
(repeat_statement
condition: (false)))
================================================================================
if_statement
================================================================================
if num % 2 == 0 then
print("even")
elseif num % 2 ~= 0 then
print("odd")
else
error("!")
end
if c1 then end
if c1 then else end
if c1 then elseif c2 then else end
--------------------------------------------------------------------------------
(chunk
(if_statement
condition: (binary_expression
left: (binary_expression
left: (identifier)
right: (number))
right: (number))
consequence: (block
(function_call
name: (identifier)
arguments: (arguments
(string))))
alternative: (elseif_statement
condition: (binary_expression
left: (binary_expression
left: (identifier)
right: (number))
right: (number))
consequence: (block
(function_call
name: (identifier)
arguments: (arguments
(string)))))
alternative: (else_statement
body: (block
(function_call
name: (identifier)
arguments: (arguments
(string))))))
(if_statement
condition: (identifier))
(if_statement
condition: (identifier)
alternative: (else_statement))
(if_statement
condition: (identifier)
alternative: (elseif_statement
condition: (identifier))
alternative: (else_statement)))
================================================================================
for_statement ::: for_generic_clause
================================================================================
for k, v in pairs(kv) do
print(k, v)
end
for i in ipairs(iv) do end
--------------------------------------------------------------------------------
(chunk
(for_statement
clause: (for_generic_clause
(variable_list
name: (identifier)
name: (identifier))
(expression_list
(function_call
name: (identifier)
arguments: (arguments
(identifier)))))
body: (block
(function_call
name: (identifier)
arguments: (arguments
(identifier)
(identifier)))))
(for_statement
clause: (for_generic_clause
(variable_list
name: (identifier))
(expression_list
(function_call
name: (identifier)
arguments: (arguments
(identifier)))))))
================================================================================
for_statement ::: for_numeric_clause
================================================================================
for n = 1, 10 do
print(n)
end
for n = 1, 10, 2 do end
--------------------------------------------------------------------------------
(chunk
(for_statement
clause: (for_numeric_clause
name: (identifier)
start: (number)
end: (number))
body: (block
(function_call
name: (identifier)
arguments: (arguments
(identifier)))))
(for_statement
clause: (for_numeric_clause
name: (identifier)
start: (number)
end: (number)
step: (number))))
================================================================================
function_declaration
================================================================================
function tbl.f1() end
function tbl:f2() end
function tbl.k1:f3() end
function f4()
print('f4')
end
local function f5() end
--------------------------------------------------------------------------------
(chunk
(function_declaration
name: (dot_index_expression
table: (identifier)
field: (identifier))
parameters: (parameters))
(function_declaration
name: (method_index_expression
table: (identifier)
method: (identifier))
parameters: (parameters))
(function_declaration
name: (method_index_expression
table: (dot_index_expression
table: (identifier)
field: (identifier))
method: (identifier))
parameters: (parameters))
(function_declaration
name: (identifier)
parameters: (parameters)
body: (block
(function_call
name: (identifier)
arguments: (arguments
(string)))))
local_declaration: (function_declaration
name: (identifier)
parameters: (parameters)))
================================================================================
variable_declaration
================================================================================
local v1 = 1
local v2, v3 = 2, 3
local v4, v4 = f1(), tbl:f2()
--------------------------------------------------------------------------------
(chunk
local_declaration: (variable_declaration
(assignment_statement
(variable_list
name: (identifier))
(expression_list
value: (number))))
local_declaration: (variable_declaration
(assignment_statement
(variable_list
name: (identifier)
name: (identifier))
(expression_list
value: (number)
value: (number))))
local_declaration: (variable_declaration
(assignment_statement
(variable_list
name: (identifier)
name: (identifier))
(expression_list
value: (function_call
name: (identifier)
arguments: (arguments))
value: (function_call
name: (method_index_expression
table: (identifier)
method: (identifier))
arguments: (arguments))))))