--- source: src/main.rs expression: parsed input_file: test-data/lua5.4-tests/code.lua --- [ IfStatement { condition: [ Ident { expr: [ Symbol( "T", ), ], line: 4, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], body: CodeBlock { start: 5, code: [ Expr( [ Ident { expr: [ Symbol( "Message", ), ], line: 5, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "print", ), ], line: 5, }, ], ), Ident { expr: [ Call( [ [ Symbol( "'\\n >>> testC not active: skipping opcode tests <<<\\n'", ), ], ], ), ], line: 5, }, Return( None, ), ], end: 15, }, next: None, line: 7, column: 1, }, Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "\"testing code generation and optimizations\"", ), ], ], ), ], line: 7, }, Variable { names: [ ( "k0aux", false, ), ], values: [ [ Symbol( "0", ), ], ], line: 12, column: 0, }, Variable { names: [ ( "k0", false, ), ], values: [ [ Ident { expr: [ Symbol( "k0aux", ), ], line: 12, }, ], ], line: 13, column: 0, }, Variable { names: [ ( "k1", false, ), ], values: [ [ Symbol( "1", ), ], ], line: 14, column: 0, }, Variable { names: [ ( "k3", false, ), ], values: [ [ Symbol( "3", ), ], ], line: 15, column: 0, }, Variable { names: [ ( "k6", false, ), ], values: [ [ Ident { expr: [ Symbol( "k3", ), ], line: 15, }, Operator( ( "+", true, ), ), Expr( [ Ident { expr: [ Symbol( "k3", ), ], line: 15, }, Operator( ( "<<", true, ), ), Ident { expr: [ Symbol( "k0", ), ], line: 15, }, ], ), Ident { expr: [], line: 15, }, ], ], line: 16, column: 0, }, Variable { names: [ ( "kFF0", false, ), ], values: [ [ Symbol( "0xFF0", ), ], ], line: 17, column: 0, }, Variable { names: [ ( "k3_78", false, ), ], values: [ [ Symbol( "3.78", ), ], ], line: 18, column: 0, }, Variable { names: [ ( "x", false, ), ( "k3_78_4", false, ), ], values: [ [ Symbol( "10", ), ], [ Ident { expr: [ Symbol( "k3_78", ), ], line: 18, }, Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 18, column: 13, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "x", ), ], line: 19, }, Operator( ( "==", true, ), ), Symbol( "10", ), ], ], ), ], line: 18, }, Variable { names: [ ( "kx", false, ), ], values: [ [ Symbol( "\"x\"", ), ], ], line: 23, column: 0, }, Variable { names: [ ( "kTrue", false, ), ], values: [ [ Symbol( "true", ), ], ], line: 24, column: 0, }, Variable { names: [ ( "kFalse", false, ), ], values: [ [ Symbol( "false", ), ], ], line: 26, column: 0, }, Variable { names: [ ( "kNil", false, ), ], values: [ [ Symbol( "nil", ), ], ], line: 29, column: 0, }, DoBlock( CodeBlock { start: 120, code: [ Function { local: true, name: [ Symbol( "f", ), ], args: [ "a", ], body: CodeBlock { start: 6, code: [ ForFuncLoop { iters: [ "k", "v", "w", ], expr: [ Ident { expr: [ Symbol( "a", ), ], line: 31, }, ], stop: None, initial: None, code: CodeBlock { start: 9, code: [], end: 10, }, line: 31, column: 10, }, ], end: 17, }, line: 32, column: 1, }, ], end: 138, }, ), Function { local: true, name: [ Symbol( "checkKlist", ), ], args: [ "func", "list", ], body: CodeBlock { start: 146, code: [ Variable { names: [ ( "k", false, ), ], values: [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listk", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 38, }, ], ], ), ], line: 38, }, ], ], line: 38, column: 9, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "k", ), ], line: 39, }, Operator( ( "==", true, ), ), Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "list", ), ], line: 39, }, ], ], ), ], line: 38, }, ForLoop { iter: "i", start: [ Symbol( "1", ), ], end: [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "k", ), ], line: 40, }, ], step: None, code: CodeBlock { start: 25, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "k", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 41, }, ], ), Symbol( "]", ), ], line: 41, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "list", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 41, }, ], ), Symbol( "]", ), ], line: 41, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "k", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 41, }, ], ), Symbol( "]", ), ], line: 41, }, ], ], ), ], line: 41, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "list", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 41, }, ], ), Symbol( "]", ), ], line: 41, }, ], ], ), ], line: 41, }, ], ], ), ], line: 41, }, ], end: 58, }, line: 42, column: 1, }, ], end: 205, }, line: 43, column: 1, }, Function { local: true, name: [ Symbol( "foo", ), ], args: [], body: CodeBlock { start: 210, code: [ Variable { names: [ ( "a", false, ), ], values: [], line: 46, column: 2, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 46, }, ], values: [ [ Ident { expr: [ Symbol( "k3", ), ], line: 47, }, ], ], line: 47, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 47, }, ], values: [ [ Symbol( "0", ), ], ], line: 48, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 48, }, ], values: [ [ Symbol( "0.0", ), ], ], line: 48, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 48, }, ], values: [ [ Operator( ( "-", false, ), ), Symbol( "7", ), Operator( ( "+", true, ), ), Symbol( "7", ), ], ], line: 48, column: 14, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 48, }, ], values: [ [ Ident { expr: [ Symbol( "k3_78", ), ], line: 49, }, Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 49, column: 6, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 49, }, ], values: [ [ Ident { expr: [ Symbol( "k3_78_4", ), ], line: 49, }, ], ], line: 49, column: 9, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 49, }, ], values: [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "k3_78", ), ], line: 50, }, Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 50, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 50, }, ], values: [ [ Ident { expr: [ Symbol( "k3_78", ), ], line: 50, }, Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 50, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 50, }, ], values: [ [ Operator( ( "-", false, ), ), Symbol( "3.78", ), Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 50, column: 19, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 50, }, ], values: [ [ Operator( ( "-", false, ), ), Symbol( "3.79", ), Operator( ( "/", true, ), ), Symbol( "4", ), ], ], line: 51, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 51, }, ], values: [ [ Symbol( "0.0", ), ], ], line: 51, column: 11, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 51, }, ], values: [ [ Operator( ( "-", false, ), ), Symbol( "0", ), ], ], line: 51, column: 16, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 51, }, ], values: [ [ Ident { expr: [ Symbol( "k3", ), ], line: 52, }, ], ], line: 52, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 52, }, ], values: [ [ Symbol( "3.0", ), ], ], line: 52, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 52, }, ], values: [ [ Symbol( "3", ), ], ], line: 52, column: 12, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 52, }, ], values: [ [ Symbol( "3.0", ), ], ], line: 52, column: 15, }, ], end: 290, }, line: 53, column: 1, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "foo", ), ], line: 55, }, ], [ Table { data: [ ( None, [ Symbol( "3.78", ), Operator( ( "/", true, ), ), Symbol( "4", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "3.78", ), Operator( ( "/", true, ), ), Symbol( "4", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "3.79", ), Operator( ( "/", true, ), ), Symbol( "4", ), ], ), ], line: 55, column: 19, }, ], ], ), ], line: 53, }, Alter { names: [ Ident { expr: [ Symbol( "foo", ), ], line: 55, }, ], values: [ [ Lambda { args: [ "f", "a", ], body: CodeBlock { start: 318, code: [ Ident { expr: [ Symbol( "f", ), Call( [ [ Symbol( "100", ), Operator( ( "*", true, ), ), Symbol( "1000", ), ], ], ), ], line: 59, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Symbol( "100.0", ), Operator( ( "*", true, ), ), Symbol( "1000", ), ], ], ), ], line: 59, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "100", ), Operator( ( "*", true, ), ), Symbol( "1000", ), ], ], ), ], line: 60, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "100", ), Operator( ( "*", true, ), ), Symbol( "1000.0", ), ], ], ), ], line: 61, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Symbol( "100000", ), ], ], ), ], line: 62, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Symbol( "100000.0", ), ], ], ), ], line: 63, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "100000", ), ], ], ), ], line: 64, }, Ident { expr: [ Symbol( "f", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "100000.0", ), ], ], ), ], line: 65, }, ], end: 363, }, line: 67, column: 1, }, ], ], line: 67, column: 1, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "foo", ), ], line: 69, }, ], [ Table { data: [ ( None, [ Symbol( "100000", ), ], ), ( None, [ Symbol( "100000.0", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "100000", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "100000.0", ), ], ), ], line: 69, column: 15, }, ], ], ), ], line: 67, }, Alter { names: [ Ident { expr: [ Symbol( "foo", ), ], line: 69, }, ], values: [ [ Lambda { args: [ "t", "a", ], body: CodeBlock { start: 387, code: [ Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 74, }, ], ), Symbol( "]", ), ], line: 74, }, ], values: [ [ Symbol( "1", ), ], ], line: 74, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 74, }, ], ), Symbol( "]", ), ], line: 74, }, ], values: [ [ Symbol( "1.0", ), ], ], line: 74, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 75, }, ], ), Symbol( "]", ), ], line: 74, }, ], values: [ [ Symbol( "1", ), ], ], line: 75, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 75, }, ], ), Symbol( "]", ), ], line: 75, }, ], values: [ [ Symbol( "1.0", ), ], ], line: 75, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 76, }, ], ), Symbol( "]", ), ], line: 75, }, ], values: [ [ Symbol( "2", ), ], ], line: 76, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 76, }, ], ), Symbol( "]", ), ], line: 76, }, ], values: [ [ Symbol( "2.0", ), ], ], line: 76, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 77, }, ], ), Symbol( "]", ), ], line: 76, }, ], values: [ [ Symbol( "0", ), ], ], line: 77, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 77, }, ], ), Symbol( "]", ), ], line: 77, }, ], values: [ [ Symbol( "0.0", ), ], ], line: 77, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 78, }, ], ), Symbol( "]", ), ], line: 77, }, ], values: [ [ Symbol( "1", ), ], ], line: 78, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 78, }, ], ), Symbol( "]", ), ], line: 78, }, ], values: [ [ Symbol( "1.0", ), ], ], line: 78, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 79, }, ], ), Symbol( "]", ), ], line: 78, }, ], values: [ [ Symbol( "2", ), ], ], line: 79, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 79, }, ], ), Symbol( "]", ), ], line: 79, }, ], values: [ [ Symbol( "2.0", ), ], ], line: 79, column: 13, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 80, }, ], ), Symbol( "]", ), ], line: 79, }, ], values: [ [ Symbol( "0", ), ], ], line: 80, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 80, }, ], ), Symbol( "]", ), ], line: 80, }, ], values: [ [ Symbol( "0.0", ), ], ], line: 80, column: 13, }, ], end: 479, }, line: 81, column: 1, }, ], ], line: 81, column: 1, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "foo", ), ], line: 83, }, ], [ Table { data: [ ( None, [ Symbol( "1", ), ], ), ( None, [ Symbol( "1.0", ), ], ), ( None, [ Symbol( "2", ), ], ), ( None, [ Symbol( "2.0", ), ], ), ( None, [ Symbol( "0", ), ], ), ( None, [ Symbol( "0.0", ), ], ), ], line: 83, column: 17, }, ], ], ), ], line: 81, }, Function { local: false, name: [ Symbol( "check", ), ], args: [ "f", "...", ], body: CodeBlock { start: 504, code: [ Variable { names: [ ( "arg", false, ), ], values: [ [ Table { data: [ ( None, [ Symbol( "...", ), ], ), ], line: 90, column: 6, }, ], ], line: 91, column: 0, }, Variable { names: [ ( "c", false, ), ], values: [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listcode", ), Call( [ [ Ident { expr: [ Symbol( "f", ), ], line: 91, }, ], ], ), ], line: 91, }, ], ], line: 92, column: 0, }, ForLoop { iter: "i", start: [ Symbol( "1", ), ], end: [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "arg", ), ], line: 92, }, ], step: None, code: CodeBlock { start: 23, code: [ Variable { names: [ ( "opcode", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "match", ), Call( [ [ Ident { expr: [ Symbol( "c", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 93, }, ], ), Symbol( "]", ), ], line: 93, }, ], [ Symbol( "\"%u%w+\"", ), ], ], ), ], line: 93, }, ], ], line: 93, column: 14, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "arg", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 95, }, ], ), Symbol( "]", ), ], line: 95, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "opcode", ), ], line: 95, }, ], ], ), ], line: 93, }, ], end: 47, }, line: 96, column: 1, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "c", ), Symbol( "[", ), Expr( [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "arg", ), ], line: 97, }, Operator( ( "+", true, ), ), Symbol( "2", ), ], ), Symbol( "]", ), ], line: 97, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "undef", ), ], line: 97, }, ], ], ), ], line: 96, }, ], end: 564, }, line: 98, column: 1, }, Function { local: false, name: [ Symbol( "checkR", ), ], args: [ "f", "p", "r", "...", ], body: CodeBlock { start: 575, code: [ Variable { names: [ ( "r1", false, ), ], values: [ [ Ident { expr: [ Symbol( "f", ), Call( [ [ Ident { expr: [ Symbol( "p", ), ], line: 103, }, ], ], ), ], line: 103, }, ], ], line: 103, column: 7, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "r", ), ], line: 104, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "r1", ), ], line: 104, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "r", ), ], line: 104, }, ], ], ), ], line: 104, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "r1", ), ], line: 104, }, ], ], ), ], line: 104, }, ], ], ), ], line: 103, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Ident { expr: [ Symbol( "f", ), ], line: 105, }, ], [ Symbol( "...", ), ], ], ), ], line: 104, }, ], end: 609, }, line: 106, column: 1, }, Function { local: false, name: [ Symbol( "checkequal", ), ], args: [ "a", "b", ], body: CodeBlock { start: 616, code: [ Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 111, }, ], values: [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listcode", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 111, }, ], ], ), ], line: 111, }, ], ], line: 111, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 111, }, ], values: [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listcode", ), Call( [ [ Ident { expr: [ Symbol( "b", ), ], line: 112, }, ], ], ), ], line: 112, }, ], ], line: 112, column: 8, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "a", ), ], line: 113, }, Operator( ( "==", true, ), ), Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "b", ), ], line: 113, }, ], ], ), ], line: 112, }, ForLoop { iter: "i", start: [ Symbol( "1", ), ], end: [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "a", ), ], line: 114, }, ], step: None, code: CodeBlock { start: 32, code: [ Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 115, }, ], ), Symbol( "]", ), ], line: 115, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gsub", ), Call( [ [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 115, }, ], ), Symbol( "]", ), ], line: 115, }, ], [ Symbol( "'%b()'", ), ], [ Symbol( "''", ), ], ], ), ], line: 115, }, ], ], line: 115, column: 18, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 116, }, ], ), Symbol( "]", ), ], line: 115, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gsub", ), Call( [ [ Ident { expr: [ Symbol( "b", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 116, }, ], ), Symbol( "]", ), ], line: 116, }, ], [ Symbol( "'%b()'", ), ], [ Symbol( "''", ), ], ], ), ], line: 116, }, ], ], line: 116, column: 18, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 117, }, ], ), Symbol( "]", ), ], line: 117, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "b", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 117, }, ], ), Symbol( "]", ), ], line: 117, }, ], ], ), ], line: 116, }, ], end: 81, }, line: 118, column: 1, }, ], end: 698, }, line: 119, column: 1, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 703, code: [ Expr( [ Lambda { args: [], body: CodeBlock { start: 4, code: [], end: 5, }, line: 124, column: 5, }, ], ), Ident { expr: [ Call( [ [ Table { data: [ ( None, [ Ident { expr: [ Symbol( "f", ), Call( [], ), ], line: 124, }, ], ), ], line: 124, column: 11, }, ], ], ), ], line: 124, }, ], end: 715, }, line: 125, column: 1, }, ], [ Symbol( "'CLOSURE'", ), ], [ Symbol( "'NEWTABLE'", ), ], [ Symbol( "'EXTRAARG'", ), ], [ Symbol( "'GETTABUP'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'SETLIST'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 119, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 738, code: [ Expr( [ Lambda { args: [], body: CodeBlock { start: 4, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 129, }, ], ], ), ), ], end: 7, }, line: 129, column: 7, }, ], ), Ident { expr: [ Call( [ [ Table { data: [ ( None, [ Ident { expr: [ Symbol( "f", ), Call( [], ), ], line: 129, }, ], ), ], line: 129, column: 13, }, ], ], ), ], line: 129, }, ], end: 752, }, line: 130, column: 1, }, ], [ Symbol( "'CLOSURE'", ), ], [ Symbol( "'NEWTABLE'", ), ], [ Symbol( "'EXTRAARG'", ), ], [ Symbol( "'GETTABUP'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'SETLIST'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'RETURN'", ), ], ], ), ], line: 126, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 774, code: [ Variable { names: [ ( "kNil", false, ), ], values: [ [ Symbol( "nil", ), ], ], line: 137, column: 0, }, Variable { names: [ ( "a", false, ), ( "b", false, ), ( "c", false, ), ], values: [], line: 137, column: 6, }, Variable { names: [ ( "d", false, ), ], values: [], line: 138, column: 3, }, Variable { names: [ ( "e", false, ), ], values: [], line: 138, column: 6, }, Variable { names: [ ( "f", false, ), ( "g", false, ), ( "h", false, ), ], values: [], line: 139, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "d", ), ], line: 139, }, ], values: [ [ Symbol( "nil", ), ], ], line: 140, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "d", ), ], line: 140, }, ], values: [ [ Symbol( "nil", ), ], ], line: 140, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 140, }, ], values: [ [ Symbol( "nil", ), ], ], line: 140, column: 12, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 140, }, ], values: [ [ Ident { expr: [ Symbol( "kNil", ), ], line: 140, }, ], ], line: 140, column: 16, }, Alter { names: [ Ident { expr: [ Symbol( "c", ), ], line: 140, }, ], values: [ [ Symbol( "nil", ), ], ], line: 140, column: 20, }, ], end: 821, }, line: 141, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 131, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 831, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ( "c", false, ), ( "d", false, ), ], values: [ [ Symbol( "1", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], ], line: 144, column: 16, }, Alter { names: [ Ident { expr: [ Symbol( "d", ), ], line: 144, }, ], values: [ [ Symbol( "nil", ), ], ], line: 145, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "c", ), ], line: 145, }, ], values: [ [ Symbol( "nil", ), ], ], line: 145, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 145, }, ], values: [ [ Symbol( "nil", ), ], ], line: 145, column: 12, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 145, }, ], values: [ [ Symbol( "nil", ), ], ], line: 145, column: 15, }, ], end: 863, }, line: 146, column: 1, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 141, }, DoBlock( CodeBlock { start: 877, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ( "c", false, ), ( "d", false, ), ], values: [ [ Symbol( "1", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], ], line: 149, column: 16, }, Alter { names: [ Ident { expr: [ Symbol( "d", ), ], line: 149, }, ], values: [ [ Symbol( "nil", ), ], ], line: 150, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "c", ), ], line: 150, }, ], values: [ [ Symbol( "nil", ), ], ], line: 150, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 150, }, ], values: [ [ Symbol( "nil", ), ], ], line: 150, column: 12, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 150, }, ], values: [ [ Symbol( "nil", ), ], ], line: 150, column: 15, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 151, }, Operator( ( "==", true, ), ), Symbol( "nil", ), Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "b", ), ], line: 151, }, Operator( ( "==", true, ), ), Symbol( "nil", ), Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "c", ), ], line: 151, }, Operator( ( "==", true, ), ), Symbol( "nil", ), Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "d", ), ], line: 151, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 150, }, ], end: 927, }, ), Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "a", "b", "c", ], body: CodeBlock { start: 937, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "a", ), ], line: 156, }, ], ], ), ), ], end: 940, }, line: 156, column: 13, }, ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 152, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 948, code: [ WhileLoop { condition: [ Ident { expr: [ Symbol( "kTrue", ), ], line: 160, }, ], body: CodeBlock { start: 3, code: [ Variable { names: [ ( "a", false, ), ], values: [ [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], line: 160, column: 5, }, ], end: 9, }, line: 160, column: 9, }, ], end: 958, }, line: 160, column: 15, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 156, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 970, code: [ WhileLoop { condition: [ Symbol( "1", ), ], body: CodeBlock { start: 3, code: [ Variable { names: [ ( "a", false, ), ], values: [ [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], line: 163, column: 5, }, ], end: 9, }, line: 163, column: 9, }, ], end: 980, }, line: 163, column: 15, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 161, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 992, code: [ RepeatLoop { condition: [ Symbol( "true", ), ], body: CodeBlock { start: 1, code: [ Variable { names: [ ( "x", false, ), ], values: [ [ Symbol( "1", ), ], ], line: 166, column: 4, }, ], end: 6, }, line: 166, column: 7, }, ], end: 1000, }, line: 166, column: 13, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 164, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "a", "b", "c", "d", ], body: CodeBlock { start: 1017, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "a", ), ], line: 171, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "b", ), ], line: 171, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "c", ), ], line: 171, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "d", ), ], line: 171, }, ], ], ), ), ], end: 1026, }, line: 171, column: 21, }, ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'CONCAT'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 167, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1044, code: [ Return( Some( [ [ Operator( ( "not", false, ), ), Operator( ( "not", false, ), ), Symbol( "nil", ), ], ], ), ), ], end: 1049, }, line: 175, column: 10, }, ], [ Symbol( "'LOADFALSE'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 172, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1059, code: [ Return( Some( [ [ Operator( ( "not", false, ), ), Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "kFalse", ), ], line: 176, }, ], ], ), ), ], end: 1064, }, line: 176, column: 10, }, ], [ Symbol( "'LOADFALSE'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 175, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1074, code: [ Return( Some( [ [ Operator( ( "not", false, ), ), Operator( ( "not", false, ), ), Symbol( "true", ), ], ], ), ), ], end: 1079, }, line: 177, column: 10, }, ], [ Symbol( "'LOADTRUE'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 176, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1089, code: [ Return( Some( [ [ Operator( ( "not", false, ), ), Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "k3", ), ], line: 178, }, ], ], ), ), ], end: 1094, }, line: 178, column: 10, }, ], [ Symbol( "'LOADTRUE'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 177, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1104, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ( "c", false, ), ( "d", false, ), ], values: [], line: 182, column: 8, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 182, }, ], values: [ [ Ident { expr: [ Symbol( "b", ), ], line: 183, }, Operator( ( "*", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 183, }, ], ], line: 183, column: 5, }, Alter { names: [ Ident { expr: [ Symbol( "c", ), Symbol( ".", ), Symbol( "x", ), ], line: 183, }, Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "b", ), ], line: 184, }, ], ), Symbol( "]", ), ], line: 184, }, ], values: [ [ Operator( ( "-", false, ), ), Expr( [ Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 184, }, Operator( ( "+", true, ), ), Ident { expr: [ Symbol( "d", ), ], line: 184, }, Operator( ( "/", true, ), ), Ident { expr: [ Symbol( "b", ), ], line: 184, }, Operator( ( "-", true, ), ), Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "b", ), ], line: 184, }, ], ), Symbol( "]", ), ], line: 184, }, ], ), Ident { expr: [], line: 184, }, Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "a", ), Symbol( ".", ), Symbol( "x", ), ], line: 184, }, ], ), Ident { expr: [], line: 184, }, ], [ Ident { expr: [ Symbol( "b", ), ], line: 184, }, ], ], line: 184, column: 30, }, ], end: 1148, }, line: 185, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'MUL'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'DIV'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'ADD'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'GETTABLE'", ), ], [ Symbol( "'SUB'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'GETFIELD'", ), ], [ Symbol( "'POW'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'UNM'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'SETFIELD'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 178, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1188, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ], values: [], line: 194, column: 4, }, Variable { names: [ ( "c", false, ), ], values: [ [ Ident { expr: [ Symbol( "kNil", ), ], line: 195, }, ], ], line: 195, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "kx", ), ], line: 196, }, ], ), Symbol( "]", ), ], line: 195, }, ], values: [ [ Symbol( "3.2", ), ], ], line: 196, column: 6, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( ".", ), Symbol( "x", ), ], line: 196, }, ], values: [ [ Ident { expr: [ Symbol( "b", ), ], line: 197, }, ], ], line: 197, column: 5, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "b", ), ], line: 198, }, ], ), Symbol( "]", ), ], line: 197, }, ], values: [ [ Symbol( "'x'", ), ], ], line: 198, column: 6, }, ], end: 1214, }, line: 199, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'SETFIELD'", ), ], [ Symbol( "'SETFIELD'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 189, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1231, code: [ Variable { names: [ ( "k255", false, ), ], values: [ [ Symbol( "255", ), ], ], line: 204, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Symbol( "1", ), ], ), Symbol( "]", ), ], line: 204, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Symbol( "100", ), ], ), Symbol( "]", ), ], line: 205, }, ], ], line: 205, column: 9, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "k255", ), ], line: 206, }, ], ), Symbol( "]", ), ], line: 205, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Symbol( "256", ), ], ), Symbol( "]", ), ], line: 206, }, ], ], line: 206, column: 9, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Symbol( "256", ), ], ), Symbol( "]", ), ], line: 206, }, ], values: [ [ Symbol( "5", ), ], ], line: 207, column: 6, }, ], end: 1263, }, line: 208, column: 1, }, ], [ Symbol( "'GETI'", ), ], [ Symbol( "'SETI'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'GETTABLE'", ), ], [ Symbol( "'SETI'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 200, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1285, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ], values: [], line: 214, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 214, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 215, }, Operator( ( "-", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 215, }, ], ], line: 215, column: 5, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 215, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 216, }, Operator( ( "/", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 216, }, ], ], line: 216, column: 5, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 216, }, ], values: [ [ Symbol( "5", ), Operator( ( "-", true, ), ), Symbol( "4", ), ], ], line: 217, column: 5, }, ], end: 1305, }, line: 218, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'SUB'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'DIV'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 211, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1325, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ], values: [], line: 222, column: 4, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "kTrue", ), ], line: 223, }, ], ), Symbol( "]", ), ], line: 222, }, ], values: [ [ Symbol( "false", ), ], ], line: 223, column: 6, }, ], end: 1336, }, line: 224, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'LOADTRUE'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 219, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1351, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 229, }, Operator( ( "==", true, ), ), Symbol( "1", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 229, column: 8, }, ], end: 1360, }, line: 229, column: 15, }, ], [ Symbol( "1", ), ], [ Symbol( "2", ), ], [ Symbol( "'EQI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 225, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1379, code: [ IfStatement { condition: [ Operator( ( "-", false, ), ), Symbol( "4.0", ), Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 232, }, ], body: CodeBlock { start: 6, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 9, }, next: None, line: 232, column: 9, }, ], end: 1389, }, line: 232, column: 16, }, ], [ Operator( ( "-", false, ), ), Symbol( "4", ), ], [ Symbol( "2", ), ], [ Symbol( "'EQI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 230, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1409, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 235, }, Operator( ( "==", true, ), ), Symbol( "\"hi\"", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 235, column: 8, }, ], end: 1418, }, line: 235, column: 15, }, ], [ Symbol( "10", ), ], [ Symbol( "nil", ), ], [ Symbol( "'EQK'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 233, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1437, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 238, }, Operator( ( "==", true, ), ), Symbol( "10000", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 238, column: 8, }, ], end: 1446, }, line: 238, column: 15, }, ], [ Symbol( "1", ), ], [ Symbol( "nil", ), ], [ Symbol( "'EQK'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 236, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1465, code: [ IfStatement { condition: [ Operator( ( "-", false, ), ), Symbol( "10000", ), Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 241, }, ], body: CodeBlock { start: 6, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 9, }, next: None, line: 241, column: 9, }, ], end: 1475, }, line: 241, column: 16, }, ], [ Operator( ( "-", false, ), ), Symbol( "10000", ), ], [ Symbol( "2", ), ], [ Symbol( "'EQK'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 239, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1495, code: [ IfStatement { condition: [ Operator( ( "-", false, ), ), Symbol( "10", ), Operator( ( "<=", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 246, }, ], body: CodeBlock { start: 6, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 9, }, next: None, line: 246, column: 9, }, ], end: 1505, }, line: 246, column: 16, }, ], [ Operator( ( "-", false, ), ), Symbol( "10", ), ], [ Symbol( "2", ), ], [ Symbol( "'GEI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 242, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1525, code: [ IfStatement { condition: [ Symbol( "128.0", ), Operator( ( ">", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 249, }, ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 249, column: 8, }, ], end: 1534, }, line: 249, column: 15, }, ], [ Symbol( "129", ), ], [ Symbol( "nil", ), ], [ Symbol( "'LTI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 247, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1553, code: [ IfStatement { condition: [ Operator( ( "-", false, ), ), Symbol( "127.0", ), Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 252, }, ], body: CodeBlock { start: 6, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 9, }, next: None, line: 252, column: 9, }, ], end: 1563, }, line: 252, column: 16, }, ], [ Operator( ( "-", false, ), ), Symbol( "127", ), ], [ Symbol( "nil", ), ], [ Symbol( "'GTI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 250, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1583, code: [ IfStatement { condition: [ Symbol( "10", ), Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 255, }, ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 255, column: 8, }, ], end: 1592, }, line: 255, column: 15, }, ], [ Symbol( "11", ), ], [ Symbol( "2", ), ], [ Symbol( "'GTI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 253, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1611, code: [ IfStatement { condition: [ Symbol( "129", ), Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 258, }, ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 258, column: 8, }, ], end: 1620, }, line: 258, column: 15, }, ], [ Symbol( "130", ), ], [ Symbol( "2", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LT'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 256, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1641, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 261, }, Operator( ( ">=", true, ), ), Symbol( "23.0", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 261, column: 8, }, ], end: 1650, }, line: 261, column: 15, }, ], [ Symbol( "25", ), ], [ Symbol( "2", ), ], [ Symbol( "'GEI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 259, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1669, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 264, }, Operator( ( ">=", true, ), ), Symbol( "23.1", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 264, column: 8, }, ], end: 1678, }, line: 264, column: 15, }, ], [ Symbol( "0", ), ], [ Symbol( "nil", ), ], [ Symbol( "'LOADK'", ), ], [ Symbol( "'LE'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 262, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 1699, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 267, }, Operator( ( ">", true, ), ), Symbol( "2300.0", ), ], body: CodeBlock { start: 5, code: [ Return( Some( [ [ Symbol( "2", ), ], ], ), ), ], end: 8, }, next: None, line: 267, column: 8, }, ], end: 1708, }, line: 267, column: 15, }, ], [ Symbol( "0", ), ], [ Symbol( "nil", ), ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'LT'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 265, }, Function { local: true, name: [ Symbol( "checkK", ), ], args: [ "func", "val", ], body: CodeBlock { start: 1731, code: [ Ident { expr: [ Symbol( "check", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 273, }, ], [ Symbol( "'LOADK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 273, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 274, }, ], [ Table { data: [ ( None, [ Ident { expr: [ Symbol( "val", ), ], line: 274, }, ], ), ], line: 274, column: 7, }, ], ], ), ], line: 273, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "func", ), Call( [], ), ], line: 275, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "val", ), ], line: 275, }, ], ], ), ], line: 274, }, ], end: 1756, }, line: 276, column: 1, }, Function { local: true, name: [ Symbol( "checkI", ), ], args: [ "func", "val", ], body: CodeBlock { start: 1764, code: [ Ident { expr: [ Symbol( "check", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 279, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 279, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 280, }, ], [ Table { data: [], line: 280, column: 6, }, ], ], ), ], line: 279, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "func", ), Call( [], ), ], line: 281, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "val", ), ], line: 281, }, ], ], ), ], line: 280, }, ], end: 1788, }, line: 282, column: 1, }, Function { local: true, name: [ Symbol( "checkF", ), ], args: [ "func", "val", ], body: CodeBlock { start: 1796, code: [ Ident { expr: [ Symbol( "check", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 285, }, ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 285, }, Ident { expr: [ Symbol( "checkKlist", ), Call( [ [ Ident { expr: [ Symbol( "func", ), ], line: 286, }, ], [ Table { data: [], line: 286, column: 6, }, ], ], ), ], line: 285, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "func", ), Call( [], ), ], line: 287, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "val", ), ], line: 287, }, ], ], ), ], line: 286, }, ], end: 1820, }, line: 288, column: 1, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1825, code: [ Return( Some( [ [ Symbol( "0.0", ), ], ], ), ), ], end: 1828, }, line: 290, column: 8, }, ], [ Symbol( "0.0", ), ], ], ), ], line: 288, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1836, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k0", ), ], line: 291, }, ], ], ), ), ], end: 1839, }, line: 291, column: 8, }, ], [ Symbol( "0", ), ], ], ), ], line: 290, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1847, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "k0", ), ], line: 292, }, Operator( ( "//", true, ), ), Symbol( "1", ), ], ], ), ), ], end: 1853, }, line: 292, column: 11, }, ], [ Symbol( "0", ), ], ], ), ], line: 291, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1861, code: [ Return( Some( [ [ Symbol( "3", ), Operator( ( "^", true, ), ), Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ), ], end: 1867, }, line: 293, column: 11, }, ], [ Symbol( "1", ), Operator( ( "/", true, ), ), Symbol( "3", ), ], ], ), ], line: 292, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1877, code: [ Return( Some( [ [ Expr( [ Symbol( "1", ), Operator( ( "+", true, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 294, }, Operator( ( "^", true, ), ), Expr( [ Symbol( "50", ), Operator( ( "+", true, ), ), Symbol( "50", ), ], ), Ident { expr: [], line: 294, }, ], ], ), ), ], end: 1890, }, line: 294, column: 18, }, ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "100", ), ], ], ), ], line: 293, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1900, code: [ Return( Some( [ [ Expr( [ Operator( ( "-", false, ), ), Symbol( "2", ), ], ), Ident { expr: [], line: 295, }, Operator( ( "^", true, ), ), Expr( [ Symbol( "31", ), Operator( ( "-", true, ), ), Symbol( "2", ), ], ), Ident { expr: [], line: 295, }, ], ], ), ), ], end: 1912, }, line: 295, column: 17, }, ], [ Operator( ( "-", false, ), ), Symbol( "0x20000000", ), Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ], line: 294, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1923, code: [ Return( Some( [ [ Expr( [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "k3", ), ], line: 296, }, Operator( ( "^", true, ), ), Symbol( "0", ), Operator( ( "+", true, ), ), Symbol( "5", ), ], ), Ident { expr: [], line: 296, }, Operator( ( "//", true, ), ), Symbol( "3.0", ), ], ], ), ), ], end: 1935, }, line: 296, column: 17, }, ], [ Symbol( "1.0", ), ], ], ), ], line: 295, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1943, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "k3", ), ], line: 297, }, Operator( ( "%", true, ), ), Symbol( "5", ), ], ], ), ), ], end: 1949, }, line: 297, column: 11, }, ], [ Symbol( "2", ), ], ], ), ], line: 296, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1957, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Expr( [ Expr( [ Symbol( "2.0", ), Operator( ( "^", true, ), ), Symbol( "8", ), Operator( ( "+", true, ), ), Operator( ( "-", false, ), ), Expr( [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 298, }, ], ), Ident { expr: [], line: 298, }, Operator( ( "%", true, ), ), Symbol( "8", ), ], ), Ident { expr: [], line: 298, }, Operator( ( "/", true, ), ), Symbol( "2", ), Operator( ( "*", true, ), ), Symbol( "4", ), Operator( ( "-", true, ), ), Symbol( "3", ), ], ], ), ), ], end: 1981, }, line: 298, column: 29, }, ], [ Operator( ( "-", false, ), ), Symbol( "5.0", ), ], ], ), ], line: 297, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 1990, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Expr( [ Expr( [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "8", ), Operator( ( "+", true, ), ), Operator( ( "-", false, ), ), Expr( [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 299, }, ], ), Ident { expr: [], line: 299, }, Operator( ( "%", true, ), ), Symbol( "8", ), ], ), Ident { expr: [], line: 299, }, Operator( ( "//", true, ), ), Symbol( "2", ), Operator( ( "*", true, ), ), Symbol( "4", ), Operator( ( "-", true, ), ), Symbol( "3", ), ], ], ), ), ], end: 2014, }, line: 299, column: 29, }, ], [ Operator( ( "-", false, ), ), Symbol( "7.0", ), ], ], ), ], line: 298, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2023, code: [ Return( Some( [ [ Symbol( "240", ), Operator( ( "|", true, ), ), Symbol( "204", ), Operator( ( "~", true, ), ), Symbol( "0xAA", ), Operator( ( "&", true, ), ), Symbol( "0xFD", ), ], ], ), ), ], end: 2032, }, line: 300, column: 14, }, ], [ Symbol( "0xF4", ), ], ], ), ], line: 299, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2040, code: [ Return( Some( [ [ Operator( ( "~", false, ), ), Expr( [ Operator( ( "~", false, ), ), Ident { expr: [ Symbol( "kFF0", ), ], line: 301, }, Operator( ( "|", true, ), ), Ident { expr: [ Symbol( "kFF0", ), ], line: 301, }, ], ), Ident { expr: [], line: 301, }, ], ], ), ), ], end: 2049, }, line: 301, column: 14, }, ], [ Symbol( "0", ), ], ], ), ], line: 300, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2057, code: [ Return( Some( [ [ Operator( ( "~", false, ), ), Operator( ( "~", true, ), ), Operator( ( "-", false, ), ), Symbol( "1024.0", ), ], ], ), ), ], end: 2063, }, line: 302, column: 11, }, ], [ Operator( ( "-", false, ), ), Symbol( "1024", ), ], ], ), ], line: 301, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2072, code: [ Return( Some( [ [ Expr( [ Expr( [ Symbol( "100", ), Operator( ( "<<", true, ), ), Ident { expr: [ Symbol( "k6", ), ], line: 303, }, ], ), Ident { expr: [], line: 303, }, Operator( ( "<<", true, ), ), Operator( ( "-", false, ), ), Symbol( "4", ), ], ), Ident { expr: [], line: 303, }, Operator( ( ">>", true, ), ), Symbol( "2", ), ], ], ), ), ], end: 2086, }, line: 303, column: 19, }, ], [ Symbol( "100", ), ], ], ), ], line: 302, }, Variable { names: [ ( "a", false, ), ], values: [ [ Symbol( "17", ), ], ], line: 306, column: 5, }, Variable { names: [ ( "sbx", false, ), ], values: [ [ Expr( [ Expr( [ Symbol( "1", ), Operator( ( "<<", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 306, }, ], ), Ident { expr: [], line: 306, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 306, }, Operator( ( ">>", true, ), ), Symbol( "1", ), ], ], line: 307, column: 0, }, Variable { names: [ ( "border", false, ), ], values: [ [ Symbol( "65535", ), ], ], line: 307, column: 7, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2120, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 308, }, ], ], ), ), ], end: 2123, }, line: 308, column: 8, }, ], [ Ident { expr: [ Symbol( "sbx", ), ], line: 308, }, ], ], ), ], line: 307, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2131, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "border", ), ], line: 309, }, ], ], ), ), ], end: 2135, }, line: 309, column: 9, }, ], [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "sbx", ), ], line: 309, }, ], ], ), ], line: 308, }, Ident { expr: [ Symbol( "checkI", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2144, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 310, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ], ), ), ], end: 2149, }, line: 310, column: 10, }, ], [ Ident { expr: [ Symbol( "sbx", ), ], line: 310, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ], ), ], line: 309, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2159, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 311, }, Operator( ( "+", true, ), ), Symbol( "2", ), ], ], ), ), ], end: 2164, }, line: 311, column: 10, }, ], [ Ident { expr: [ Symbol( "sbx", ), ], line: 311, }, Operator( ( "+", true, ), ), Symbol( "2", ), ], ], ), ], line: 310, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2174, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Expr( [ Ident { expr: [ Symbol( "border", ), ], line: 312, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 312, }, ], ], ), ), ], end: 2182, }, line: 312, column: 13, }, ], [ Operator( ( "-", false, ), ), Expr( [ Ident { expr: [ Symbol( "sbx", ), ], line: 312, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 312, }, ], ], ), ], line: 311, }, Variable { names: [ ( "border", false, ), ], values: [ [ Symbol( "65535.0", ), ], ], line: 314, column: 7, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2202, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 315, }, ], ], ), ), ], end: 2205, }, line: 315, column: 8, }, ], [ Ident { expr: [ Symbol( "sbx", ), ], line: 315, }, Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ], line: 314, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2215, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "border", ), ], line: 316, }, ], ], ), ), ], end: 2219, }, line: 316, column: 9, }, ], [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "sbx", ), ], line: 316, }, Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ], line: 315, }, Ident { expr: [ Symbol( "checkF", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2230, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 317, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ], ), ), ], end: 2235, }, line: 317, column: 10, }, ], [ Expr( [ Ident { expr: [ Symbol( "sbx", ), ], line: 317, }, Operator( ( "+", true, ), ), Symbol( "1.0", ), ], ), Ident { expr: [], line: 317, }, ], ], ), ], line: 316, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2247, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "border", ), ], line: 318, }, Operator( ( "+", true, ), ), Symbol( "2", ), ], ], ), ), ], end: 2252, }, line: 318, column: 10, }, ], [ Expr( [ Ident { expr: [ Symbol( "sbx", ), ], line: 318, }, Operator( ( "+", true, ), ), Symbol( "2.0", ), ], ), Ident { expr: [], line: 318, }, ], ], ), ], line: 317, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2264, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Expr( [ Ident { expr: [ Symbol( "border", ), ], line: 319, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ), Ident { expr: [], line: 319, }, ], ], ), ), ], end: 2272, }, line: 319, column: 13, }, ], [ Operator( ( "-", false, ), ), Expr( [ Ident { expr: [ Symbol( "sbx", ), ], line: 319, }, Operator( ( "+", true, ), ), Symbol( "1.0", ), ], ), Ident { expr: [], line: 319, }, ], ], ), ], line: 318, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2286, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 323, }, Operator( ( "+", true, ), ), Ident { expr: [ Symbol( "k1", ), ], line: 323, }, ], ], ), ), ], end: 2291, }, line: 323, column: 11, }, ], [ Symbol( "10", ), ], [ Symbol( "11", ), ], [ Symbol( "'ADDI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 319, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2308, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 324, }, Operator( ( "-", true, ), ), Symbol( "127", ), ], ], ), ), ], end: 2313, }, line: 324, column: 11, }, ], [ Symbol( "10", ), ], [ Operator( ( "-", false, ), ), Symbol( "117", ), ], [ Symbol( "'ADDI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 323, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2331, code: [ Return( Some( [ [ Symbol( "128", ), Operator( ( "+", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 325, }, ], ], ), ), ], end: 2336, }, line: 325, column: 11, }, ], [ Symbol( "0.0", ), ], [ Symbol( "128.0", ), ], [ Symbol( "'ADDI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 324, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2353, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 327, }, Operator( ( "*", true, ), ), Operator( ( "-", false, ), ), Symbol( "127", ), ], ], ), ), ], end: 2359, }, line: 327, column: 12, }, ], [ Operator( ( "-", false, ), ), Symbol( "1.0", ), ], [ Symbol( "127.0", ), ], [ Symbol( "'MULK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 326, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2377, code: [ Return( Some( [ [ Symbol( "20", ), Operator( ( "*", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 329, }, ], ], ), ), ], end: 2382, }, line: 329, column: 11, }, ], [ Symbol( "2", ), ], [ Symbol( "40", ), ], [ Symbol( "'MULK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 328, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2399, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 330, }, Operator( ( "^", true, ), ), Operator( ( "-", false, ), ), Symbol( "2", ), ], ], ), ), ], end: 2405, }, line: 330, column: 12, }, ], [ Symbol( "2", ), ], [ Symbol( "0.25", ), ], [ Symbol( "'POWK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 329, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2422, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 331, }, Operator( ( "/", true, ), ), Symbol( "40", ), ], ], ), ), ], end: 2427, }, line: 331, column: 11, }, ], [ Symbol( "40", ), ], [ Symbol( "1.0", ), ], [ Symbol( "'DIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 330, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2444, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 332, }, Operator( ( "//", true, ), ), Symbol( "1", ), ], ], ), ), ], end: 2449, }, line: 332, column: 11, }, ], [ Symbol( "10.0", ), ], [ Symbol( "10.0", ), ], [ Symbol( "'IDIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 331, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2466, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 334, }, Operator( ( "%", true, ), ), Expr( [ Symbol( "100", ), Operator( ( "-", true, ), ), Symbol( "10", ), ], ), Ident { expr: [], line: 334, }, ], ], ), ), ], end: 2475, }, line: 334, column: 15, }, ], [ Symbol( "91", ), ], [ Symbol( "1", ), ], [ Symbol( "'MODK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 333, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2492, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k1", ), ], line: 336, }, Operator( ( "<<", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 336, }, ], ], ), ), ], end: 2497, }, line: 336, column: 11, }, ], [ Symbol( "3", ), ], [ Symbol( "8", ), ], [ Symbol( "'SHLI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 335, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2514, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 337, }, Operator( ( "<<", true, ), ), Symbol( "127", ), ], ], ), ), ], end: 2519, }, line: 337, column: 11, }, ], [ Symbol( "10", ), ], [ Symbol( "0", ), ], [ Symbol( "'SHRI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 336, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2536, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 338, }, Operator( ( "<<", true, ), ), Operator( ( "-", false, ), ), Symbol( "127", ), ], ], ), ), ], end: 2542, }, line: 338, column: 12, }, ], [ Symbol( "10", ), ], [ Symbol( "0", ), ], [ Symbol( "'SHRI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 337, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2559, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 339, }, Operator( ( ">>", true, ), ), Symbol( "128", ), ], ], ), ), ], end: 2564, }, line: 339, column: 11, }, ], [ Symbol( "8", ), ], [ Symbol( "0", ), ], [ Symbol( "'SHRI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 338, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2581, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 340, }, Operator( ( ">>", true, ), ), Operator( ( "-", false, ), ), Symbol( "127", ), ], ], ), ), ], end: 2587, }, line: 340, column: 12, }, ], [ Symbol( "8", ), ], [ Symbol( "0", ), ], [ Symbol( "'SHRI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 339, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2604, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 341, }, Operator( ( "&", true, ), ), Symbol( "1", ), ], ], ), ), ], end: 2609, }, line: 341, column: 11, }, ], [ Symbol( "9", ), ], [ Symbol( "1", ), ], [ Symbol( "'BANDK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 340, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2626, code: [ Return( Some( [ [ Symbol( "10", ), Operator( ( "|", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 342, }, ], ], ), ), ], end: 2631, }, line: 342, column: 11, }, ], [ Symbol( "1", ), ], [ Symbol( "11", ), ], [ Symbol( "'BORK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 341, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2648, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Symbol( "10", ), Operator( ( "~", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 343, }, ], ], ), ), ], end: 2654, }, line: 343, column: 12, }, ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], [ Symbol( "9", ), ], [ Symbol( "'BXORK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 342, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2672, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 346, }, Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ), ], end: 2677, }, line: 346, column: 11, }, ], [ Symbol( "1", ), ], [ Symbol( "1.0", ), ], [ Symbol( "'ADDK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 343, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2694, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 348, }, Operator( ( "*", true, ), ), Operator( ( "-", false, ), ), Symbol( "10000", ), ], ], ), ), ], end: 2700, }, line: 348, column: 12, }, ], [ Symbol( "2", ), ], [ Operator( ( "-", false, ), ), Symbol( "20000", ), ], [ Symbol( "'MULK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 346, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2718, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 351, }, Operator( ( "^", true, ), ), Symbol( "0.5", ), ], ], ), ), ], end: 2723, }, line: 351, column: 11, }, ], [ Symbol( "4", ), ], [ Symbol( "2.0", ), ], [ Symbol( "'POWK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 349, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2740, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 352, }, Operator( ( "/", true, ), ), Symbol( "2.0", ), ], ], ), ), ], end: 2745, }, line: 352, column: 11, }, ], [ Symbol( "4", ), ], [ Symbol( "2.0", ), ], [ Symbol( "'DIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 351, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2762, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 353, }, Operator( ( "//", true, ), ), Symbol( "10000", ), ], ], ), ), ], end: 2767, }, line: 353, column: 11, }, ], [ Symbol( "10000", ), ], [ Symbol( "1", ), ], [ Symbol( "'IDIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 352, }, Ident { expr: [ Symbol( "checkR", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2784, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 355, }, Operator( ( "%", true, ), ), Expr( [ Symbol( "100.0", ), Operator( ( "-", true, ), ), Symbol( "10", ), ], ), Ident { expr: [], line: 355, }, ], ], ), ), ], end: 2793, }, line: 355, column: 15, }, ], [ Symbol( "91", ), ], [ Symbol( "1.0", ), ], [ Symbol( "'MODK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 354, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2809, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Symbol( "0.0", ), ], ], ), ), ], end: 2813, }, line: 359, column: 9, }, ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'UNM'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 356, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2825, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k3", ), ], line: 360, }, Operator( ( "/", true, ), ), Symbol( "0", ), ], ], ), ), ], end: 2830, }, line: 360, column: 10, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'DIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 359, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2844, code: [ Return( Some( [ [ Symbol( "0", ), Operator( ( "%", true, ), ), Symbol( "0", ), ], ], ), ), ], end: 2849, }, line: 361, column: 10, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'MODK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 360, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2863, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Symbol( "4", ), Operator( ( "//", true, ), ), Symbol( "0", ), ], ], ), ), ], end: 2869, }, line: 362, column: 11, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'IDIVK'", ), ], [ Symbol( "'MMBINK'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 361, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2884, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 363, }, Operator( ( ">>", true, ), ), Symbol( "2.0", ), ], ], ), ), ], end: 2889, }, line: 363, column: 11, }, ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'SHR'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 362, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2904, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 364, }, Operator( ( "<<", true, ), ), Symbol( "128", ), ], ], ), ), ], end: 2909, }, line: 364, column: 11, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'SHL'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 363, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "x", ], body: CodeBlock { start: 2924, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "x", ), ], line: 365, }, Operator( ( "&", true, ), ), Symbol( "2.0", ), ], ], ), ), ], end: 2929, }, line: 365, column: 11, }, ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'BAND'", ), ], [ Symbol( "'MMBIN'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 364, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2943, code: [ ForLoop { iter: "i", start: [ Operator( ( "-", false, ), ), Symbol( "10", ), ], end: [ Symbol( "10.5", ), ], step: None, code: CodeBlock { start: 8, code: [], end: 9, }, line: 368, column: 9, }, ], end: 2953, }, line: 368, column: 15, }, ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'LOADK'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'FORPREP'", ), ], [ Symbol( "'FORLOOP'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 365, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 2971, code: [ ForLoop { iter: "i", start: [ Symbol( "0xfffffff", ), ], end: [ Symbol( "10.0", ), ], step: Some( [ Symbol( "1", ), ], ), code: CodeBlock { start: 9, code: [], end: 10, }, line: 370, column: 10, }, ], end: 2982, }, line: 370, column: 16, }, ], [ Symbol( "'LOADK'", ), ], [ Symbol( "'LOADF'", ), ], [ Symbol( "'LOADI'", ), ], [ Symbol( "'FORPREP'", ), ], [ Symbol( "'FORLOOP'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 369, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 3000, code: [ Return( Some( [ [ Operator( ( "-", false, ), ), Symbol( "nil", ), ], ], ), ), ], end: 3004, }, line: 374, column: 9, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'UNM'", ), ], [ Symbol( "'RETURN1'", ), ], ], ), ], line: 371, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 3016, code: [ Variable { names: [ ( "a", false, ), ( "b", false, ), ( "c", false, ), ], values: [], line: 378, column: 6, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "c", ), ], line: 379, }, ], ), Symbol( "]", ), ], line: 378, }, Ident { expr: [ Symbol( "a", ), ], line: 379, }, ], values: [ [ Ident { expr: [ Symbol( "c", ), ], line: 379, }, ], [ Ident { expr: [ Symbol( "b", ), ], line: 379, }, ], ], line: 379, column: 10, }, Alter { names: [ Ident { expr: [ Symbol( "b", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 380, }, ], ), Symbol( "]", ), ], line: 379, }, Ident { expr: [ Symbol( "a", ), ], line: 380, }, ], values: [ [ Ident { expr: [ Symbol( "c", ), ], line: 380, }, ], [ Ident { expr: [ Symbol( "b", ), ], line: 380, }, ], ], line: 380, column: 10, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 380, }, Ident { expr: [ Symbol( "b", ), ], line: 381, }, ], values: [ [ Ident { expr: [ Symbol( "c", ), ], line: 381, }, ], [ Ident { expr: [ Symbol( "a", ), ], line: 381, }, ], ], line: 381, column: 7, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 381, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 382, }, ], ], line: 382, column: 3, }, ], end: 3053, }, line: 383, column: 1, }, ], [ Symbol( "'LOADNIL'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'SETTABLE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 374, }, DoBlock( CodeBlock { start: 3079, code: [ Variable { names: [ ( "t", false, ), ], values: [], line: 400, column: 2, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 7, code: [ Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "kx", ), ], line: 401, }, ], ), Symbol( "]", ), ], line: 401, }, ], values: [ [ Ident { expr: [ Symbol( "t", ), Symbol( ".", ), Symbol( "y", ), ], line: 401, }, ], ], line: 401, column: 8, }, ], end: 16, }, line: 401, column: 14, }, ], [ Symbol( "'GETTABUP'", ), ], [ Symbol( "'SETTABUP'", ), ], ], ), ], line: 400, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "a", ], body: CodeBlock { start: 27, code: [ Alter { names: [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), Call( [], ), ], line: 402, }, ], ), Symbol( "]", ), ], line: 402, }, ], values: [ [ Ident { expr: [ Symbol( "t", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "a", ), Call( [], ), ], line: 402, }, ], ), Symbol( "]", ), ], line: 402, }, ], ], line: 402, column: 13, }, ], end: 41, }, line: 402, column: 20, }, ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'GETUPVAL'", ), ], [ Symbol( "'MOVE'", ), ], [ Symbol( "'CALL'", ), ], [ Symbol( "'GETUPVAL'", ), ], [ Symbol( "'GETTABLE'", ), ], [ Symbol( "'SETTABLE'", ), ], ], ), ], line: 401, }, ], end: 3138, }, ), Ident { expr: [ Symbol( "checkequal", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 3143, code: [ Variable { names: [ ( "a", false, ), ], values: [], line: 408, column: 3, }, IfStatement { condition: [ Operator( ( "not", false, ), ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 408, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "b", ), ], line: 408, }, ], ), Ident { expr: [], line: 408, }, ], body: CodeBlock { start: 11, code: [ Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 408, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 408, }, ], ], line: 408, column: 3, }, ], end: 15, }, next: None, line: 408, column: 15, }, ], end: 3159, }, line: 408, column: 21, }, ], [ Lambda { args: [], body: CodeBlock { start: 3163, code: [ Variable { names: [ ( "a", false, ), ], values: [], line: 409, column: 3, }, IfStatement { condition: [ Expr( [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "a", ), ], line: 409, }, Operator( ( "and", true, ), ), Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "b", ), ], line: 409, }, ], ), Ident { expr: [], line: 409, }, ], body: CodeBlock { start: 12, code: [ Alter { names: [ Ident { expr: [ Symbol( "b", ), ], line: 409, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 409, }, ], ], line: 409, column: 3, }, ], end: 16, }, next: None, line: 409, column: 16, }, ], end: 3180, }, line: 409, column: 20, }, ], ], ), ], line: 405, }, Ident { expr: [ Symbol( "checkequal", ), Call( [ [ Lambda { args: [ "l", ], body: CodeBlock { start: 3187, code: [ Variable { names: [ ( "a", false, ), ], values: [], line: 411, column: 3, }, Return( Some( [ [ Symbol( "0", ), Operator( ( "<=", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 411, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "a", ), ], line: 411, }, Operator( ( "<=", true, ), ), Ident { expr: [ Symbol( "l", ), ], line: 411, }, ], ], ), ), ], end: 3199, }, line: 411, column: 18, }, ], [ Lambda { args: [ "l", ], body: CodeBlock { start: 3204, code: [ Variable { names: [ ( "a", false, ), ], values: [], line: 412, column: 3, }, Return( Some( [ [ Operator( ( "not", false, ), ), Expr( [ Operator( ( "not", false, ), ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 412, }, Operator( ( ">=", true, ), ), Symbol( "0", ), ], ), Ident { expr: [], line: 412, }, Operator( ( "or", true, ), ), Operator( ( "not", false, ), ), Expr( [ Ident { expr: [ Symbol( "a", ), ], line: 412, }, Operator( ( "<=", true, ), ), Ident { expr: [ Symbol( "l", ), ], line: 412, }, ], ), Ident { expr: [], line: 412, }, ], ), Ident { expr: [], line: 412, }, ], ], ), ), ], end: 3225, }, line: 412, column: 25, }, ], ], ), ], line: 409, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Lambda { args: [ "a", "b", ], body: CodeBlock { start: 3234, code: [ WhileLoop { condition: [ Ident { expr: [ Symbol( "a", ), ], line: 417, }, ], body: CodeBlock { start: 3, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "b", ), ], line: 418, }, ], body: CodeBlock { start: 3, code: [ Break, ], end: 5, }, next: Some( IfStatement { condition: [], body: CodeBlock { start: 5, code: [ Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 418, }, ], values: [ [ Ident { expr: [ Symbol( "a", ), ], line: 418, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ], line: 418, column: 5, }, ], end: 11, }, next: None, line: 418, column: 11, }, ), line: 418, column: 11, }, ], end: 15, }, line: 419, column: 1, }, ], end: 3250, }, line: 420, column: 1, }, ], [ Symbol( "'TEST'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'TEST'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'ADDI'", ), ], [ Symbol( "'MMBINI'", ), ], [ Symbol( "'JMP'", ), ], [ Symbol( "'RETURN0'", ), ], ], ), ], line: 412, }, Ident { expr: [ Symbol( "checkequal", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 3272, code: [ Return( Some( [ [ Symbol( "6", ), Operator( ( "or", true, ), ), Symbol( "true", ), Operator( ( "or", true, ), ), Symbol( "nil", ), ], ], ), ), ], end: 3279, }, line: 423, column: 12, }, ], [ Lambda { args: [], body: CodeBlock { start: 3283, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k6", ), ], line: 424, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "kTrue", ), ], line: 424, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "kNil", ), ], line: 424, }, ], ], ), ), ], end: 3290, }, line: 424, column: 10, }, ], ], ), ], line: 421, }, Ident { expr: [ Symbol( "checkequal", ), Call( [ [ Lambda { args: [], body: CodeBlock { start: 3296, code: [ Return( Some( [ [ Symbol( "6", ), Operator( ( "and", true, ), ), Symbol( "true", ), Operator( ( "or", true, ), ), Symbol( "nil", ), ], ], ), ), ], end: 3303, }, line: 426, column: 12, }, ], [ Lambda { args: [], body: CodeBlock { start: 3307, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k6", ), ], line: 427, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "kTrue", ), ], line: 427, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "kNil", ), ], line: 427, }, ], ], ), ), ], end: 3314, }, line: 427, column: 10, }, ], ], ), ], line: 424, }, DoBlock( CodeBlock { start: 3316, code: [ Variable { names: [ ( "k0", false, ), ], values: [ [ Symbol( "\"00000000000000000000000000000000000000000000000000\"", ), ], ], line: 432, column: 0, }, Function { local: true, name: [ Symbol( "f1", ), ], args: [], body: CodeBlock { start: 12, code: [ Variable { names: [ ( "k", false, ), ], values: [ [ Ident { expr: [ Symbol( "k0", ), ], line: 433, }, ], ], line: 434, column: 0, }, Return( Some( [ [ Lambda { args: [], body: CodeBlock { start: 11, code: [ Return( Some( [ [ Lambda { args: [], body: CodeBlock { start: 4, code: [ Return( Some( [ [ Ident { expr: [ Symbol( "k", ), ], line: 435, }, ], ], ), ), ], end: 7, }, line: 435, column: 7, }, ], ], ), ), ], end: 19, }, line: 436, column: 1, }, ], ], ), ), ], end: 32, }, line: 437, column: 1, }, Variable { names: [ ( "f2", false, ), ], values: [ [ Ident { expr: [ Symbol( "f1", ), Call( [], ), ], line: 439, }, ], ], line: 440, column: 0, }, Variable { names: [ ( "f3", false, ), ], values: [ [ Ident { expr: [ Symbol( "f2", ), Call( [], ), ], line: 440, }, ], ], line: 440, column: 6, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "f3", ), Call( [], ), ], line: 441, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "k0", ), ], line: 441, }, ], ], ), ], line: 440, }, Ident { expr: [ Symbol( "checkK", ), Call( [ [ Ident { expr: [ Symbol( "f3", ), ], line: 442, }, ], [ Ident { expr: [ Symbol( "k0", ), ], line: 442, }, ], ], ), ], line: 441, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listk", ), Call( [ [ Ident { expr: [ Symbol( "f1", ), ], line: 444, }, ], ], ), Symbol( "[", ), Expr( [ Symbol( "1", ), ], ), Symbol( "]", ), ], line: 444, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 442, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "listk", ), Call( [ [ Ident { expr: [ Symbol( "f2", ), ], line: 445, }, ], ], ), Symbol( "[", ), Expr( [ Symbol( "1", ), ], ), Symbol( "]", ), ], line: 445, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 444, }, ], end: 3403, }, ), Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "'OK'", ), ], ], ), ], line: 446, }, ]