--- source: src/main.rs expression: parsed input_file: test-data/lua5.4-tests/strings.lua --- [ Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "'testing strings and string library'", ), ], ], ), ], line: 4, }, Variable { names: [ ( "maxi", false, ), ], values: [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "maxinteger", ), ], line: 6, }, ], ], line: 7, column: 0, }, Variable { names: [ ( "mini", false, ), ], values: [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "mininteger", ), ], line: 7, }, ], ], line: 10, column: 0, }, Function { local: true, name: [ Symbol( "checkerror", ), ], args: [ "msg", "f", "...", ], body: CodeBlock { start: 32, code: [ Variable { names: [ ( "s", false, ), ( "err", false, ), ], values: [ [ Ident { expr: [ Symbol( "pcall", ), Call( [ [ Ident { expr: [ Symbol( "f", ), ], line: 11, }, ], [ Symbol( "...", ), ], ], ), ], line: 11, }, ], ], line: 11, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "s", ), ], line: 12, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "err", ), ], line: 12, }, ], [ Ident { expr: [ Symbol( "msg", ), ], line: 12, }, ], ], ), ], line: 12, }, ], ], ), ], line: 11, }, ], end: 58, }, line: 13, column: 1, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'alo'", ), Operator( ( "<", true, ), ), Symbol( "'alo1'", ), ], ], ), ], line: 13, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "''", ), Operator( ( "<", true, ), ), Symbol( "'a'", ), ], ], ), ], line: 17, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'alo\\0alo'", ), Operator( ( "<", true, ), ), Symbol( "'alo\\0b'", ), ], ], ), ], line: 18, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'alo\\0alo\\0\\0'", ), Operator( ( ">", true, ), ), Symbol( "'alo\\0alo\\0'", ), ], ], ), ], line: 19, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'alo'", ), Operator( ( "<", true, ), ), Symbol( "'alo\\0'", ), ], ], ), ], line: 20, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'alo\\0'", ), Operator( ( ">", true, ), ), Symbol( "'alo'", ), ], ], ), ], line: 21, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0'", ), Operator( ( "<", true, ), ), Symbol( "'\\1'", ), ], ], ), ], line: 22, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0\\0'", ), Operator( ( "<", true, ), ), Symbol( "'\\0\\1'", ), ], ], ), ], line: 23, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\1\\0a\\0a'", ), Operator( ( "<=", true, ), ), Symbol( "'\\1\\0a\\0a'", ), ], ], ), ], line: 24, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Expr( [ Symbol( "'\\1\\0a\\0b'", ), Operator( ( "<=", true, ), ), Symbol( "'\\1\\0a\\0a'", ), ], ), Ident { expr: [], line: 26, }, ], ], ), ], line: 25, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0\\0\\0'", ), Operator( ( "<", true, ), ), Symbol( "'\\0\\0\\0\\0'", ), ], ], ), ], line: 26, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Expr( [ Symbol( "'\\0\\0\\0\\0'", ), Operator( ( "<", true, ), ), Symbol( "'\\0\\0\\0'", ), ], ), Ident { expr: [], line: 28, }, ], ], ), ], line: 27, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0\\0\\0'", ), Operator( ( "<=", true, ), ), Symbol( "'\\0\\0\\0\\0'", ), ], ], ), ], line: 28, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Expr( [ Symbol( "'\\0\\0\\0\\0'", ), Operator( ( "<=", true, ), ), Symbol( "'\\0\\0\\0'", ), ], ), Ident { expr: [], line: 30, }, ], ], ), ], line: 29, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0\\0\\0'", ), Operator( ( "<=", true, ), ), Symbol( "'\\0\\0\\0'", ), ], ], ), ], line: 30, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "'\\0\\0\\0'", ), Operator( ( ">=", true, ), ), Symbol( "'\\0\\0\\0'", ), ], ], ), ], line: 31, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Expr( [ Symbol( "'\\0\\0b'", ), Operator( ( "<", true, ), ), Symbol( "'\\0\\0a\\0'", ), ], ), Ident { expr: [], line: 33, }, ], ], ), ], line: 32, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "2", ), ], [ Symbol( "4", ), ], ], ), ], line: 36, }, Operator( ( "==", true, ), ), Symbol( "\"234\"", ), ], ], ), ], line: 33, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "7", ), ], ], ), ], line: 37, }, Operator( ( "==", true, ), ), Symbol( "\"789\"", ), ], ], ), ], line: 36, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "7", ), ], [ Symbol( "6", ), ], ], ), ], line: 38, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 37, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "7", ), ], [ Symbol( "7", ), ], ], ), ], line: 39, }, Operator( ( "==", true, ), ), Symbol( "\"7\"", ), ], ], ), ], line: 38, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "0", ), ], [ Symbol( "0", ), ], ], ), ], line: 40, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 39, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "10", ), ], [ Symbol( "10", ), ], ], ), ], line: 41, }, Operator( ( "==", true, ), ), Symbol( "\"123456789\"", ), ], ], ), ], line: 40, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "1", ), ], [ Symbol( "9", ), ], ], ), ], line: 42, }, Operator( ( "==", true, ), ), Symbol( "\"123456789\"", ), ], ], ), ], line: 41, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "10", ), ], [ Operator( ( "-", false, ), ), Symbol( "20", ), ], ], ), ], line: 43, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 42, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 44, }, Operator( ( "==", true, ), ), Symbol( "\"9\"", ), ], ], ), ], line: 43, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "4", ), ], ], ), ], line: 45, }, Operator( ( "==", true, ), ), Symbol( "\"6789\"", ), ], ], ), ], line: 44, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "6", ), ], [ Operator( ( "-", false, ), ), Symbol( "4", ), ], ], ), ], line: 46, }, Operator( ( "==", true, ), ), Symbol( "\"456\"", ), ], ], ), ], line: 45, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 47, }, ], [ Operator( ( "-", false, ), ), Symbol( "4", ), ], ], ), ], line: 47, }, Operator( ( "==", true, ), ), Symbol( "\"123456\"", ), ], ], ), ], line: 46, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 48, }, ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 48, }, ], ], ), ], line: 48, }, Operator( ( "==", true, ), ), Symbol( "\"123456789\"", ), ], ], ), ], line: 47, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 49, }, ], [ Ident { expr: [ Symbol( "mini", ), ], line: 49, }, ], ], ), ], line: 49, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 48, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"\\000123456789\"", ), ], [ Symbol( "3", ), ], [ Symbol( "5", ), ], ], ), ], line: 50, }, Operator( ( "==", true, ), ), Symbol( "\"234\"", ), ], ], ), ], line: 49, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Expr( [ Symbol( "\"\\000123456789\"", ), ], ), Ident { expr: [ Symbol( ":", ), Symbol( "sub", ), Call( [ [ Symbol( "8", ), ], ], ), ], line: 51, }, Operator( ( "==", true, ), ), Symbol( "\"789\"", ), ], ], ), ], line: 50, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "\"345\"", ), ], ], ), ], line: 54, }, Operator( ( "==", true, ), ), Symbol( "3", ), ], ], ), ], line: 51, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 54, }, Ident { expr: [ Symbol( "b", ), ], line: 55, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Symbol( "\"345\"", ), ], ], ), ], line: 55, }, ], ], line: 55, column: 12, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Symbol( "\"123456789\"", ), ], [ Ident { expr: [ Symbol( "a", ), ], line: 56, }, ], [ Ident { expr: [ Symbol( "b", ), ], line: 56, }, ], ], ), ], line: 56, }, Operator( ( "==", true, ), ), Symbol( "\"345\"", ), ], ], ), ], line: 55, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"1234567890123456789\"", ), ], [ Symbol( "\"345\"", ), ], [ Symbol( "3", ), ], ], ), ], line: 57, }, Operator( ( "==", true, ), ), Symbol( "3", ), ], ], ), ], line: 56, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"1234567890123456789\"", ), ], [ Symbol( "\"345\"", ), ], [ Symbol( "4", ), ], ], ), ], line: 58, }, Operator( ( "==", true, ), ), Symbol( "13", ), ], ], ), ], line: 57, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"1234567890123456789\"", ), ], [ Symbol( "\"346\"", ), ], [ Symbol( "4", ), ], ], ), ], line: 59, }, ], ], ), ], line: 58, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"1234567890123456789\"", ), ], [ Symbol( "\".45\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "9", ), ], ], ), ], line: 60, }, Operator( ( "==", true, ), ), Symbol( "13", ), ], ], ), ], line: 59, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"abcdefg\"", ), ], [ Symbol( "\"\\0\"", ), ], [ Symbol( "5", ), ], [ Symbol( "1", ), ], ], ), ], line: 61, }, ], ], ), ], line: 60, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"\"", ), ], [ Symbol( "\"\"", ), ], ], ), ], line: 62, }, Operator( ( "==", true, ), ), Symbol( "1", ), ], ], ), ], line: 61, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"\"", ), ], [ Symbol( "\"\"", ), ], [ Symbol( "1", ), ], ], ), ], line: 63, }, Operator( ( "==", true, ), ), Symbol( "1", ), ], ], ), ], line: 62, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "\"\"", ), ], [ Symbol( "\"\"", ), ], [ Symbol( "2", ), ], ], ), ], line: 64, }, ], ], ), ], line: 63, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Symbol( "''", ), ], [ Symbol( "'aaa'", ), ], [ Symbol( "1", ), ], ], ), ], line: 65, }, ], ], ), ], line: 64, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Expr( [ Symbol( "'alo(.)alo'", ), ], ), Ident { expr: [ Symbol( ":", ), Symbol( "find", ), Call( [ [ Symbol( "'(.)'", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], ], ), ], line: 66, }, Operator( ( "==", true, ), ), Symbol( "4", ), ], ], ), ], line: 65, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Symbol( "\"\"", ), ], ], ), ], line: 68, }, Operator( ( "==", true, ), ), Symbol( "0", ), ], ], ), ], line: 66, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Symbol( "\"\\0\\0\\0\"", ), ], ], ), ], line: 69, }, Operator( ( "==", true, ), ), Symbol( "3", ), ], ], ), ], line: 68, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Symbol( "\"1234567890\"", ), ], ], ), ], line: 70, }, Operator( ( "==", true, ), ), Symbol( "10", ), ], ], ), ], line: 69, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Symbol( "\"\"", ), Operator( ( "==", true, ), ), Symbol( "0", ), ], ], ), ], line: 70, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Symbol( "\"\\0\\0\\0\"", ), Operator( ( "==", true, ), ), Symbol( "3", ), ], ], ), ], line: 72, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Symbol( "\"1234567890\"", ), Operator( ( "==", true, ), ), Symbol( "10", ), ], ], ), ], line: 73, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"a\"", ), ], ], ), ], line: 77, }, Operator( ( "==", true, ), ), Symbol( "97", ), ], ], ), ], line: 74, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4\"", ), ], ], ), ], line: 78, }, Operator( ( ">", true, ), ), Symbol( "127", ), ], ], ), ], line: 77, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Symbol( "255", ), ], ], ), ], line: 79, }, ], ], ), ], line: 79, }, Operator( ( "==", true, ), ), Symbol( "255", ), ], ], ), ], line: 78, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Symbol( "0", ), ], ], ), ], line: 80, }, ], ], ), ], line: 80, }, Operator( ( "==", true, ), ), Symbol( "0", ), ], ], ), ], line: 79, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\0\"", ), ], ], ), ], line: 81, }, Operator( ( "==", true, ), ), Symbol( "0", ), ], ], ), ], line: 80, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\0\\0alo\\0x\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 82, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "'x'", ), ], ], ), ], line: 82, }, ], ], ), ], line: 81, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"ba\"", ), ], [ Symbol( "2", ), ], ], ), ], line: 83, }, Operator( ( "==", true, ), ), Symbol( "97", ), ], ], ), ], line: 82, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\n\\n\"", ), ], [ Symbol( "2", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 84, }, Operator( ( "==", true, ), ), Symbol( "10", ), ], ], ), ], line: 83, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\n\\n\"", ), ], [ Symbol( "2", ), ], [ Symbol( "2", ), ], ], ), ], line: 85, }, Operator( ( "==", true, ), ), Symbol( "10", ), ], ], ), ], line: 84, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\"", ), ], ], ), ], line: 86, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 85, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"hi\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "3", ), ], ], ), ], line: 87, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 86, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"hi\"", ), ], [ Symbol( "3", ), ], ], ), ], line: 88, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 87, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"hi\"", ), ], [ Symbol( "9", ), ], [ Symbol( "10", ), ], ], ), ], line: 89, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 88, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"hi\"", ), ], [ Symbol( "2", ), ], [ Symbol( "1", ), ], ], ), ], line: 90, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], ], ), ], line: 89, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [], ), ], line: 91, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 90, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Symbol( "0", ), ], [ Symbol( "255", ), ], [ Symbol( "0", ), ], ], ), ], line: 92, }, Operator( ( "==", true, ), ), Symbol( "\"\\0\\255\\0\"", ), ], ], ), ], line: 91, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Symbol( "0", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4\"", ), ], ], ), ], line: 93, }, ], [ Symbol( "0", ), ], ], ), ], line: 93, }, Operator( ( "==", true, ), ), Symbol( "\"\\0\\xe4\\0\"", ), ], ], ), ], line: 92, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4l\\0óu\"", ), ], [ Symbol( "1", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 94, }, ], ], ), ], line: 94, }, Operator( ( "==", true, ), ), Symbol( "\"\\xe4l\\0óu\"", ), ], ], ), ], line: 93, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4l\\0óu\"", ), ], [ Symbol( "1", ), ], [ Symbol( "0", ), ], ], ), ], line: 95, }, ], ], ), ], line: 95, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 94, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4l\\0óu\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "10", ), ], [ Symbol( "100", ), ], ], ), ], line: 96, }, ], ], ), ], line: 96, }, Operator( ( "==", true, ), ), Symbol( "\"\\xe4l\\0óu\"", ), ], ], ), ], line: 95, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"out of range\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), ], line: 98, }, ], [ Symbol( "256", ), ], ], ), ], line: 96, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"out of range\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), ], line: 99, }, ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 98, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"out of range\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), ], line: 100, }, ], [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "maxinteger", ), ], line: 100, }, ], ], ), ], line: 99, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"out of range\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "char", ), ], line: 101, }, ], [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "mininteger", ), ], line: 101, }, ], ], ), ], line: 100, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "upper", ), Call( [ [ Symbol( "\"ab\\0c\"", ), ], ], ), ], line: 103, }, Operator( ( "==", true, ), ), Symbol( "\"AB\\0C\"", ), ], ], ), ], line: 101, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "lower", ), Call( [ [ Symbol( "\"\\0ABCc%$\"", ), ], ], ), ], line: 104, }, Operator( ( "==", true, ), ), Symbol( "\"\\0abcc%$\"", ), ], ], ), ], line: 103, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'teste'", ), ], [ Symbol( "0", ), ], ], ), ], line: 105, }, Operator( ( "==", true, ), ), Symbol( "''", ), ], ], ), ], line: 104, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'tés\\00tê'", ), ], [ Symbol( "2", ), ], ], ), ], line: 106, }, Operator( ( "==", true, ), ), Symbol( "'tés\\0têtés\\000tê'", ), ], ], ), ], line: 105, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "''", ), ], [ Symbol( "10", ), ], ], ), ], line: 107, }, Operator( ( "==", true, ), ), Symbol( "''", ), ], ], ), ], line: 106, }, IfStatement { condition: [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "packsize", ), Call( [ [ Symbol( "\"i\"", ), ], ], ), ], line: 109, }, Operator( ( "==", true, ), ), Symbol( "4", ), ], body: CodeBlock { start: 1074, code: [ Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"too large\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), ], line: 111, }, ], [ Symbol( "'aa'", ), ], [ Expr( [ Symbol( "1", ), Operator( ( "<<", true, ), ), Symbol( "30", ), ], ), Ident { expr: [], line: 111, }, ], ], ), ], line: 111, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"too large\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), ], line: 112, }, ], [ Symbol( "'a'", ), ], [ Expr( [ Symbol( "1", ), Operator( ( "<<", true, ), ), Symbol( "30", ), ], ), Ident { expr: [], line: 112, }, ], [ Symbol( "','", ), ], ], ), ], line: 111, }, ], end: 1109, }, next: None, line: 113, column: 1, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'teste'", ), ], [ Symbol( "0", ), ], [ Symbol( "'xuxu'", ), ], ], ), ], line: 116, }, Operator( ( "==", true, ), ), Symbol( "''", ), ], ], ), ], line: 113, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'teste'", ), ], [ Symbol( "1", ), ], [ Symbol( "'xuxu'", ), ], ], ), ], line: 117, }, Operator( ( "==", true, ), ), Symbol( "'teste'", ), ], ], ), ], line: 116, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'\\1\\0\\1'", ), ], [ Symbol( "2", ), ], [ Symbol( "'\\0\\0'", ), ], ], ), ], line: 118, }, Operator( ( "==", true, ), ), Symbol( "'\\1\\0\\1\\0\\0\\1\\0\\1'", ), ], ], ), ], line: 117, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "''", ), ], [ Symbol( "10", ), ], [ Symbol( "'.'", ), ], ], ), ], line: 119, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'.'", ), ], [ Symbol( "9", ), ], ], ), ], line: 119, }, ], ], ), ], line: 118, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "pcall", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), ], line: 120, }, ], [ Symbol( "\"aa\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 120, }, Operator( ( "//", true, ), ), Symbol( "2", ), Operator( ( "+", true, ), ), Symbol( "10", ), ], ], ), ], line: 120, }, ], ], ), ], line: 119, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "pcall", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), ], line: 121, }, ], [ Symbol( "\"\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 121, }, Operator( ( "//", true, ), ), Symbol( "2", ), Operator( ( "+", true, ), ), Symbol( "10", ), ], [ Symbol( "\"aa\"", ), ], ], ), ], line: 121, }, ], ], ), ], line: 120, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "reverse", ), Call( [ [ Symbol( "\"\"", ), ], ], ), ], line: 123, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 121, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "reverse", ), Call( [ [ Symbol( "\"\\0\\1\\2\\3\"", ), ], ], ), ], line: 124, }, Operator( ( "==", true, ), ), Symbol( "\"\\3\\2\\1\\0\"", ), ], ], ), ], line: 123, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "reverse", ), Call( [ [ Symbol( "\"\\0001234\"", ), ], ], ), ], line: 125, }, Operator( ( "==", true, ), ), Symbol( "\"4321\\0\"", ), ], ], ), ], line: 124, }, ForLoop { iter: "i", start: [ Symbol( "0", ), ], end: [ Symbol( "30", ), ], step: None, code: CodeBlock { start: 1248, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'a'", ), ], [ Ident { expr: [ Symbol( "i", ), ], line: 127, }, ], ], ), ], line: 127, }, ], ], ), ], line: 127, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "i", ), ], line: 127, }, ], ], ), ], line: 127, }, ], end: 1267, }, line: 127, column: 26, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "nil", ), ], ], ), ], line: 129, }, ], ], ), ], line: 129, }, Operator( ( "==", true, ), ), Symbol( "'string'", ), ], ], ), ], line: 127, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "12", ), ], ], ), ], line: 130, }, ], ], ), ], line: 130, }, Operator( ( "==", true, ), ), Symbol( "'string'", ), ], ], ), ], line: 129, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Table { data: [], line: 131, column: 9, }, ], ], ), ], line: 131, }, ], [ Symbol( "'table:'", ), ], ], ), ], line: 131, }, ], ], ), ], line: 130, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Ident { expr: [ Symbol( "print", ), ], line: 132, }, ], ], ), ], line: 132, }, ], [ Symbol( "'function:'", ), ], ], ), ], line: 132, }, ], ], ), ], line: 131, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "'\\0'", ), ], ], ), ], line: 133, }, Operator( ( "==", true, ), ), Symbol( "1", ), ], ], ), ], line: 132, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "true", ), ], ], ), ], line: 134, }, Operator( ( "==", true, ), ), Symbol( "\"true\"", ), ], ], ), ], line: 133, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "false", ), ], ], ), ], line: 135, }, Operator( ( "==", true, ), ), Symbol( "\"false\"", ), ], ], ), ], line: 134, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "1203", ), ], ], ), ], line: 136, }, Operator( ( "==", true, ), ), Symbol( "\"-1203\"", ), ], ], ), ], line: 135, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "1203.125", ), ], ], ), ], line: 137, }, Operator( ( "==", true, ), ), Symbol( "\"1203.125\"", ), ], ], ), ], line: 136, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "0.5", ), ], ], ), ], line: 138, }, Operator( ( "==", true, ), ), Symbol( "\"-0.5\"", ), ], ], ), ], line: 137, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "32767", ), ], ], ), ], line: 139, }, Operator( ( "==", true, ), ), Symbol( "\"-32767\"", ), ], ], ), ], line: 138, }, IfStatement { condition: [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "tointeger", ), Call( [ [ Symbol( "2147483647", ), ], ], ), ], line: 140, }, ], body: CodeBlock { start: 1393, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "2147483647", ), ], ], ), ], line: 141, }, Operator( ( "==", true, ), ), Symbol( "\"-2147483647\"", ), ], ], ), ], line: 141, }, ], end: 1404, }, next: None, line: 142, column: 1, }, IfStatement { condition: [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "tointeger", ), Call( [ [ Symbol( "4611686018427387904", ), ], ], ), ], line: 143, }, ], body: CodeBlock { start: 1412, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "4611686018427387904", ), ], ], ), ], line: 144, }, Operator( ( "==", true, ), ), Symbol( "\"4611686018427387904\"", ), ], ], ), ], line: 144, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "4611686018427387904", ), ], ], ), ], line: 145, }, Operator( ( "==", true, ), ), Symbol( "\"-4611686018427387904\"", ), ], ], ), ], line: 144, }, ], end: 1432, }, next: None, line: 146, column: 1, }, IfStatement { condition: [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "0.0", ), ], ], ), ], line: 148, }, Operator( ( "==", true, ), ), Symbol( "\"0.0\"", ), ], body: CodeBlock { start: 1440, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "''", ), Operator( ( "..", true, ), ), Symbol( "12", ), Operator( ( "==", true, ), ), Symbol( "'12'", ), Operator( ( "and", true, ), ), Symbol( "12.0", ), Operator( ( "..", true, ), ), Symbol( "''", ), Operator( ( "==", true, ), ), Symbol( "'12.0'", ), ], ], ), ], line: 149, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "1203", ), Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ], line: 150, }, Operator( ( "==", true, ), ), Symbol( "\"-1203.0\"", ), ], ], ), ], line: 149, }, ], end: 1467, }, next: Some( IfStatement { condition: [], body: CodeBlock { start: 1467, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "0.0", ), ], ], ), ], line: 152, }, Operator( ( "==", true, ), ), Symbol( "\"0\"", ), ], ], ), ], line: 152, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "''", ), Operator( ( "..", true, ), ), Symbol( "12", ), Operator( ( "==", true, ), ), Symbol( "'12'", ), Operator( ( "and", true, ), ), Symbol( "12.0", ), Operator( ( "..", true, ), ), Symbol( "''", ), Operator( ( "==", true, ), ), Symbol( "'12'", ), ], ], ), ], line: 152, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Operator( ( "-", false, ), ), Symbol( "1203", ), Operator( ( "+", true, ), ), Symbol( "0.0", ), ], ], ), ], line: 154, }, Operator( ( "==", true, ), ), Symbol( "\"-1203\"", ), ], ], ), ], line: 153, }, ], end: 1503, }, next: None, line: 155, column: 1, }, ), line: 155, column: 1, }, DoBlock( CodeBlock { start: 1504, code: [ Variable { names: [ ( "null", false, ), ], values: [ [ Symbol( "\"(null)\"", ), ], ], line: 161, column: 4, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Symbol( "4", ), ], ], ), ], line: 162, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 162, }, ], ], ), ], line: 161, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Symbol( "true", ), ], ], ), ], line: 163, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 163, }, ], ], ), ], line: 162, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Symbol( "nil", ), ], ], ), ], line: 164, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 164, }, ], ], ), ], line: 163, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Table { data: [], line: 165, column: 10, }, ], ], ), ], line: 165, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 165, }, ], ], ), ], line: 164, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "print", ), ], line: 166, }, ], ], ), ], line: 166, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 166, }, ], ], ), ], line: 165, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "coroutine", ), Symbol( ".", ), Symbol( "running", ), Call( [], ), ], line: 167, }, ], ], ), ], line: 167, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 167, }, ], ], ), ], line: 166, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "io", ), Symbol( ".", ), Symbol( "stdin", ), ], line: 168, }, ], ], ), ], line: 168, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 168, }, ], ], ), ], line: 167, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "io", ), Symbol( ".", ), Symbol( "stdin", ), ], line: 169, }, ], ], ), ], line: 169, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "io", ), Symbol( ".", ), Symbol( "stdin", ), ], line: 169, }, ], ], ), ], line: 169, }, ], ], ), ], line: 168, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "print", ), ], line: 170, }, ], ], ), ], line: 170, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "print", ), ], line: 170, }, ], ], ), ], line: 170, }, ], ], ), ], line: 169, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "print", ), ], line: 171, }, ], ], ), ], line: 171, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "assert", ), ], line: 171, }, ], ], ), ], line: 171, }, ], ], ), ], line: 170, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%90p\"", ), ], [ Table { data: [], line: 173, column: 11, }, ], ], ), ], line: 173, }, Operator( ( "==", true, ), ), Symbol( "90", ), ], ], ), ], line: 171, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%-60p\"", ), ], [ Table { data: [], line: 174, column: 11, }, ], ], ), ], line: 174, }, Operator( ( "==", true, ), ), Symbol( "60", ), ], ], ), ], line: 173, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%10p\"", ), ], [ Symbol( "false", ), ], ], ), ], line: 175, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\" \"", ), ], [ Symbol( "10", ), Operator( ( "-", true, ), ), Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "null", ), ], line: 175, }, ], ], ), ], line: 175, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 175, }, ], ], ), ], line: 174, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%-12p\"", ), ], [ Symbol( "1.5", ), ], ], ), ], line: 176, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "null", ), ], line: 176, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\" \"", ), ], [ Symbol( "12", ), Operator( ( "-", true, ), ), Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "null", ), ], line: 176, }, ], ], ), ], line: 176, }, ], ], ), ], line: 175, }, DoBlock( CodeBlock { start: 247, code: [ Variable { names: [ ( "t1", false, ), ], values: [ [ Table { data: [], line: 179, column: 5, }, ], ], line: 179, column: 6, }, Variable { names: [ ( "t2", false, ), ], values: [ [ Table { data: [], line: 179, column: 11, }, ], ], line: 179, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "t1", ), ], line: 180, }, ], ], ), ], line: 180, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "t2", ), ], line: 180, }, ], ], ), ], line: 180, }, ], ], ), ], line: 179, }, ], end: 279, }, ), DoBlock( CodeBlock { start: 280, code: [ Variable { names: [ ( "s1", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Symbol( "10", ), ], ], ), ], line: 184, }, ], ], line: 185, column: 0, }, Variable { names: [ ( "s2", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"aa\"", ), ], [ Symbol( "5", ), ], ], ), ], line: 185, }, ], ], line: 185, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "s1", ), ], line: 186, }, ], ], ), ], line: 186, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "s2", ), ], line: 186, }, ], ], ), ], line: 186, }, ], ], ), ], line: 185, }, ], end: 323, }, ), DoBlock( CodeBlock { start: 324, code: [ Variable { names: [ ( "s1", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Symbol( "300", ), ], ], ), ], line: 190, }, ], ], line: 190, column: 12, }, Variable { names: [ ( "s2", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Symbol( "300", ), ], ], ), ], line: 190, }, ], ], line: 190, column: 23, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "s1", ), ], line: 191, }, ], ], ), ], line: 191, }, Operator( ( "~=", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%p\"", ), ], [ Ident { expr: [ Symbol( "s2", ), ], line: 191, }, ], ], ), ], line: 191, }, ], ], ), ], line: 190, }, ], end: 368, }, ), ], end: 1873, }, ), Alter { names: [ Ident { expr: [ Symbol( "x", ), ], line: 193, }, ], values: [ [ Symbol( "'\"ílo\"\\n\\\\'", ), ], ], line: 195, column: 3, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'%q%s'", ), ], [ Ident { expr: [ Symbol( "x", ), ], line: 196, }, ], [ Ident { expr: [ Symbol( "x", ), ], line: 196, }, ], ], ), ], line: 196, }, Operator( ( "==", true, ), ), Symbol( "'\"\\\\\"ílo\\\\\"\\\\\\n\\\\\\\\\"\"ílo\"\\n\\\\'", ), ], ], ), ], line: 195, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'%q'", ), ], [ Symbol( "\"\\0\"", ), ], ], ), ], line: 197, }, Operator( ( "==", true, ), ), MultilineString( "[[\"\\0\"]]", ), ], ], ), ], line: 196, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "load", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'return %q'", ), ], [ Ident { expr: [ Symbol( "x", ), ], line: 198, }, ], ], ), ], line: 198, }, ], ], ), Call( [], ), ], line: 198, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 198, }, ], ], ), ], line: 197, }, Alter { names: [ Ident { expr: [ Symbol( "x", ), ], line: 198, }, ], values: [ [ Symbol( "\"\\0\\1\\0023\\5\\0009\"", ), ], ], line: 199, column: 3, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "load", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'return %q'", ), ], [ Ident { expr: [ Symbol( "x", ), ], line: 200, }, ], ], ), ], line: 200, }, ], ], ), Call( [], ), ], line: 200, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "x", ), ], line: 200, }, ], ], ), ], line: 199, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"\\0%c\\0%c%x\\0\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"\\xe4\"", ), ], ], ), ], line: 201, }, ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"b\"", ), ], ], ), ], line: 201, }, ], [ Symbol( "140", ), ], ], ), ], line: 201, }, Operator( ( "==", true, ), ), Symbol( "\"\\0\\xe4\\0b8c\\0\"", ), ], ], ), ], line: 200, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "''", ), ], ], ), ], line: 203, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 202, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%c\"", ), ], [ Symbol( "34", ), ], ], ), ], line: 204, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%c\"", ), ], [ Symbol( "48", ), ], ], ), ], line: 204, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%c\"", ), ], [ Symbol( "90", ), ], ], ), ], line: 204, }, Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%c\"", ), ], [ Symbol( "100", ), ], ], ), ], line: 204, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%1c%-c%-1c%c\"", ), ], [ Symbol( "34", ), ], [ Symbol( "48", ), ], [ Symbol( "90", ), ], [ Symbol( "100", ), ], ], ), ], line: 204, }, ], ], ), ], line: 203, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%s\\0 is not \\0%s\"", ), ], [ Symbol( "'not be'", ), ], [ Symbol( "'be'", ), ], ], ), ], line: 206, }, Operator( ( "==", true, ), ), Symbol( "'not be\\0 is not \\0be'", ), ], ], ), ], line: 205, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%%%d %010d\"", ), ], [ Symbol( "10", ), ], [ Symbol( "23", ), ], ], ), ], line: 207, }, Operator( ( "==", true, ), ), Symbol( "\"%10 0000000023\"", ), ], ], ), ], line: 206, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tonumber", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%f\"", ), ], [ Symbol( "10.3", ), ], ], ), ], line: 208, }, ], ], ), ], line: 208, }, Operator( ( "==", true, ), ), Symbol( "10.3", ), ], ], ), ], line: 207, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'\"%-50s\"'", ), ], [ Symbol( "'a'", ), ], ], ), ], line: 209, }, Operator( ( "==", true, ), ), Symbol( "'\"a'", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "' '", ), ], [ Symbol( "49", ), ], ], ), ], line: 209, }, Operator( ( "..", true, ), ), Symbol( "'\"'", ), ], ], ), ], line: 208, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"-%.20s.20s\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%\"", ), ], [ Symbol( "2000", ), ], ], ), ], line: 211, }, ], ], ), ], line: 211, }, Operator( ( "==", true, ), ), Symbol( "\"-\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%\"", ), ], [ Symbol( "20", ), ], ], ), ], line: 212, }, Operator( ( "..", true, ), ), Symbol( "\".20s\"", ), ], ], ), ], line: 209, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'\"-%20s.20s\"'", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%\"", ), ], [ Symbol( "2000", ), ], ], ), ], line: 213, }, ], ], ), ], line: 213, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%q\"", ), ], [ Symbol( "\"-\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%\"", ), ], [ Symbol( "2000", ), ], ], ), ], line: 214, }, Operator( ( "..", true, ), ), Symbol( "\".20s\"", ), ], ], ), ], line: 213, }, ], ], ), ], line: 212, }, DoBlock( CodeBlock { start: 2174, code: [ Function { local: true, name: [ Symbol( "checkQ", ), ], args: [ "v", ], body: CodeBlock { start: 6, code: [ Variable { names: [ ( "s", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%q\"", ), ], [ Ident { expr: [ Symbol( "v", ), ], line: 218, }, ], ], ), ], line: 218, }, ], ], line: 219, column: 0, }, Variable { names: [ ( "nv", false, ), ], values: [ [ Ident { expr: [ Symbol( "load", ), Call( [ [ Symbol( "\"return \"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "s", ), ], line: 219, }, ], ], ), Call( [], ), ], line: 219, }, ], ], line: 219, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "v", ), ], line: 220, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "nv", ), ], line: 220, }, Operator( ( "and", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "v", ), ], line: 220, }, ], ], ), ], line: 220, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "type", ), Call( [ [ Ident { expr: [ Symbol( "nv", ), ], line: 220, }, ], ], ), ], line: 220, }, ], ], ), ], line: 219, }, ], end: 49, }, line: 221, column: 1, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Symbol( "\"\\0\\0\\1\\255\\u{234}\"", ), ], ], ), ], line: 221, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "maxinteger", ), ], line: 223, }, ], ], ), ], line: 222, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "mininteger", ), ], line: 224, }, ], ], ), ], line: 223, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "pi", ), ], line: 225, }, ], ], ), ], line: 224, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Symbol( "0.1", ), ], ], ), ], line: 225, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Symbol( "true", ), ], ], ), ], line: 226, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Symbol( "nil", ), ], ], ), ], line: 227, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Symbol( "false", ), ], ], ), ], line: 228, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 230, }, ], ], ), ], line: 229, }, Ident { expr: [ Symbol( "checkQ", ), Call( [ [ Operator( ( "-", false, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 231, }, ], ], ), ], line: 230, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%q\"", ), ], [ Symbol( "0", ), Operator( ( "/", true, ), ), Symbol( "0", ), ], ], ), ], line: 232, }, Operator( ( "==", true, ), ), Symbol( "\"(0/0)\"", ), ], ], ), ], line: 231, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"no literal\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), ], line: 233, }, ], [ Symbol( "\"%q\"", ), ], [ Table { data: [], line: 233, column: 12, }, ], ], ), ], line: 232, }, ], end: 2303, }, ), Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"\\0%s\\0\"", ), ], [ Symbol( "\"\\0\\0\\1\"", ), ], ], ), ], line: 236, }, Operator( ( "==", true, ), ), Symbol( "\"\\0\\0\\0\\1\\0\"", ), ], ], ), ], line: 234, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"contains zeros\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), ], line: 237, }, ], [ Symbol( "\"%10s\"", ), ], [ Symbol( "\"\\0\"", ), ], ], ), ], line: 236, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%s %s\"", ), ], [ Symbol( "nil", ), ], [ Symbol( "true", ), ], ], ), ], line: 240, }, Operator( ( "==", true, ), ), Symbol( "\"nil true\"", ), ], ], ), ], line: 237, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%s %.4s\"", ), ], [ Symbol( "false", ), ], [ Symbol( "true", ), ], ], ), ], line: 241, }, Operator( ( "==", true, ), ), Symbol( "\"false true\"", ), ], ], ), ], line: 240, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.3s %.3s\"", ), ], [ Symbol( "false", ), ], [ Symbol( "true", ), ], ], ), ], line: 242, }, Operator( ( "==", true, ), ), Symbol( "\"fal tru\"", ), ], ], ), ], line: 241, }, Variable { names: [ ( "m", false, ), ], values: [ [ Ident { expr: [ Symbol( "setmetatable", ), Call( [ [ Table { data: [], line: 243, column: 7, }, ], [ Table { data: [ ( Some( [ Symbol( "__tostring", ), ], ), [ Lambda { args: [], body: CodeBlock { start: 2387, code: [ Return( Some( [ [ Symbol( "\"hello\"", ), ], ], ), ), ], end: 2390, }, line: 243, column: 17, }, ], ), ( Some( [ Symbol( "__name", ), ], ), [ Symbol( "\"hi\"", ), ], ), ], line: 244, column: 4, }, ], ], ), ], line: 243, }, ], ], line: 244, column: 5, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%s %.10s\"", ), ], [ Ident { expr: [ Symbol( "m", ), ], line: 245, }, ], [ Ident { expr: [ Symbol( "m", ), ], line: 245, }, ], ], ), ], line: 245, }, Operator( ( "==", true, ), ), Symbol( "\"hello hello\"", ), ], ], ), ], line: 244, }, Alter { names: [ Ident { expr: [ Symbol( "getmetatable", ), Call( [ [ Ident { expr: [ Symbol( "m", ), ], line: 246, }, ], ], ), Symbol( ".", ), Symbol( "__tostring", ), ], line: 245, }, ], values: [ [ Symbol( "nil", ), ], ], line: 246, column: 8, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.4s\"", ), ], [ Ident { expr: [ Symbol( "m", ), ], line: 247, }, ], ], ), ], line: 247, }, Operator( ( "==", true, ), ), Symbol( "\"hi: \"", ), ], ], ), ], line: 246, }, Alter { names: [ Ident { expr: [ Symbol( "getmetatable", ), Call( [ [ Ident { expr: [ Symbol( "m", ), ], line: 249, }, ], ], ), Symbol( ".", ), Symbol( "__tostring", ), ], line: 247, }, ], values: [ [ Lambda { args: [], body: CodeBlock { start: 2442, code: [ Return( Some( [ [ Table { data: [], line: 249, column: 3, }, ], ], ), ), ], end: 2446, }, line: 249, column: 14, }, ], ], line: 249, column: 14, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"'__tostring' must return a string\"", ), ], [ Ident { expr: [ Symbol( "tostring", ), ], line: 250, }, ], [ Ident { expr: [ Symbol( "m", ), ], line: 250, }, ], ], ), ], line: 249, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Symbol( "0.0", ), ], ], ), ], line: 253, }, Operator( ( "==", true, ), ), Symbol( "\"0\"", ), ], ], ), ], line: 250, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%02x\"", ), ], [ Symbol( "0.0", ), ], ], ), ], line: 254, }, Operator( ( "==", true, ), ), Symbol( "\"00\"", ), ], ], ), ], line: 253, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%08X\"", ), ], [ Symbol( "0xFFFFFFFF", ), ], ], ), ], line: 255, }, Operator( ( "==", true, ), ), Symbol( "\"FFFFFFFF\"", ), ], ], ), ], line: 254, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%+08d\"", ), ], [ Symbol( "31501", ), ], ], ), ], line: 256, }, Operator( ( "==", true, ), ), Symbol( "\"+0031501\"", ), ], ], ), ], line: 255, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%+08d\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "30927", ), ], ], ), ], line: 257, }, Operator( ( "==", true, ), ), Symbol( "\"-0030927\"", ), ], ], ), ], line: 256, }, DoBlock( CodeBlock { start: 2521, code: [ Variable { names: [ ( "i", false, ), ], values: [ [ Symbol( "1", ), ], ], line: 262, column: 0, }, Variable { names: [ ( "j", false, ), ], values: [ [ Symbol( "10000", ), ], ], line: 263, column: 0, }, WhileLoop { condition: [ Ident { expr: [ Symbol( "i", ), ], line: 263, }, Operator( ( "+", true, ), ), Symbol( "1", ), Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "j", ), ], line: 263, }, ], body: CodeBlock { start: 15, code: [ Variable { names: [ ( "m", false, ), ], values: [ [ Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 264, }, Operator( ( "+", true, ), ), Ident { expr: [ Symbol( "j", ), ], line: 264, }, ], ), Ident { expr: [], line: 264, }, Operator( ( "//", true, ), ), Symbol( "2", ), ], ], line: 265, column: 0, }, IfStatement { condition: [ Symbol( "10", ), Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "m", ), ], line: 265, }, Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 265, }, ], body: CodeBlock { start: 19, code: [ Alter { names: [ Ident { expr: [ Symbol( "i", ), ], line: 265, }, ], values: [ [ Ident { expr: [ Symbol( "m", ), ], line: 265, }, ], ], line: 265, column: 3, }, ], end: 23, }, next: Some( IfStatement { condition: [], body: CodeBlock { start: 23, code: [ Alter { names: [ Ident { expr: [ Symbol( "j", ), ], line: 265, }, ], values: [ [ Ident { expr: [ Symbol( "m", ), ], line: 265, }, ], ], line: 265, column: 3, }, ], end: 27, }, next: None, line: 265, column: 17, }, ), line: 265, column: 17, }, ], end: 43, }, line: 266, column: 1, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "10", ), Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "i", ), ], line: 267, }, Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 267, }, Operator( ( "and", true, ), ), Symbol( "10", ), Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "j", ), ], line: 267, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 267, }, ], ], ), ], line: 266, }, Variable { names: [ ( "s", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'%.99f'", ), ], [ Operator( ( "-", false, ), ), Expr( [ Symbol( "10", ), Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "i", ), ], line: 268, }, ], ), Ident { expr: [], line: 268, }, ], ], ), ], line: 268, }, ], ], line: 268, column: 16, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 269, }, ], ], ), ], line: 269, }, Operator( ( ">=", true, ), ), Ident { expr: [ Symbol( "i", ), ], line: 269, }, Operator( ( "+", true, ), ), Symbol( "101", ), ], ], ), ], line: 268, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tonumber", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 270, }, ], ], ), ], line: 270, }, Operator( ( "==", true, ), ), Operator( ( "-", false, ), ), Expr( [ Symbol( "10", ), Operator( ( "^", true, ), ), Ident { expr: [ Symbol( "i", ), ], line: 270, }, ], ), Ident { expr: [], line: 270, }, ], ], ), ], line: 269, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "10", ), Operator( ( "^", true, ), ), Symbol( "38", ), Operator( ( "<", true, ), ), Ident { expr: [ Symbol( "math", ), Symbol( ".", ), Symbol( "huge", ), ], line: 273, }, ], ], ), ], line: 270, }, Variable { names: [ ( "s", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "'%.99f'", ), ], [ Operator( ( "-", false, ), ), Expr( [ Symbol( "10", ), Operator( ( "^", true, ), ), Symbol( "38", ), ], ), Ident { expr: [], line: 274, }, ], ], ), ], line: 274, }, ], ], line: 274, column: 16, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "len", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 275, }, ], ], ), ], line: 275, }, Operator( ( ">=", true, ), ), Symbol( "38", ), Operator( ( "+", true, ), ), Symbol( "101", ), ], ], ), ], line: 274, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tonumber", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 276, }, ], ], ), ], line: 276, }, Operator( ( "==", true, ), ), Operator( ( "-", false, ), ), Expr( [ Symbol( "10", ), Operator( ( "^", true, ), ), Symbol( "38", ), ], ), Ident { expr: [], line: 276, }, ], ], ), ], line: 275, }, ], end: 2679, }, ), DoBlock( CodeBlock { start: 2680, code: [ Variable { names: [ ( "max", false, ), ( "min", false, ), ], values: [ [ Symbol( "0x7fffffff", ), ], [ Operator( ( "-", false, ), ), Symbol( "0x80000000", ), ], ], line: 282, column: 9, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%8x\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ], ), ], line: 283, }, ], [ Operator( ( "-", false, ), ), Symbol( "8", ), ], ], ), ], line: 283, }, Operator( ( "==", true, ), ), Symbol( "\"ffffffff\"", ), ], ], ), ], line: 282, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Ident { expr: [ Symbol( "max", ), ], line: 284, }, ], ], ), ], line: 284, }, Operator( ( "==", true, ), ), Symbol( "\"7fffffff\"", ), ], ], ), ], line: 283, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "sub", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Ident { expr: [ Symbol( "min", ), ], line: 285, }, ], ], ), ], line: 285, }, ], [ Operator( ( "-", false, ), ), Symbol( "8", ), ], ], ), ], line: 285, }, Operator( ( "==", true, ), ), Symbol( "\"80000000\"", ), ], ], ), ], line: 284, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%d\"", ), ], [ Ident { expr: [ Symbol( "max", ), ], line: 286, }, ], ], ), ], line: 286, }, Operator( ( "==", true, ), ), Symbol( "\"2147483647\"", ), ], ], ), ], line: 285, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%d\"", ), ], [ Ident { expr: [ Symbol( "min", ), ], line: 287, }, ], ], ), ], line: 287, }, Operator( ( "==", true, ), ), Symbol( "\"-2147483648\"", ), ], ], ), ], line: 286, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%u\"", ), ], [ Symbol( "0xffffffff", ), ], ], ), ], line: 288, }, Operator( ( "==", true, ), ), Symbol( "\"4294967295\"", ), ], ], ), ], line: 287, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%o\"", ), ], [ Symbol( "0xABCD", ), ], ], ), ], line: 289, }, Operator( ( "==", true, ), ), Symbol( "\"125715\"", ), ], ], ), ], line: 288, }, Alter { names: [ Ident { expr: [ Symbol( "max", ), ], line: 289, }, Ident { expr: [ Symbol( "min", ), ], line: 291, }, ], values: [ [ Symbol( "0x7fffffffffffffff", ), ], [ Operator( ( "-", false, ), ), Symbol( "0x8000000000000000", ), ], ], line: 292, column: 0, }, IfStatement { condition: [ Ident { expr: [ Symbol( "max", ), ], line: 292, }, Operator( ( ">", true, ), ), Symbol( "2.0", ), Operator( ( "^", true, ), ), Symbol( "53", ), ], body: CodeBlock { start: 132, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Expr( [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "52", ), Operator( ( "|", true, ), ), Symbol( "0", ), ], ), Ident { expr: [], line: 293, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ], ), ], line: 293, }, Operator( ( "==", true, ), ), Symbol( "\"fffffffffffff\"", ), ], ], ), ], line: 293, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"0x%8X\"", ), ], [ Symbol( "0x8f000003", ), ], ], ), ], line: 294, }, Operator( ( "==", true, ), ), Symbol( "\"0x8F000003\"", ), ], ], ), ], line: 293, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%d\"", ), ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "53", ), ], ], ), ], line: 295, }, Operator( ( "==", true, ), ), Symbol( "\"9007199254740992\"", ), ], ], ), ], line: 294, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%i\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "53", ), ], ], ), ], line: 296, }, Operator( ( "==", true, ), ), Symbol( "\"-9007199254740992\"", ), ], ], ), ], line: 295, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Ident { expr: [ Symbol( "max", ), ], line: 297, }, ], ], ), ], line: 297, }, Operator( ( "==", true, ), ), Symbol( "\"7fffffffffffffff\"", ), ], ], ), ], line: 296, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%x\"", ), ], [ Ident { expr: [ Symbol( "min", ), ], line: 298, }, ], ], ), ], line: 298, }, Operator( ( "==", true, ), ), Symbol( "\"8000000000000000\"", ), ], ], ), ], line: 297, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%d\"", ), ], [ Ident { expr: [ Symbol( "max", ), ], line: 299, }, ], ], ), ], line: 299, }, Operator( ( "==", true, ), ), Symbol( "\"9223372036854775807\"", ), ], ], ), ], line: 298, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%d\"", ), ], [ Ident { expr: [ Symbol( "min", ), ], line: 300, }, ], ], ), ], line: 300, }, Operator( ( "==", true, ), ), Symbol( "\"-9223372036854775808\"", ), ], ], ), ], line: 299, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%u\"", ), ], [ Operator( ( "~", false, ), ), Expr( [ Operator( ( "-", false, ), ), Symbol( "1", ), Operator( ( "<<", true, ), ), Symbol( "64", ), ], ), Ident { expr: [], line: 301, }, ], ], ), ], line: 301, }, Operator( ( "==", true, ), ), Symbol( "\"18446744073709551615\"", ), ], ], ), ], line: 300, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tostring", ), Call( [ [ Symbol( "1234567890123", ), ], ], ), ], line: 302, }, Operator( ( "==", true, ), ), Symbol( "'1234567890123'", ), ], ], ), ], line: 301, }, ], end: 278, }, next: None, line: 303, column: 1, }, ], end: 2959, }, ), DoBlock( CodeBlock { start: 2960, code: [ Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "\"testing 'format %a %A'\"", ), ], ], ), ], line: 307, }, Function { local: true, name: [ Symbol( "matchhexa", ), ], args: [ "n", ], body: CodeBlock { start: 10, code: [ Variable { names: [ ( "s", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%a\"", ), ], [ Ident { expr: [ Symbol( "n", ), ], line: 309, }, ], ], ), ], line: 309, }, ], ], line: 309, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 311, }, ], [ Symbol( "\"^%-?0x[1-9a-f]%.?[0-9a-f]*p[-+]?%d+$\"", ), ], ], ), ], line: 311, }, ], ], ), ], line: 309, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tonumber", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 312, }, ], ], ), ], line: 312, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "n", ), ], line: 312, }, ], ], ), ], line: 311, }, Alter { names: [ Ident { expr: [ Symbol( "s", ), ], line: 312, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%A\"", ), ], [ Ident { expr: [ Symbol( "n", ), ], line: 313, }, ], ], ), ], line: 313, }, ], ], line: 313, column: 10, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 314, }, ], [ Symbol( "\"^%-?0X[1-9A-F]%.?[0-9A-F]*P[-+]?%d+$\"", ), ], ], ), ], line: 314, }, ], ], ), ], line: 313, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "tonumber", ), Call( [ [ Ident { expr: [ Symbol( "s", ), ], line: 315, }, ], ], ), ], line: 315, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "n", ), ], line: 315, }, ], ], ), ], line: 314, }, ], end: 72, }, line: 316, column: 1, }, ForFuncLoop { iters: [ "_", "n", ], expr: [ Ident { expr: [ Symbol( "ipairs", ), Call( [ [ Table { data: [ ( None, [ Symbol( "0.1", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "0.1", ), ], ), ( None, [ Symbol( "1", ), Operator( ( "/", true, ), ), Symbol( "3", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "1", ), Operator( ( "/", true, ), ), Symbol( "3", ), ], ), ( None, [ Symbol( "1e30", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "1e30", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "45", ), Operator( ( "/", true, ), ), Symbol( "247", ), ], ), ( None, [ Symbol( "1", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "1", ), ], ), ( None, [ Symbol( "2", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "2", ), ], ), ( None, [ Symbol( "3e-20", ), ], ), ( None, [ Operator( ( "-", false, ), ), Symbol( "3e-20", ), ], ), ], line: 318, column: 20, }, ], ], ), ], line: 317, }, ], stop: None, initial: None, code: CodeBlock { start: 119, code: [ Ident { expr: [ Symbol( "matchhexa", ), Call( [ [ Ident { expr: [ Symbol( "n", ), ], line: 319, }, ], ], ), ], line: 319, }, ], end: 124, }, line: 320, column: 1, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%A\"", ), ], [ Symbol( "0.0", ), ], ], ), ], line: 322, }, ], [ Symbol( "\"^0X0%.?0*P%+?0$\"", ), ], ], ), ], line: 322, }, ], ], ), ], line: 320, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%a\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "0.0", ), ], ], ), ], line: 323, }, ], [ Symbol( "\"^%-0x0%.?0*p%+?0$\"", ), ], ], ), ], line: 323, }, ], ], ), ], line: 322, }, IfStatement { condition: [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "_port", ), ], line: 325, }, ], body: CodeBlock { start: 165, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%a\"", ), ], [ Symbol( "1", ), Operator( ( "/", true, ), ), Symbol( "0", ), ], ], ), ], line: 326, }, ], [ Symbol( "\"^inf\"", ), ], ], ), ], line: 326, }, ], ], ), ], line: 326, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%A\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "1", ), Operator( ( "/", true, ), ), Symbol( "0", ), ], ], ), ], line: 327, }, ], [ Symbol( "\"^%-INF\"", ), ], ], ), ], line: 327, }, ], ], ), ], line: 326, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%a\"", ), ], [ Symbol( "0", ), Operator( ( "/", true, ), ), Symbol( "0", ), ], ], ), ], line: 328, }, ], [ Symbol( "\"^%-?nan\"", ), ], ], ), ], line: 328, }, ], ], ), ], line: 327, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%a\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "0.0", ), ], ], ), ], line: 329, }, ], [ Symbol( "\"^%-0x0\"", ), ], ], ), ], line: 329, }, ], ], ), ], line: 328, }, ], end: 246, }, next: None, line: 330, column: 1, }, IfStatement { condition: [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "pcall", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), ], line: 332, }, ], [ Symbol( "\"%.3a\"", ), ], [ Symbol( "0", ), ], ], ), ], line: 332, }, ], body: CodeBlock { start: 259, code: [ Expr( [ Ident { expr: [ Symbol( "Message", ), ], line: 333, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "print", ), ], line: 333, }, ], ), Ident { expr: [ Call( [ [ Symbol( "\"\\n >>> modifiers for format '%a' not available <<<\\n\"", ), ], ], ), ], line: 333, }, ], end: 268, }, next: Some( IfStatement { condition: [], body: CodeBlock { start: 268, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%+.2A\"", ), ], [ Symbol( "12", ), ], ], ), ], line: 335, }, ], [ Symbol( "\"^%+0X%x%.%x0P%+?%d$\"", ), ], ], ), ], line: 335, }, ], ], ), ], line: 335, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "find", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.4A\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "12", ), ], ], ), ], line: 336, }, ], [ Symbol( "\"^%-0X%x%.%x000P%+?%d$\"", ), ], ], ), ], line: 336, }, ], ], ), ], line: 335, }, ], end: 306, }, next: None, line: 337, column: 1, }, ), line: 337, column: 1, }, ], end: 3267, }, ), Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%#12o\"", ), ], [ Symbol( "10", ), ], ], ), ], line: 342, }, Operator( ( "==", true, ), ), Symbol( "\" 012\"", ), ], ], ), ], line: 338, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%#10x\"", ), ], [ Symbol( "100", ), ], ], ), ], line: 343, }, Operator( ( "==", true, ), ), Symbol( "\" 0x64\"", ), ], ], ), ], line: 342, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%#-17X\"", ), ], [ Symbol( "100", ), ], ], ), ], line: 344, }, Operator( ( "==", true, ), ), Symbol( "\"0X64 \"", ), ], ], ), ], line: 343, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%013i\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "100", ), ], ], ), ], line: 345, }, Operator( ( "==", true, ), ), Symbol( "\"-000000000100\"", ), ], ], ), ], line: 344, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%2.5d\"", ), ], [ Operator( ( "-", false, ), ), Symbol( "100", ), ], ], ), ], line: 346, }, Operator( ( "==", true, ), ), Symbol( "\"-00100\"", ), ], ], ), ], line: 345, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.u\"", ), ], [ Symbol( "0", ), ], ], ), ], line: 347, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 346, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%+#014.0f\"", ), ], [ Symbol( "100", ), ], ], ), ], line: 348, }, Operator( ( "==", true, ), ), Symbol( "\"+000000000100.\"", ), ], ], ), ], line: 347, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"% 1.0E\"", ), ], [ Symbol( "100", ), ], ], ), ], line: 349, }, Operator( ( "==", true, ), ), Symbol( "\" 1E+02\"", ), ], ], ), ], line: 348, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%-16c\"", ), ], [ Symbol( "97", ), ], ], ), ], line: 350, }, Operator( ( "==", true, ), ), Symbol( "\"a \"", ), ], ], ), ], line: 349, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%+.3G\"", ), ], [ Symbol( "1.5", ), ], ], ), ], line: 351, }, Operator( ( "==", true, ), ), Symbol( "\"+1.5\"", ), ], ], ), ], line: 350, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"% .1g\"", ), ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "10", ), ], ], ), ], line: 352, }, Operator( ( "==", true, ), ), Symbol( "\" 1e+03\"", ), ], ], ), ], line: 351, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.0s\"", ), ], [ Symbol( "\"alo\"", ), ], ], ), ], line: 353, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 352, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"%.s\"", ), ], [ Symbol( "\"alo\"", ), ], ], ), ], line: 354, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 353, }, Function { local: true, name: [ Symbol( "check", ), ], args: [ "fmt", "msg", ], body: CodeBlock { start: 3448, code: [ Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Ident { expr: [ Symbol( "msg", ), ], line: 359, }, ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), ], line: 359, }, ], [ Ident { expr: [ Symbol( "fmt", ), ], line: 359, }, ], [ Symbol( "10", ), ], ], ), ], line: 359, }, ], end: 3461, }, line: 360, column: 1, }, Variable { names: [ ( "aux", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "'0'", ), ], [ Symbol( "600", ), ], ], ), ], line: 362, }, ], ], line: 362, column: 11, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%100.3d\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 362, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%1\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "aux", ), ], line: 364, }, Operator( ( "..", true, ), ), Symbol( "\".3d\"", ), ], [ Symbol( "\"too long\"", ), ], ], ), ], line: 363, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%1.100d\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 364, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%10.1\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "aux", ), ], line: 366, }, Operator( ( "..", true, ), ), Symbol( "\"004d\"", ), ], [ Symbol( "\"too long\"", ), ], ], ), ], line: 365, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%t\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 366, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "aux", ), ], line: 368, }, Operator( ( "..", true, ), ), Symbol( "\"d\"", ), ], [ Symbol( "\"too long\"", ), ], ], ), ], line: 367, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%d %d\"", ), ], [ Symbol( "\"no value\"", ), ], ], ), ], line: 368, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%010c\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 369, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%.10c\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 370, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%0.34s\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 371, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%#i\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 372, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%3.1p\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 373, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%0.s\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 374, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%10q\"", ), ], [ Symbol( "\"cannot have modifiers\"", ), ], ], ), ], line: 375, }, Ident { expr: [ Symbol( "check", ), Call( [ [ Symbol( "\"%F\"", ), ], [ Symbol( "\"invalid conversion\"", ), ], ], ), ], line: 376, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "load", ), Call( [ [ Symbol( "\"return 1\\n--comment without ending EOL\"", ), ], ], ), Call( [], ), ], line: 380, }, Operator( ( "==", true, ), ), Symbol( "1", ), ], ], ), ], line: 377, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"table expected\"", ), ], [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), ], line: 383, }, ], [ Symbol( "3", ), ], ], ), ], line: 380, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"at index \"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "maxi", ), ], line: 384, }, ], [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), ], line: 384, }, ], [ Table { data: [], line: 384, column: 12, }, ], [ Symbol( "\" \"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 384, }, ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 384, }, ], ], ), ], line: 383, }, Ident { expr: [ Symbol( "checkerror", ), Call( [ [ Symbol( "\"at index %\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "mini", ), ], line: 386, }, ], [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), ], line: 386, }, ], [ Table { data: [], line: 386, column: 12, }, ], [ Symbol( "\" \"", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 386, }, ], [ Ident { expr: [ Symbol( "mini", ), ], line: 386, }, ], ], ), ], line: 384, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [], line: 387, column: 7, }, ], ], ), ], line: 387, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 386, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [], line: 388, column: 8, }, ], [ Symbol( "'x'", ), ], ], ), ], line: 388, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 387, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [ ( None, [ Symbol( "'\\0'", ), ], ), ( None, [ Symbol( "'\\0\\1'", ), ], ), ( None, [ Symbol( "'\\0\\1\\2'", ), ], ), ], line: 389, column: 13, }, ], [ Symbol( "'.\\0.'", ), ], ], ), ], line: 389, }, Operator( ( "==", true, ), ), Symbol( "\"\\0.\\0.\\0\\1.\\0.\\0\\1\\2\"", ), ], ], ), ], line: 388, }, Variable { names: [ ( "a", false, ), ], values: [ [ Table { data: [], line: 390, column: 5, }, ], ], line: 390, column: 6, }, ForLoop { iter: "i", start: [ Symbol( "1", ), ], end: [ Symbol( "300", ), ], step: None, code: CodeBlock { start: 3689, code: [ Alter { names: [ Ident { expr: [ Symbol( "a", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 390, }, ], ), Symbol( "]", ), ], line: 390, }, ], values: [ [ Symbol( "\"xuxu\"", ), ], ], line: 390, column: 6, }, ], end: 3696, }, line: 390, column: 20, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 391, }, ], [ Symbol( "\"123\"", ), ], ], ), ], line: 391, }, Operator( ( "..", true, ), ), Symbol( "\"123\"", ), Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"xuxu123\"", ), ], [ Symbol( "300", ), ], ], ), ], line: 391, }, ], ], ), ], line: 390, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 392, }, ], [ Symbol( "\"b\"", ), ], [ Symbol( "20", ), ], [ Symbol( "20", ), ], ], ), ], line: 392, }, Operator( ( "==", true, ), ), Symbol( "\"xuxu\"", ), ], ], ), ], line: 391, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 393, }, ], [ Symbol( "\"\"", ), ], [ Symbol( "20", ), ], [ Symbol( "21", ), ], ], ), ], line: 393, }, Operator( ( "==", true, ), ), Symbol( "\"xuxuxuxu\"", ), ], ], ), ], line: 392, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 394, }, ], [ Symbol( "\"x\"", ), ], [ Symbol( "22", ), ], [ Symbol( "21", ), ], ], ), ], line: 394, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 393, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 395, }, ], [ Symbol( "\"3\"", ), ], [ Symbol( "299", ), ], ], ), ], line: 395, }, Operator( ( "==", true, ), ), Symbol( "\"xuxu3xuxu\"", ), ], ], ), ], line: 394, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [], line: 396, column: 8, }, ], [ Symbol( "\"x\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 396, }, ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 396, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ], ), ], line: 396, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 395, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [], line: 397, column: 8, }, ], [ Symbol( "\"x\"", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 397, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], [ Ident { expr: [ Symbol( "mini", ), ], line: 397, }, ], ], ), ], line: 397, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 396, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [], line: 398, column: 8, }, ], [ Symbol( "\"x\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 398, }, ], [ Ident { expr: [ Symbol( "mini", ), ], line: 398, }, ], ], ), ], line: 398, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 397, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [ ( Some( [ Ident { expr: [ Symbol( "maxi", ), ], line: 399, }, ], ), [ Symbol( "\"alo\"", ), ], ), ], line: 399, column: 13, }, ], [ Symbol( "\"x\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 399, }, ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 399, }, ], ], ), ], line: 399, }, Operator( ( "==", true, ), ), Symbol( "\"alo\"", ), ], ], ), ], line: 398, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Table { data: [ ( Some( [ Ident { expr: [ Symbol( "maxi", ), ], line: 400, }, ], ), [ Symbol( "\"alo\"", ), ], ), ( Some( [ Ident { expr: [ Symbol( "maxi", ), ], line: 400, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ), [ Symbol( "\"y\"", ), ], ), ], line: 400, column: 21, }, ], [ Symbol( "\"-\"", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 400, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], [ Ident { expr: [ Symbol( "maxi", ), ], line: 400, }, ], ], ), ], line: 400, }, Operator( ( "==", true, ), ), Symbol( "\"y-alo\"", ), ], ], ), ], line: 399, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "pcall", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), ], line: 403, }, ], [ Table { data: [ ( None, [ Symbol( "\"a\"", ), ], ), ( None, [ Symbol( "\"b\"", ), ], ), ( None, [ Table { data: [], line: 403, column: 16, }, ], ), ], line: 403, column: 17, }, ], ], ), ], line: 403, }, ], ], ), ], line: 401, }, Alter { names: [ Ident { expr: [ Symbol( "a", ), ], line: 403, }, ], values: [ [ Table { data: [ ( None, [ Symbol( "\"a\"", ), ], ), ( None, [ Symbol( "\"b\"", ), ], ), ( None, [ Symbol( "\"c\"", ), ], ), ], line: 405, column: 9, }, ], ], line: 405, column: 9, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 406, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "1", ), ], [ Symbol( "0", ), ], ], ), ], line: 406, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 405, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 407, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "1", ), ], [ Symbol( "1", ), ], ], ), ], line: 407, }, Operator( ( "==", true, ), ), Symbol( "\"a\"", ), ], ], ), ], line: 406, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 408, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "1", ), ], [ Symbol( "2", ), ], ], ), ], line: 408, }, Operator( ( "==", true, ), ), Symbol( "\"a,b\"", ), ], ], ), ], line: 407, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 409, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "2", ), ], ], ), ], line: 409, }, Operator( ( "==", true, ), ), Symbol( "\"b,c\"", ), ], ], ), ], line: 408, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 410, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "3", ), ], ], ), ], line: 410, }, Operator( ( "==", true, ), ), Symbol( "\"c\"", ), ], ], ), ], line: 409, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "table", ), Symbol( ".", ), Symbol( "concat", ), Call( [ [ Ident { expr: [ Symbol( "a", ), ], line: 411, }, ], [ Symbol( "\",\"", ), ], [ Symbol( "4", ), ], ], ), ], line: 411, }, Operator( ( "==", true, ), ), Symbol( "\"\"", ), ], ], ), ], line: 410, }, IfStatement { condition: [ Operator( ( "not", false, ), ), Ident { expr: [ Symbol( "_port", ), ], line: 413, }, ], body: CodeBlock { start: 4026, code: [ Variable { names: [ ( "locales", false, ), ], values: [ [ Table { data: [ ( None, [ Symbol( "\"ptb\"", ), ], ), ( None, [ Symbol( "\"pt_BR.iso88591\"", ), ], ), ( None, [ Symbol( "\"ISO-8859-1\"", ), ], ), ], line: 415, column: 10, }, ], ], line: 416, column: 0, }, Function { local: true, name: [ Symbol( "trylocale", ), ], args: [ "w", ], body: CodeBlock { start: 16, code: [ ForLoop { iter: "i", start: [ Symbol( "1", ), ], end: [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "locales", ), ], line: 417, }, ], step: None, code: CodeBlock { start: 8, code: [ IfStatement { condition: [ Ident { expr: [ Symbol( "os", ), Symbol( ".", ), Symbol( "setlocale", ), Call( [ [ Ident { expr: [ Symbol( "locales", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 418, }, ], ), Symbol( "]", ), ], line: 418, }, ], [ Ident { expr: [ Symbol( "w", ), ], line: 418, }, ], ], ), ], line: 418, }, ], body: CodeBlock { start: 13, code: [ Ident { expr: [ Symbol( "print", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"'%s' locale set to '%s'\"", ), ], [ Ident { expr: [ Symbol( "w", ), ], line: 419, }, ], [ Ident { expr: [ Symbol( "locales", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 419, }, ], ), Symbol( "]", ), ], line: 419, }, ], ], ), ], line: 419, }, ], ], ), ], line: 419, }, Return( Some( [ [ Ident { expr: [ Symbol( "locales", ), Symbol( "[", ), Expr( [ Ident { expr: [ Symbol( "i", ), ], line: 420, }, ], ), Symbol( "]", ), ], line: 420, }, ], ], ), ), ], end: 35, }, next: None, line: 421, column: 1, }, ], end: 44, }, line: 422, column: 1, }, Ident { expr: [ Symbol( "print", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Symbol( "\"'%s' locale not found\"", ), ], [ Ident { expr: [ Symbol( "w", ), ], line: 423, }, ], ], ), ], line: 423, }, ], ], ), ], line: 422, }, Return( Some( [ [ Symbol( "false", ), ], ], ), ), ], end: 74, }, line: 425, column: 1, }, IfStatement { condition: [ Ident { expr: [ Symbol( "trylocale", ), Call( [ [ Symbol( "\"collate\"", ), ], ], ), ], line: 427, }, ], body: CodeBlock { start: 80, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Symbol( "\"alo\"", ), Operator( ( "<", true, ), ), Symbol( "\"álo\"", ), Operator( ( "and", true, ), ), Symbol( "\"álo\"", ), Operator( ( "<", true, ), ), Symbol( "\"amo\"", ), ], ], ), ], line: 428, }, ], end: 91, }, next: None, line: 429, column: 1, }, IfStatement { condition: [ Ident { expr: [ Symbol( "trylocale", ), Call( [ [ Symbol( "\"ctype\"", ), ], ], ), ], line: 431, }, ], body: CodeBlock { start: 97, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gsub", ), Call( [ [ Symbol( "\"áéíóú\"", ), ], [ Symbol( "\"%a\"", ), ], [ Symbol( "\"x\"", ), ], ], ), ], line: 432, }, Operator( ( "==", true, ), ), Symbol( "\"xxxxx\"", ), ], ], ), ], line: 432, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gsub", ), Call( [ [ Symbol( "\"áÁéÉ\"", ), ], [ Symbol( "\"%l\"", ), ], [ Symbol( "\"x\"", ), ], ], ), ], line: 433, }, Operator( ( "==", true, ), ), Symbol( "\"xÁxÉ\"", ), ], ], ), ], line: 432, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gsub", ), Call( [ [ Symbol( "\"áÁéÉ\"", ), ], [ Symbol( "\"%u\"", ), ], [ Symbol( "\"x\"", ), ], ], ), ], line: 434, }, Operator( ( "==", true, ), ), Symbol( "\"áxéx\"", ), ], ], ), ], line: 433, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "upper", ), Call( [ [ Symbol( "\"áÁé{xuxu}ção\"", ), ], ], ), ], line: 435, }, Operator( ( "==", true, ), ), Symbol( "\"ÁÁÉ{XUXU}ÇÃO\"", ), ], ], ), ], line: 434, }, ], end: 152, }, next: None, line: 436, column: 1, }, Ident { expr: [ Symbol( "os", ), Symbol( ".", ), Symbol( "setlocale", ), Call( [ [ Symbol( "\"C\"", ), ], ], ), ], line: 436, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "os", ), Symbol( ".", ), Symbol( "setlocale", ), Call( [], ), ], line: 439, }, Operator( ( "==", true, ), ), Symbol( "'C'", ), ], ], ), ], line: 438, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "os", ), Symbol( ".", ), Symbol( "setlocale", ), Call( [ [ Symbol( "nil", ), ], [ Symbol( "\"numeric\"", ), ], ], ), ], line: 440, }, Operator( ( "==", true, ), ), Symbol( "'C'", ), ], ], ), ], line: 439, }, ], end: 4208, }, next: None, line: 442, column: 1, }, DoBlock( CodeBlock { start: 4209, code: [ Variable { names: [ ( "f", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "gmatch", ), Call( [ [ Symbol( "\"1 2 3 4 5\"", ), ], [ Symbol( "\"%d+\"", ), ], ], ), ], line: 448, }, ], ], line: 448, column: 11, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "f", ), Call( [], ), ], line: 449, }, Operator( ( "==", true, ), ), Symbol( "\"1\"", ), ], ], ), ], line: 448, }, Alter { names: [ Ident { expr: [ Symbol( "co", ), ], line: 449, }, ], values: [ [ Ident { expr: [ Symbol( "coroutine", ), Symbol( ".", ), Symbol( "wrap", ), Call( [ [ Ident { expr: [ Symbol( "f", ), ], line: 450, }, ], ], ), ], line: 450, }, ], ], line: 450, column: 8, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "co", ), Call( [], ), ], line: 451, }, Operator( ( "==", true, ), ), Symbol( "\"2\"", ), ], ], ), ], line: 450, }, ], end: 4245, }, ), IfStatement { condition: [ Ident { expr: [ Symbol( "T", ), ], line: 455, }, Operator( ( "==", true, ), ), Symbol( "nil", ), ], body: CodeBlock { start: 4250, code: [ Expr( [ Ident { expr: [ Symbol( "Message", ), ], line: 456, }, Operator( ( "or", true, ), ), Ident { expr: [ Symbol( "print", ), ], line: 456, }, ], ), Ident { expr: [ Call( [ [ Symbol( "\"\\n >>> testC not active: skipping 'pushfstring' tests <<<\\n\"", ), ], ], ), ], line: 456, }, ], end: 4259, }, next: Some( IfStatement { condition: [], body: CodeBlock { start: 4259, code: [ Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "\"testing 'pushfstring'\"", ), ], ], ), ], line: 460, }, Variable { names: [ ( "blen", false, ), ], values: [ [ Symbol( "200", ), ], ], line: 466, column: 0, }, Function { local: true, name: [ Symbol( "callpfs", ), ], args: [ "op", "fmt", "n", ], body: CodeBlock { start: 16, code: [ Variable { names: [ ( "x", false, ), ], values: [ [ Table { data: [ ( None, [ Ident { expr: [ Symbol( "T", ), Symbol( ".", ), Symbol( "testC", ), Call( [ [ Symbol( "\"pushfstring\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "op", ), ], line: 467, }, Operator( ( "..", true, ), ), Symbol( "\"; return *\"", ), ], [ Ident { expr: [ Symbol( "fmt", ), ], line: 467, }, ], [ Ident { expr: [ Symbol( "n", ), ], line: 467, }, ], ], ), ], line: 467, }, ], ), ], line: 467, column: 19, }, ], ], line: 467, column: 19, }, Ident { expr: [ Symbol( "assert", ), Call( [ [ Operator( ( "#", false, ), ), Ident { expr: [ Symbol( "x", ), ], line: 469, }, Operator( ( "==", true, ), ), Symbol( "4", ), ], ], ), ], line: 467, }, Return( Some( [ [ Ident { expr: [ Symbol( "x", ), Symbol( "[", ), Expr( [ Symbol( "4", ), ], ), Symbol( "]", ), ], line: 470, }, ], ], ), ), ], end: 48, }, line: 471, column: 1, }, Function { local: true, name: [ Symbol( "testpfs", ), ], args: [ "op", "fmt", "n", ], body: CodeBlock { start: 58, code: [ Ident { expr: [ Symbol( "assert", ), Call( [ [ Ident { expr: [ Symbol( "callpfs", ), Call( [ [ Ident { expr: [ Symbol( "op", ), ], line: 474, }, ], [ Ident { expr: [ Symbol( "fmt", ), ], line: 474, }, ], [ Ident { expr: [ Symbol( "n", ), ], line: 474, }, ], ], ), ], line: 474, }, Operator( ( "==", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "format", ), Call( [ [ Ident { expr: [ Symbol( "fmt", ), ], line: 474, }, ], [ Ident { expr: [ Symbol( "n", ), ], line: 474, }, ], ], ), ], line: 474, }, ], ], ), ], line: 474, }, ], end: 79, }, line: 475, column: 1, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Symbol( "\"\"", ), ], [ Symbol( "0", ), ], ], ), ], line: 475, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 478, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ], ), ], line: 478, }, ], [ Symbol( "0", ), ], ], ), ], line: 477, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 479, }, ], ], ), ], line: 479, }, ], [ Symbol( "0", ), ], ], ), ], line: 478, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 480, }, Operator( ( "+", true, ), ), Symbol( "1", ), ], ], ), ], line: 480, }, ], [ Symbol( "0", ), ], ], ), ], line: 479, }, Variable { names: [ ( "str", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"ab\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 482, }, ], ], ), ], line: 482, }, Operator( ( "..", true, ), ), Symbol( "\"%d\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"d\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 482, }, Operator( ( "/", true, ), ), Symbol( "2", ), ], ], ), ], line: 482, }, ], ], line: 482, column: 24, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 483, }, ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "14", ), ], ], ), ], line: 482, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 484, }, ], [ Operator( ( "-", false, ), ), Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "15", ), ], ], ), ], line: 483, }, Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 484, }, ], values: [ [ Symbol( "\"%d\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"cd\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 486, }, ], ], ), ], line: 486, }, ], ], line: 486, column: 12, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 487, }, ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "14", ), ], ], ), ], line: 486, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 488, }, ], [ Operator( ( "-", false, ), ), Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "15", ), ], ], ), ], line: 487, }, Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 488, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"c\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 490, }, Operator( ( "-", true, ), ), Symbol( "2", ), ], ], ), ], line: 490, }, Operator( ( "..", true, ), ), Symbol( "\"%d\"", ), ], ], line: 490, column: 14, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 491, }, ], [ Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "14", ), ], ], ), ], line: 490, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 492, }, ], [ Operator( ( "-", false, ), ), Symbol( "2", ), Operator( ( "^", true, ), ), Symbol( "15", ), ], ], ), ], line: 491, }, ForLoop { iter: "l", start: [ Symbol( "12", ), ], end: [ Symbol( "14", ), ], step: None, code: CodeBlock { start: 256, code: [ Variable { names: [ ( "str1", false, ), ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "l", ), ], line: 495, }, ], ], ), ], line: 495, }, ], ], line: 496, column: 0, }, ForLoop { iter: "i", start: [ Symbol( "0", ), ], end: [ Symbol( "500", ), ], step: Some( [ Symbol( "13", ), ], ), code: CodeBlock { start: 20, code: [ ForLoop { iter: "j", start: [ Symbol( "0", ), ], end: [ Symbol( "500", ), ], step: Some( [ Symbol( "13", ), ], ), code: CodeBlock { start: 9, code: [ Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 498, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "i", ), ], line: 498, }, ], ], ), ], line: 498, }, Operator( ( "..", true, ), ), Symbol( "\"%s\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"d\"", ), ], [ Ident { expr: [ Symbol( "j", ), ], line: 498, }, ], ], ), ], line: 498, }, ], ], line: 498, column: 21, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"S\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 499, }, ], [ Ident { expr: [ Symbol( "str1", ), ], line: 499, }, ], ], ), ], line: 498, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"S\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 500, }, ], [ Ident { expr: [ Symbol( "str", ), ], line: 500, }, ], ], ), ], line: 499, }, ], end: 47, }, line: 501, column: 1, }, ], end: 68, }, line: 502, column: 1, }, ], end: 325, }, line: 503, column: 1, }, Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 503, }, ], values: [ [ Symbol( "\"abc %c def\"", ), ], ], line: 505, column: 3, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 506, }, ], [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "byte", ), Call( [ [ Symbol( "\"A\"", ), ], ], ), ], line: 506, }, ], ], ), ], line: 505, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"I\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 507, }, ], [ Symbol( "255", ), ], ], ), ], line: 506, }, Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 507, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"a\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 509, }, Operator( ( "-", true, ), ), Symbol( "1", ), ], ], ), ], line: 509, }, Operator( ( "..", true, ), ), Symbol( "\"%p\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"cd\"", ), ], [ Ident { expr: [ Symbol( "blen", ), ], line: 509, }, ], ], ), ], line: 509, }, ], ], line: 509, column: 23, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"P\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 510, }, ], [ Table { data: [], line: 510, column: 8, }, ], ], ), ], line: 509, }, Alter { names: [ Ident { expr: [ Symbol( "str", ), ], line: 510, }, ], values: [ [ Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%%\"", ), ], [ Symbol( "3", ), Operator( ( "*", true, ), ), Ident { expr: [ Symbol( "blen", ), ], line: 512, }, ], ], ), ], line: 512, }, Operator( ( "..", true, ), ), Symbol( "\"%p\"", ), Operator( ( "..", true, ), ), Ident { expr: [ Symbol( "string", ), Symbol( ".", ), Symbol( "rep", ), Call( [ [ Symbol( "\"%%\"", ), ], [ Symbol( "2", ), Operator( ( "*", true, ), ), Ident { expr: [ Symbol( "blen", ), ], line: 512, }, ], ], ), ], line: 512, }, ], ], line: 512, column: 25, }, Ident { expr: [ Symbol( "testpfs", ), Call( [ [ Symbol( "\"P\"", ), ], [ Ident { expr: [ Symbol( "str", ), ], line: 513, }, ], [ Table { data: [], line: 513, column: 8, }, ], ], ), ], line: 512, }, ], end: 4675, }, next: None, line: 514, column: 1, }, ), line: 514, column: 1, }, Ident { expr: [ Symbol( "print", ), Call( [ [ Symbol( "'OK'", ), ], ], ), ], line: 514, }, ]