--- source: src/main.rs expression: scanned input_file: test-data/lua5.4-tests/errors.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 4, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 4, }, Token { kind: String, lexeme: "\"testing errors\"", computed_lexeme: None, line: 4, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 4, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 6, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "require", computed_lexeme: None, line: 6, }, Token { kind: String, lexeme: "\"debug\"", computed_lexeme: None, line: 6, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 9, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 9, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 9, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 9, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 9, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 9, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 9, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "oldmm", computed_lexeme: None, line: 10, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 10, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 11, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 11, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 11, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 11, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 13, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 13, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 13, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 13, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 13, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 13, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 13, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "st", computed_lexeme: None, line: 14, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 14, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 14, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "st", computed_lexeme: None, line: 15, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 15, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 15, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 16, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 19, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 19, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 19, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 19, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 20, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 20, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 20, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 20, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 20, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 21, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 21, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 21, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 21, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 21, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "cond", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 23, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 23, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "cond", computed_lexeme: None, line: 23, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 23, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 23, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 24, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 27, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 27, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 27, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 28, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 29, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 29, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 29, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 29, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 30, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 31, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 33, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 33, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 33, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "extra", computed_lexeme: None, line: 33, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 33, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 33, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 33, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 34, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 34, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 34, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 34, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 35, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 35, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 35, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 35, }, Token { kind: String, lexeme: "\"^<%a\"", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 35, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 35, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 35, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 35, }, Token { kind: String, lexeme: "\"^char%(\"", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "\"'\"", computed_lexeme: None, line: 37, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 37, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "\"'\"", computed_lexeme: None, line: 37, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 39, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 39, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "\"(%p)\"", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "\"%%%1\"", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "pt", computed_lexeme: None, line: 40, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 40, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: MultilineString, lexeme: "[[^%%[string \".*\"%%]:%d: .- near %s$]]", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 41, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "token", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 42, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "pt", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 43, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 43, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 43, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 43, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: String, lexeme: "\"error('hi', 0)\"", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 48, }, Token { kind: String, lexeme: "'hi'", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: String, lexeme: "\"error()\"", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 51, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: String, lexeme: "\"table.unpack({}, 1, n=2^30)\"", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 56, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 56, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 56, }, Token { kind: String, lexeme: "\"a=math.sin()\"", computed_lexeme: None, line: 56, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 56, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"tostring(1)\"", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"tostring()\"", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 58, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 58, }, Token { kind: String, lexeme: "\"tonumber()\"", computed_lexeme: None, line: 58, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 59, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 59, }, Token { kind: String, lexeme: "\"repeat until 1; a\"", computed_lexeme: None, line: 59, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 60, }, Token { kind: String, lexeme: "\"return;;\"", computed_lexeme: None, line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 61, }, Token { kind: String, lexeme: "\"assert(false)\"", computed_lexeme: None, line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 62, }, Token { kind: String, lexeme: "\"assert(nil)\"", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: String, lexeme: "\"function a (... , ...) end\"", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: String, lexeme: "\"function a (, ...) end\"", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "\"local t={}; t = t[#t] + 1\"", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: MultilineString, lexeme: "[[\n local a = {4\n\n]]", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"'}' expected (to close '{' at line 1)\"", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 73, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 74, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 74, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 74, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 74, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 74, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 74, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "st", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 75, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 75, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 75, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 76, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 76, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 76, }, Token { kind: String, lexeme: "\"line \"", computed_lexeme: None, line: 76, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 77, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 77, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 77, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 77, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 77, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 77, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 77, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 77, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 77, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 77, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 77, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 80, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 80, }, Token { kind: MultilineString, lexeme: "[[\n a = 1\n\n ]]", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: String, lexeme: "\"label 'A' already defined\"", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 85, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 85, }, Token { kind: MultilineString, lexeme: "[[\n a = 1\n\n do end\n ]]", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: String, lexeme: "\"no visible label 'A'\"", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 89, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 89, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 90, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 93, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 93, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 93, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "Message", computed_lexeme: None, line: 94, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 94, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 94, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'\\n >>> testC not active: skipping memory message test <<<\\n'", computed_lexeme: None, line: 95, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 95, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 96, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 97, }, Token { kind: String, lexeme: "\"testing memory error message\"", computed_lexeme: None, line: 97, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 98, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 98, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 98, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 98, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 99, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 99, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 99, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 99, }, Token { kind: Number, lexeme: "10000", computed_lexeme: Some( "10000", ), line: 99, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 99, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 99, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 99, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 99, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 99, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 101, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "totalmem", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 101, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "totalmem", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "10000", computed_lexeme: Some( "10000", ), line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "st", computed_lexeme: None, line: 103, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 103, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 103, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 103, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 103, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 103, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 103, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 104, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 104, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 104, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 104, }, Token { kind: Number, lexeme: "100000", computed_lexeme: Some( "100000", ), line: 104, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 104, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 104, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 104, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 104, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 104, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 104, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 104, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 105, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 106, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "totalmem", computed_lexeme: None, line: 106, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 106, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 106, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 107, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 107, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "st", computed_lexeme: None, line: 107, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 107, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 107, }, Token { kind: String, lexeme: "\"not enough\"", computed_lexeme: None, line: 107, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 107, }, Token { kind: String, lexeme: "\" memory\"", computed_lexeme: None, line: 107, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 107, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 113, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 113, }, Token { kind: String, lexeme: "\"a = {} + 1\"", computed_lexeme: None, line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: String, lexeme: "\"arithmetic\"", computed_lexeme: None, line: 113, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 114, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 114, }, Token { kind: String, lexeme: "\"a = {} | 1\"", computed_lexeme: None, line: 114, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 114, }, Token { kind: String, lexeme: "\"bitwise operation\"", computed_lexeme: None, line: 114, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: String, lexeme: "\"a = {} < 1\"", computed_lexeme: None, line: 115, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 115, }, Token { kind: String, lexeme: "\"attempt to compare\"", computed_lexeme: None, line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 116, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 116, }, Token { kind: String, lexeme: "\"a = {} <= 1\"", computed_lexeme: None, line: 116, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 116, }, Token { kind: String, lexeme: "\"attempt to compare\"", computed_lexeme: None, line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: String, lexeme: "\"a=1; bbbb=2; a=math.sin(3)+bbbb(3)\"", computed_lexeme: None, line: 118, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 118, }, Token { kind: String, lexeme: "\"global 'bbbb'\"", computed_lexeme: None, line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 119, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 119, }, Token { kind: String, lexeme: "\"a={}; do local a=1 end a:bbbb(3)\"", computed_lexeme: None, line: 119, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 119, }, Token { kind: String, lexeme: "\"method 'bbbb'\"", computed_lexeme: None, line: 119, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 119, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 120, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 120, }, Token { kind: String, lexeme: "\"local a={}; a.bbbb(3)\"", computed_lexeme: None, line: 120, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 120, }, Token { kind: String, lexeme: "\"field 'bbbb'\"", computed_lexeme: None, line: 120, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 120, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 121, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 121, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 121, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 121, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 121, }, Token { kind: String, lexeme: "\"a={13}; local bbbb=1; a[bbbb](3)\"", computed_lexeme: None, line: 121, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 121, }, Token { kind: String, lexeme: "\"'bbbb'\"", computed_lexeme: None, line: 121, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 121, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: String, lexeme: "\"a={13}; local bbbb=1; a[bbbb](3)\"", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: String, lexeme: "\"number\"", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 123, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "\"a=(1)..{}\"", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "\"a table value\"", computed_lexeme: None, line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 126, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 126, }, Token { kind: String, lexeme: "\"local a; a(13)\"", computed_lexeme: None, line: 126, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 126, }, Token { kind: String, lexeme: "\"local 'a'\"", computed_lexeme: None, line: 126, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 126, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 127, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 127, }, Token { kind: MultilineString, lexeme: "[[\n local a = setmetatable({}, {__add = 34})\n a = a + 1\n]]", computed_lexeme: None, line: 130, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 130, }, Token { kind: String, lexeme: "\"metamethod 'add'\"", computed_lexeme: None, line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 131, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 131, }, Token { kind: MultilineString, lexeme: "[[\n local a = setmetatable({}, {__lt = {}})\n a = a > a\n]]", computed_lexeme: None, line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: String, lexeme: "\"metamethod 'lt'\"", computed_lexeme: None, line: 134, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 137, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 137, }, Token { kind: String, lexeme: "\"local a={}; return a.bbbb(3)\"", computed_lexeme: None, line: 137, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 137, }, Token { kind: String, lexeme: "\"field 'bbbb'\"", computed_lexeme: None, line: 137, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 137, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 138, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 138, }, Token { kind: String, lexeme: "\"a={}; do local a=1 end; return a:bbbb(3)\"", computed_lexeme: None, line: 138, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 138, }, Token { kind: String, lexeme: "\"method 'bbbb'\"", computed_lexeme: None, line: 138, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: String, lexeme: "\"a = #print\"", computed_lexeme: None, line: 140, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 140, }, Token { kind: String, lexeme: "\"length of a function value\"", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 141, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 141, }, Token { kind: String, lexeme: "\"a = #3\"", computed_lexeme: None, line: 141, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 141, }, Token { kind: String, lexeme: "\"length of a number value\"", computed_lexeme: None, line: 141, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 141, }, Token { kind: Identifier, lexeme: "aaa", computed_lexeme: None, line: 143, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 143, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 144, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 144, }, Token { kind: String, lexeme: "\"aaa.bbb:ddd(9)\"", computed_lexeme: None, line: 144, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 144, }, Token { kind: String, lexeme: "\"global 'aaa'\"", computed_lexeme: None, line: 144, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 145, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 145, }, Token { kind: String, lexeme: "\"local aaa={bbb=1}; aaa.bbb:ddd(9)\"", computed_lexeme: None, line: 145, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 145, }, Token { kind: String, lexeme: "\"field 'bbb'\"", computed_lexeme: None, line: 145, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 146, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 146, }, Token { kind: String, lexeme: "\"local aaa={bbb={}}; aaa.bbb:ddd(9)\"", computed_lexeme: None, line: 146, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 146, }, Token { kind: String, lexeme: "\"method 'ddd'\"", computed_lexeme: None, line: 146, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 147, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 147, }, Token { kind: String, lexeme: "\"local a,b,c; (function () a = b+1.1 end)()\"", computed_lexeme: None, line: 147, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 147, }, Token { kind: String, lexeme: "\"upvalue 'b'\"", computed_lexeme: None, line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\"local aaa={bbb={ddd=next}}; aaa.bbb:ddd(nil)\"", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: String, lexeme: "\"local a,b,cc; (function () a = cc[1] end)()\"", computed_lexeme: None, line: 151, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 151, }, Token { kind: String, lexeme: "\"upvalue 'cc'\"", computed_lexeme: None, line: 151, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 152, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "\"local a,b,cc; (function () a.x = 1 end)()\"", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "\"upvalue 'a'\"", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: String, lexeme: "\"local _ENV = {x={}}; a = a + 1\"", computed_lexeme: None, line: 154, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 154, }, Token { kind: String, lexeme: "\"global 'a'\"", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 156, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 156, }, Token { kind: String, lexeme: "\"b=1; local aaa={}; x=aaa+b\"", computed_lexeme: None, line: 156, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 156, }, Token { kind: String, lexeme: "\"local 'aaa'\"", computed_lexeme: None, line: 156, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 157, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 157, }, Token { kind: String, lexeme: "\"aaa={}; x=3.3/aaa\"", computed_lexeme: None, line: 157, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 157, }, Token { kind: String, lexeme: "\"global 'aaa'\"", computed_lexeme: None, line: 157, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 157, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 158, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 158, }, Token { kind: String, lexeme: "\"aaa=2; b=nil;x=aaa*b\"", computed_lexeme: None, line: 158, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 158, }, Token { kind: String, lexeme: "\"global 'b'\"", computed_lexeme: None, line: 158, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 158, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: String, lexeme: "\"aaa={}; x=-aaa\"", computed_lexeme: None, line: 159, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 159, }, Token { kind: String, lexeme: "\"global 'aaa'\"", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 162, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 162, }, Token { kind: String, lexeme: "\"a=1; local a,bbbb=2,3; a = math.sin(1) and bbbb(3)\"", computed_lexeme: None, line: 162, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 162, }, Token { kind: String, lexeme: "\"local 'bbbb'\"", computed_lexeme: None, line: 163, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 164, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 164, }, Token { kind: String, lexeme: "\"a=1; local a,bbbb=2,3; a = bbbb(1) or a(3)\"", computed_lexeme: None, line: 164, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 164, }, Token { kind: String, lexeme: "\"local 'bbbb'\"", computed_lexeme: None, line: 164, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 164, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 165, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 165, }, Token { kind: String, lexeme: "\"local a,b,c,f = 1,1,1; f((a and b) or c)\"", computed_lexeme: None, line: 165, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 165, }, Token { kind: String, lexeme: "\"local 'f'\"", computed_lexeme: None, line: 165, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: String, lexeme: "\"local a,b,c = 1,1,1; ((a and b) or c)()\"", computed_lexeme: None, line: 166, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 166, }, Token { kind: String, lexeme: "\"call a number value\"", computed_lexeme: None, line: 166, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 167, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 167, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 167, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 167, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 167, }, Token { kind: String, lexeme: "\"aaa={}; x=(aaa or aaa)+(aaa and aaa)\"", computed_lexeme: None, line: 167, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 167, }, Token { kind: String, lexeme: "\"'aaa'\"", computed_lexeme: None, line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 168, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 168, }, Token { kind: String, lexeme: "\"aaa={}; (aaa or aaa)()\"", computed_lexeme: None, line: 168, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 168, }, Token { kind: String, lexeme: "\"'aaa'\"", computed_lexeme: None, line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 170, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 170, }, Token { kind: String, lexeme: "\"print(print < 10)\"", computed_lexeme: None, line: 170, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 170, }, Token { kind: String, lexeme: "\"function with number\"", computed_lexeme: None, line: 170, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\"print(print < print)\"", computed_lexeme: None, line: 171, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\"two function values\"", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 172, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 172, }, Token { kind: String, lexeme: "\"print('10' < 10)\"", computed_lexeme: None, line: 172, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 172, }, Token { kind: String, lexeme: "\"string with number\"", computed_lexeme: None, line: 172, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 172, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 173, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 173, }, Token { kind: String, lexeme: "\"print(10 < '23')\"", computed_lexeme: None, line: 173, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 173, }, Token { kind: String, lexeme: "\"number with string\"", computed_lexeme: None, line: 173, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: String, lexeme: "\"local a = 2.0^100; x = a << 2\"", computed_lexeme: None, line: 176, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 176, }, Token { kind: String, lexeme: "\"local a\"", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 177, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 177, }, Token { kind: String, lexeme: "\"local a = 1 >> 2.0^100\"", computed_lexeme: None, line: 177, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 177, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 177, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 178, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 178, }, Token { kind: String, lexeme: "\"local a = 10.1 << 2.0^100\"", computed_lexeme: None, line: 178, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 178, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 178, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 178, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 179, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 179, }, Token { kind: String, lexeme: "\"local a = 2.0^100 & 1\"", computed_lexeme: None, line: 179, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 179, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 179, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 179, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 180, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "\"local a = 2.0^100 & 1e100\"", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 180, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 181, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 181, }, Token { kind: String, lexeme: "\"local a = 2.0 | 1e40\"", computed_lexeme: None, line: 181, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 181, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 181, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 181, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 182, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 182, }, Token { kind: String, lexeme: "\"local a = 2e100 ~ 1\"", computed_lexeme: None, line: 182, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 182, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 182, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 183, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 183, }, Token { kind: String, lexeme: "\"string.sub('a', 2.0^100)\"", computed_lexeme: None, line: 183, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 183, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 183, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 184, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 184, }, Token { kind: String, lexeme: "\"string.rep('a', 3.3)\"", computed_lexeme: None, line: 184, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 184, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 184, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 185, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 185, }, Token { kind: String, lexeme: "\"return 6e40 & 7\"", computed_lexeme: None, line: 185, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 185, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 185, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 186, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 186, }, Token { kind: String, lexeme: "\"return 34 << 7e30\"", computed_lexeme: None, line: 186, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 186, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 186, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 187, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 187, }, Token { kind: String, lexeme: "\"return ~-3e40\"", computed_lexeme: None, line: 187, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 187, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 187, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 187, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 188, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 188, }, Token { kind: String, lexeme: "\"return ~-3.009\"", computed_lexeme: None, line: 188, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 188, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 188, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 188, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 189, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 189, }, Token { kind: String, lexeme: "\"return 3.009 & 1\"", computed_lexeme: None, line: 189, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 189, }, Token { kind: String, lexeme: "\"has no integer representation\"", computed_lexeme: None, line: 189, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 190, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 190, }, Token { kind: String, lexeme: "\"return 34 >> {}\"", computed_lexeme: None, line: 190, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 190, }, Token { kind: String, lexeme: "\"table value\"", computed_lexeme: None, line: 190, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 191, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 191, }, Token { kind: String, lexeme: "\"a = 24 // 0\"", computed_lexeme: None, line: 191, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 191, }, Token { kind: String, lexeme: "\"divide by zero\"", computed_lexeme: None, line: 191, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 192, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 192, }, Token { kind: String, lexeme: "\"a = 1 % 0\"", computed_lexeme: None, line: 192, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 192, }, Token { kind: String, lexeme: "\"'n%0'\"", computed_lexeme: None, line: 192, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 198, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 198, }, Token { kind: String, lexeme: "\"local a = setmetatable({}, {__index = 10}).x\"", computed_lexeme: None, line: 198, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 198, }, Token { kind: String, lexeme: "\"attempt to index a number value\"", computed_lexeme: None, line: 199, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 199, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 203, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 203, }, Token { kind: String, lexeme: "\"for i = {}, 10 do end\"", computed_lexeme: None, line: 203, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 203, }, Token { kind: String, lexeme: "\"table\"", computed_lexeme: None, line: 203, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 204, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "\"for i = io.stdin, 10 do end\"", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "\"FILE\"", computed_lexeme: None, line: 204, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: String, lexeme: "\"for i = {}, 10 do end\"", computed_lexeme: None, line: 205, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 205, }, Token { kind: String, lexeme: "\"initial value\"", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 206, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: String, lexeme: "\"for i = 1, 'x', 10 do end\"", computed_lexeme: None, line: 206, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 206, }, Token { kind: String, lexeme: "\"string\"", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 207, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 207, }, Token { kind: String, lexeme: "\"for i = 1, {}, 10 do end\"", computed_lexeme: None, line: 207, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 207, }, Token { kind: String, lexeme: "\"limit\"", computed_lexeme: None, line: 207, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 207, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 208, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 208, }, Token { kind: String, lexeme: "\"for i = 1, {} do end\"", computed_lexeme: None, line: 208, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 208, }, Token { kind: String, lexeme: "\"limit\"", computed_lexeme: None, line: 208, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 209, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 209, }, Token { kind: String, lexeme: "\"for i = 1, 10, print do end\"", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: String, lexeme: "\"step\"", computed_lexeme: None, line: 209, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 210, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 210, }, Token { kind: String, lexeme: "\"for i = 1, 10, print do end\"", computed_lexeme: None, line: 210, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 210, }, Token { kind: String, lexeme: "\"function\"", computed_lexeme: None, line: 210, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 213, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "D", computed_lexeme: None, line: 213, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 214, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 214, }, Token { kind: MultilineString, lexeme: "[[\n -- create light udata\n local x = D.upvalueid(function () return debug end, 1)\n D.setuservalue(x, {})\n]]", computed_lexeme: None, line: 218, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 218, }, Token { kind: String, lexeme: "\"light userdata\"", computed_lexeme: None, line: 218, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 218, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 219, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 219, }, Token { kind: Identifier, lexeme: "D", computed_lexeme: None, line: 219, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 219, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 219, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 222, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 222, }, Token { kind: String, lexeme: "\"math.sin(io.input())\"", computed_lexeme: None, line: 222, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 222, }, Token { kind: String, lexeme: "\"(number expected, got FILE*)\"", computed_lexeme: None, line: 222, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 223, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 223, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 223, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 223, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 223, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "__name", computed_lexeme: None, line: 223, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 223, }, Token { kind: String, lexeme: "\"My Type\"", computed_lexeme: None, line: 223, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 223, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 224, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 224, }, Token { kind: String, lexeme: "\"^My Type\"", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 225, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 225, }, Token { kind: String, lexeme: "\"io.input(XX)\"", computed_lexeme: None, line: 225, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 225, }, Token { kind: String, lexeme: "\"(FILE* expected, got My Type)\"", computed_lexeme: None, line: 225, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 226, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 226, }, Token { kind: String, lexeme: "\"return XX + 1\"", computed_lexeme: None, line: 226, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 226, }, Token { kind: String, lexeme: "\"on a My Type value\"", computed_lexeme: None, line: 226, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 227, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 227, }, Token { kind: String, lexeme: "\"return ~io.stdin\"", computed_lexeme: None, line: 227, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 227, }, Token { kind: String, lexeme: "\"on a FILE* value\"", computed_lexeme: None, line: 227, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 228, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 228, }, Token { kind: String, lexeme: "\"return XX < XX\"", computed_lexeme: None, line: 228, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 228, }, Token { kind: String, lexeme: "\"two My Type values\"", computed_lexeme: None, line: 228, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 229, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "\"return {} < XX\"", computed_lexeme: None, line: 229, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "\"table with My Type\"", computed_lexeme: None, line: 229, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 230, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 230, }, Token { kind: String, lexeme: "\"return XX < io.stdin\"", computed_lexeme: None, line: 230, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 230, }, Token { kind: String, lexeme: "\"My Type with FILE*\"", computed_lexeme: None, line: 230, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 231, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 231, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 231, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 231, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 231, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 233, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 233, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 235, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 235, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 235, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 235, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 235, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 235, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "__name", computed_lexeme: None, line: 235, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 235, }, Token { kind: String, lexeme: "\"TABLE\"", computed_lexeme: None, line: 235, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 235, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 236, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 236, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 236, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 236, }, Token { kind: String, lexeme: "\"Ltolstring -1; return 1\"", computed_lexeme: None, line: 236, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 236, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 236, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 236, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 236, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 236, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 236, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 238, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 238, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 238, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 238, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 238, }, Token { kind: String, lexeme: "\"pushint 10; Ltolstring -2; return 2\"", computed_lexeme: None, line: 238, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 238, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 239, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 239, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 239, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 239, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 241, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 241, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 241, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "__tostring", computed_lexeme: None, line: 242, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 242, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 242, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "o", computed_lexeme: None, line: 242, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 243, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "o", computed_lexeme: None, line: 243, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 243, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 243, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 244, }, Token { kind: String, lexeme: "\"ABC\"", computed_lexeme: None, line: 244, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 245, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 246, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 246, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 247, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 247, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 247, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 247, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 247, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 247, }, Token { kind: String, lexeme: "\"pushint 10; Ltolstring -2; return 3\"", computed_lexeme: None, line: 247, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 247, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 248, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 248, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 248, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 248, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 248, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 248, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 248, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 248, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 248, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 248, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 248, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 248, }, Token { kind: String, lexeme: "\"ABC\"", computed_lexeme: None, line: 248, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 248, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 249, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: String, lexeme: "\"(io.write or print){}\"", computed_lexeme: None, line: 253, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 253, }, Token { kind: String, lexeme: "\"io.write\"", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 254, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 254, }, Token { kind: String, lexeme: "\"(collectgarbage or print){}\"", computed_lexeme: None, line: 254, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 254, }, Token { kind: String, lexeme: "\"collectgarbage\"", computed_lexeme: None, line: 254, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 254, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 257, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 258, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 258, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 258, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 258, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 258, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 258, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 258, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 258, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 258, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 258, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 258, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 258, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 259, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 259, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 259, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 259, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "dump", computed_lexeme: None, line: 259, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 259, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 259, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 259, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 259, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 259, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 259, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 260, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 260, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 260, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 260, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 260, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 260, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 260, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 260, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 260, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 261, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 261, }, Token { kind: String, lexeme: "\"^%?:%-1:\"", computed_lexeme: None, line: 261, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 261, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 261, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 261, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 261, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 261, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 261, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 264, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 264, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 264, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 264, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 264, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 265, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 265, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 265, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 265, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 265, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 265, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 265, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 265, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 265, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 266, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 268, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 268, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 268, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 268, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "dump", computed_lexeme: None, line: 268, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 268, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 268, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 268, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 268, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 268, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 270, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 270, }, Token { kind: String, lexeme: "\"^%?:%-1:.*table value\"", computed_lexeme: None, line: 270, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 270, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 270, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 271, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 275, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 275, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 275, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 275, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 275, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 276, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 276, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 276, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 276, }, Token { kind: Number, lexeme: "1000", computed_lexeme: Some( "1000", ), line: 276, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 277, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 277, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 277, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 277, }, Token { kind: String, lexeme: "\"a = x\"", computed_lexeme: None, line: 277, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 277, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 278, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 279, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 279, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "concat", computed_lexeme: None, line: 279, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 279, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 279, }, Token { kind: String, lexeme: "\"; \"", computed_lexeme: None, line: 279, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 280, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 280, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 280, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 281, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 281, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 281, }, Token { kind: String, lexeme: "\"; a = bbb + 1\"", computed_lexeme: None, line: 281, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 281, }, Token { kind: String, lexeme: "\"global 'bbb'\"", computed_lexeme: None, line: 281, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 282, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 282, }, Token { kind: String, lexeme: "\"local _ENV=_ENV;\"", computed_lexeme: None, line: 282, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 282, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 282, }, Token { kind: String, lexeme: "\"; a = bbb + 1\"", computed_lexeme: None, line: 282, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 282, }, Token { kind: String, lexeme: "\"global 'bbb'\"", computed_lexeme: None, line: 282, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 283, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 283, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 283, }, Token { kind: String, lexeme: "\"; local t = {}; a = t.bbb + 1\"", computed_lexeme: None, line: 283, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 283, }, Token { kind: String, lexeme: "\"field 'bbb'\"", computed_lexeme: None, line: 283, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 284, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 284, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 284, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 284, }, Token { kind: String, lexeme: "\"; local t = {}; t:bbb()\"", computed_lexeme: None, line: 284, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 284, }, Token { kind: String, lexeme: "\"method 'bbb'\"", computed_lexeme: None, line: 284, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 284, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 286, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 286, }, Token { kind: MultilineString, lexeme: "[[aaa=9\nrepeat until 3==3\nlocal x=math.sin(math.cos(3))\nif math.sin(1) == x then return math.sin(1) end -- tail call\nlocal a,b = 1, {\n {x='a'..'b'..'c', y='b', z=x},\n {1,2,3,4,5} or 3+3<=3+3,\n 3+1>3+1,\n {d = x and aaa[x or y]}}\n]]", computed_lexeme: None, line: 295, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 295, }, Token { kind: String, lexeme: "\"global 'aaa'\"", computed_lexeme: None, line: 295, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 295, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 297, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 297, }, Token { kind: MultilineString, lexeme: "[[\nlocal x,y = {},1\nif math.sin(1) == 0 then return 3 end -- return\nx.a()]]", computed_lexeme: None, line: 300, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 300, }, Token { kind: String, lexeme: "\"field 'a'\"", computed_lexeme: None, line: 300, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 300, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 302, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 302, }, Token { kind: MultilineString, lexeme: "[[\nprefix = nil\ninsert = nil\nwhile 1 do\n local a\n if nil then break end\n insert(prefix, a)\nend]]", computed_lexeme: None, line: 309, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 309, }, Token { kind: String, lexeme: "\"global 'insert'\"", computed_lexeme: None, line: 309, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 311, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 311, }, Token { kind: MultilineString, lexeme: "[[ -- tail call\n return math.sin(\"a\")\n]]", computed_lexeme: None, line: 313, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 313, }, Token { kind: String, lexeme: "\"sin\"", computed_lexeme: None, line: 313, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 313, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 315, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 315, }, Token { kind: MultilineString, lexeme: "[[collectgarbage(\"nooption\")]]", computed_lexeme: None, line: 315, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 315, }, Token { kind: String, lexeme: "\"invalid option\"", computed_lexeme: None, line: 315, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 315, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 317, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 317, }, Token { kind: MultilineString, lexeme: "[[x = print .. \"a\"]]", computed_lexeme: None, line: 317, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 317, }, Token { kind: String, lexeme: "\"concatenate\"", computed_lexeme: None, line: 317, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 318, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 318, }, Token { kind: MultilineString, lexeme: "[[x = \"a\" .. false]]", computed_lexeme: None, line: 318, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 318, }, Token { kind: String, lexeme: "\"concatenate\"", computed_lexeme: None, line: 318, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 319, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 319, }, Token { kind: MultilineString, lexeme: "[[x = {} .. 2]]", computed_lexeme: None, line: 319, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 319, }, Token { kind: String, lexeme: "\"concatenate\"", computed_lexeme: None, line: 319, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 321, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"getmetatable(io.stdin).__gc()\"", computed_lexeme: None, line: 321, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"no value\"", computed_lexeme: None, line: 321, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 323, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 323, }, Token { kind: MultilineString, lexeme: "[[\nlocal Var\nlocal function main()\n NoSuchName (function() Var=0 end)\nend\nmain()\n]]", computed_lexeme: None, line: 329, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 329, }, Token { kind: String, lexeme: "\"global 'NoSuchName'\"", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 330, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 330, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 332, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 332, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 332, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 332, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 332, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 332, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 332, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 332, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 332, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 332, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: String, lexeme: "\"a:sub()\"", computed_lexeme: None, line: 333, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 333, }, Token { kind: String, lexeme: "\"bad self\"", computed_lexeme: None, line: 333, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 333, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 334, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 334, }, Token { kind: String, lexeme: "\"string.sub('a', {})\"", computed_lexeme: None, line: 334, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 334, }, Token { kind: String, lexeme: "\"#2\"", computed_lexeme: None, line: 334, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 334, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 335, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 335, }, Token { kind: String, lexeme: "\"('a'):sub{}\"", computed_lexeme: None, line: 335, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 335, }, Token { kind: String, lexeme: "\"#1\"", computed_lexeme: None, line: 335, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 337, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 337, }, Token { kind: String, lexeme: "\"table.sort({1,2,3}, table.sort)\"", computed_lexeme: None, line: 337, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 337, }, Token { kind: String, lexeme: "\"'table.sort'\"", computed_lexeme: None, line: 337, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 337, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 338, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 338, }, Token { kind: String, lexeme: "\"string.gsub('s', 's', setmetatable)\"", computed_lexeme: None, line: 338, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 338, }, Token { kind: String, lexeme: "\"'setmetatable'\"", computed_lexeme: None, line: 338, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 338, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 342, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 342, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 342, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 342, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 343, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 343, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 343, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 343, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 343, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 344, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 344, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 344, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 344, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 344, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 344, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 345, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 345, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 347, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 347, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 347, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 347, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 347, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 347, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 347, }, Token { kind: String, lexeme: "\"C stack overflow\"", computed_lexeme: None, line: 347, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 347, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 349, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 349, }, Token { kind: String, lexeme: "\"coroutine.yield()\"", computed_lexeme: None, line: 349, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 349, }, Token { kind: String, lexeme: "\"outside a coroutine\"", computed_lexeme: None, line: 349, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 349, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 351, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 351, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 351, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 351, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 351, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 351, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 351, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 351, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 351, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 351, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 351, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 351, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 351, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 351, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 351, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 351, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 351, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 351, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 351, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 351, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 352, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 352, }, Token { kind: String, lexeme: "\"yield across\"", computed_lexeme: None, line: 352, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 352, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "idsize", computed_lexeme: None, line: 357, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 357, }, Token { kind: Number, lexeme: "60", computed_lexeme: Some( "60", ), line: 357, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 357, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 357, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 358, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "checksize", computed_lexeme: None, line: 358, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "source", computed_lexeme: None, line: 358, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 358, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "_", computed_lexeme: None, line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 360, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 360, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 360, }, Token { kind: String, lexeme: "\"x\"", computed_lexeme: None, line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "source", computed_lexeme: None, line: 360, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 361, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 361, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 361, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 361, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 361, }, Token { kind: String, lexeme: "\"^([^:]*):\"", computed_lexeme: None, line: 361, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 362, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 362, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "len", computed_lexeme: None, line: 362, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 362, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 362, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "idsize", computed_lexeme: None, line: 362, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 362, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 363, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 365, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 365, }, Token { kind: Number, lexeme: "60", computed_lexeme: Some( "60", ), line: 365, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 365, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 365, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 365, }, Token { kind: Number, lexeme: "60", computed_lexeme: Some( "60", ), line: 365, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 365, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 365, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "checksize", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: String, lexeme: "\"@\"", computed_lexeme: None, line: 366, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 366, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: String, lexeme: "\"x\"", computed_lexeme: None, line: 366, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "checksize", computed_lexeme: None, line: 367, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 367, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 367, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 367, }, Token { kind: String, lexeme: "\"x\"", computed_lexeme: None, line: 367, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 367, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 367, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 367, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 367, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "checksize", computed_lexeme: None, line: 368, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 368, }, Token { kind: String, lexeme: "\"=\"", computed_lexeme: None, line: 368, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 368, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 368, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 368, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 368, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 368, }, Token { kind: String, lexeme: "\"x\"", computed_lexeme: None, line: 368, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 368, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 368, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 368, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 368, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 369, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 374, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 374, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 374, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 374, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 374, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "err", computed_lexeme: None, line: 375, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 375, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 375, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 375, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 375, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 375, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 375, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 376, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 376, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 376, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 376, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 376, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 376, }, Token { kind: String, lexeme: "\":(%d+):\"", computed_lexeme: None, line: 376, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 376, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 377, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 377, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 377, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 377, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 380, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 380, }, Token { kind: String, lexeme: "\"local a\\n for i=1,'a' do \\n print(i) \\n end\"", computed_lexeme: None, line: 380, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 380, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 380, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 380, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 381, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 381, }, Token { kind: String, lexeme: "\"\\n local a \\n for k,v in 3 \\n do \\n print(k) \\n end\"", computed_lexeme: None, line: 381, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 381, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 381, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 381, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 382, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 382, }, Token { kind: String, lexeme: "\"\\n\\n for k,v in \\n 3 \\n do \\n print(k) \\n end\"", computed_lexeme: None, line: 382, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 382, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 382, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 383, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 383, }, Token { kind: String, lexeme: "\"function a.x.y ()\\na=a+1\\nend\"", computed_lexeme: None, line: 383, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 383, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 383, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 383, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 385, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 385, }, Token { kind: String, lexeme: "\"a = \\na\\n+\\n{}\"", computed_lexeme: None, line: 385, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 385, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 385, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 386, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 386, }, Token { kind: String, lexeme: "\"a = \\n3\\n+\\n(\\n4\\n/\\nprint)\"", computed_lexeme: None, line: 386, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 386, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 386, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 386, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 387, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 387, }, Token { kind: String, lexeme: "\"a = \\nprint\\n+\\n(\\n4\\n/\\n7)\"", computed_lexeme: None, line: 387, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 387, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 387, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 387, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 389, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 389, }, Token { kind: String, lexeme: "\"a\\n=\\n-\\n\\nprint\\n;\"", computed_lexeme: None, line: 389, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 389, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 389, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 389, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 391, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 391, }, Token { kind: MultilineString, lexeme: "[[\na\n(\n23)\n]]", computed_lexeme: None, line: 395, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 395, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 395, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 395, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 397, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 397, }, Token { kind: MultilineString, lexeme: "[[\nlocal a = {x = 13}\na\n.\nx\n(\n23\n)\n]]", computed_lexeme: None, line: 405, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 405, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 405, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 405, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 407, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 407, }, Token { kind: MultilineString, lexeme: "[[\nlocal a = {x = 13}\na\n.\nx\n(\n23 + a\n)\n]]", computed_lexeme: None, line: 415, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 415, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 415, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 415, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 417, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 417, }, Token { kind: MultilineString, lexeme: "[[\n function g() f() end\n function f(x) error('a', X) end\ng()\n]]", computed_lexeme: None, line: 421, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 422, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 422, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 422, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 422, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 422, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 422, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 422, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 422, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 422, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 423, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 423, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 423, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 423, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 423, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 423, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 423, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 423, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 423, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 423, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 423, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 423, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 424, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 424, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 424, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 424, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 424, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 424, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 424, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 424, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 424, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 424, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 424, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 424, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 425, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 425, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 425, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 425, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 425, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 425, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 425, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 425, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 425, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 425, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 425, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 425, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 428, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 428, }, Token { kind: MultilineString, lexeme: "[[\nlocal b = false\nif not b then\n error 'test'\nend]]", computed_lexeme: None, line: 432, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 432, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 432, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 432, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 434, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 434, }, Token { kind: MultilineString, lexeme: "[[\nlocal b = false\nif not b then\n if not b then\n if not b then\n error 'test'\n end\n end\nend]]", computed_lexeme: None, line: 442, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 442, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 442, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 442, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 444, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 448, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 448, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 448, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 448, }, Token { kind: String, lexeme: "\"%s return __A.x\"", computed_lexeme: None, line: 448, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 448, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 448, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 448, }, Token { kind: String, lexeme: "\"\\n\"", computed_lexeme: None, line: 448, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 448, }, Token { kind: Number, lexeme: "300", computed_lexeme: Some( "300", ), line: 448, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 448, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 448, }, Token { kind: Identifier, lexeme: "lineerror", computed_lexeme: None, line: 449, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 449, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 449, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 449, }, Token { kind: Number, lexeme: "301", computed_lexeme: Some( "301", ), line: 449, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 449, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 450, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 453, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 453, }, Token { kind: Identifier, lexeme: "_soft", computed_lexeme: None, line: 453, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 453, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 455, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 455, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 456, }, Token { kind: String, lexeme: "\"testing stack overflow\"", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 457, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 457, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 457, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 459, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 459, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 459, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 459, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 459, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 459, }, Token { kind: String, lexeme: "\"l\"", computed_lexeme: None, line: 459, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 459, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 459, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 459, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 459, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 460, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 460, }, Token { kind: Identifier, lexeme: "auxy", computed_lexeme: None, line: 460, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 460, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 460, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 461, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 461, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 461, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 461, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 461, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 461, }, Token { kind: Identifier, lexeme: "auxy", computed_lexeme: None, line: 461, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 461, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 461, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 462, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 463, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 463, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 464, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 464, }, Token { kind: String, lexeme: "\"stop\"", computed_lexeme: None, line: 464, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 464, }, Token { kind: Identifier, lexeme: "auxy", computed_lexeme: None, line: 465, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 465, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 465, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 466, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 466, }, Token { kind: String, lexeme: "\"restart\"", computed_lexeme: None, line: 466, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 466, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 467, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 469, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 469, }, Token { kind: Identifier, lexeme: "checkstackmessage", computed_lexeme: None, line: 469, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 469, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 469, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 469, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 470, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 470, }, Token { kind: String, lexeme: "\"(expected stack overflow after \"", computed_lexeme: None, line: 470, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 470, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 470, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 470, }, Token { kind: String, lexeme: "\" calls)\"", computed_lexeme: None, line: 470, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 470, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 471, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 471, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 471, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 472, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 472, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 472, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 472, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 472, }, Token { kind: String, lexeme: "\"stack overflow\"", computed_lexeme: None, line: 472, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 472, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 472, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 473, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 475, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 475, }, Token { kind: Identifier, lexeme: "checkstackmessage", computed_lexeme: None, line: 475, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 475, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 475, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 475, }, Token { kind: String, lexeme: "'y()'", computed_lexeme: None, line: 475, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 475, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 475, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 475, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 476, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 476, }, Token { kind: Identifier, lexeme: "checkstackmessage", computed_lexeme: None, line: 476, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 476, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 476, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 476, }, Token { kind: String, lexeme: "'y()'", computed_lexeme: None, line: 476, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 476, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 476, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 476, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 477, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 477, }, Token { kind: Identifier, lexeme: "checkstackmessage", computed_lexeme: None, line: 477, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 477, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 477, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 477, }, Token { kind: String, lexeme: "'y()'", computed_lexeme: None, line: 477, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 477, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 477, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 477, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 481, }, Token { kind: Identifier, lexeme: "l1", computed_lexeme: None, line: 481, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 482, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 482, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 482, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "l1", computed_lexeme: None, line: 483, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 483, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 483, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 483, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 483, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 483, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 483, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 483, }, Token { kind: String, lexeme: "\"l\"", computed_lexeme: None, line: 483, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 483, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 483, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 483, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 483, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 483, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 484, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 484, }, Token { kind: String, lexeme: "\"stop\"", computed_lexeme: None, line: 484, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 484, }, Token { kind: Identifier, lexeme: "auxy", computed_lexeme: None, line: 485, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 485, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 486, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 486, }, Token { kind: String, lexeme: "\"restart\"", computed_lexeme: None, line: 486, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 486, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 487, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "_", computed_lexeme: None, line: 488, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "stackmsg", computed_lexeme: None, line: 488, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 488, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 488, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 488, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "traceback", computed_lexeme: None, line: 488, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 488, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 488, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 488, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 489, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 489, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 489, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 489, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 490, }, Token { kind: Identifier, lexeme: "stack", computed_lexeme: None, line: 490, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 490, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 490, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 490, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 491, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 491, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 491, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 491, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 491, }, Token { kind: Identifier, lexeme: "gmatch", computed_lexeme: None, line: 491, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 491, }, Token { kind: Identifier, lexeme: "stackmsg", computed_lexeme: None, line: 491, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 491, }, Token { kind: String, lexeme: "\"[^\\n]*\"", computed_lexeme: None, line: 491, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 491, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 491, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "curr", computed_lexeme: None, line: 492, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 492, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 492, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 492, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 492, }, Token { kind: String, lexeme: "\":(%d+):\"", computed_lexeme: None, line: 492, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 492, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "curr", computed_lexeme: None, line: 493, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 493, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "insert", computed_lexeme: None, line: 493, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "stack", computed_lexeme: None, line: 493, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 493, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "curr", computed_lexeme: None, line: 493, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 493, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 493, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 493, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 494, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 495, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 495, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 495, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 495, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "stack", computed_lexeme: None, line: 496, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 496, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 496, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "l1", computed_lexeme: None, line: 496, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 497, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 497, }, Token { kind: Identifier, lexeme: "stack", computed_lexeme: None, line: 497, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 497, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 497, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 497, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 497, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 497, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 497, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 498, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 498, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 498, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 498, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 498, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 499, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 500, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 500, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 500, }, Token { kind: GreaterThan, lexeme: ">", computed_lexeme: None, line: 500, }, Token { kind: Number, lexeme: "15", computed_lexeme: Some( "15", ), line: 500, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 500, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 504, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 504, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 504, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 504, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 504, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 505, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 505, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 505, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 505, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 505, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 505, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 505, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 505, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 505, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 505, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 505, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 505, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 506, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 506, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 506, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 506, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 508, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 508, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 508, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 508, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 508, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 508, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 509, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 509, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 509, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 509, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 509, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 510, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 510, }, Token { kind: String, lexeme: "'a\\n'", computed_lexeme: None, line: 510, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 510, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 511, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 512, }, Token { kind: Identifier, lexeme: "aux", computed_lexeme: None, line: 512, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 512, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 512, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 512, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 512, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 512, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 512, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 512, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 512, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 512, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 512, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 512, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 512, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 513, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 513, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 513, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 513, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 513, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 513, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 513, }, Token { kind: Identifier, lexeme: "aux", computed_lexeme: None, line: 513, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 513, }, Token { kind: Identifier, lexeme: "aux", computed_lexeme: None, line: 513, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 513, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 514, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 514, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 514, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 514, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 515, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 516, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 517, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 517, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 517, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 517, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 519, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "loop", computed_lexeme: None, line: 519, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "z", computed_lexeme: None, line: 519, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 519, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 519, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 519, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "loop", computed_lexeme: None, line: 519, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "z", computed_lexeme: None, line: 519, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 519, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 519, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 521, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 521, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 521, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "loop", computed_lexeme: None, line: 521, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 521, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 521, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 521, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 522, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 522, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 522, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 522, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 522, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 522, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 522, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 522, }, Token { kind: String, lexeme: "\"stack overflow\"", computed_lexeme: None, line: 522, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 522, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 522, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 523, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 523, }, Token { kind: String, lexeme: "\"error handling\"", computed_lexeme: None, line: 523, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 523, }, Token { kind: Identifier, lexeme: "loop", computed_lexeme: None, line: 523, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 523, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 524, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 524, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 524, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 524, }, Token { kind: Identifier, lexeme: "sin", computed_lexeme: None, line: 524, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 524, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 524, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 524, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 524, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 524, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 524, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 525, }, Token { kind: Number, lexeme: "15", computed_lexeme: Some( "15", ), line: 525, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 526, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 526, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 527, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 527, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 527, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 527, }, Token { kind: Number, lexeme: "15", computed_lexeme: Some( "15", ), line: 527, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 527, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 529, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 529, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 529, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 529, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 529, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 529, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 530, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 530, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 530, }, Token { kind: Number, lexeme: "999900", computed_lexeme: Some( "999900", ), line: 530, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 530, }, Token { kind: Number, lexeme: "1000000", computed_lexeme: Some( "1000000", ), line: 530, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 530, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 530, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 530, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 530, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 530, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 530, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 530, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 530, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 530, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 530, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 530, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 530, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 530, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 530, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 530, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 531, }, Token { kind: Identifier, lexeme: "checkerr", computed_lexeme: None, line: 532, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 532, }, Token { kind: String, lexeme: "\"too many results\"", computed_lexeme: None, line: 532, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 532, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 532, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 532, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 533, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 536, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 538, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 538, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 538, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 538, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 538, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 539, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 539, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 539, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 539, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 539, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 539, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 539, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 539, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 539, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 539, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 539, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 540, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 540, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 540, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 540, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 540, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 540, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 540, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 540, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 540, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 542, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 542, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 542, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 542, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 542, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 542, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 542, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 542, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 542, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 542, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 542, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 543, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 543, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 543, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 543, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 543, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 543, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 543, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 543, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 543, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 545, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 545, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 545, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 545, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 545, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 545, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 545, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 545, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 545, }, Token { kind: String, lexeme: "'x'", computed_lexeme: None, line: 545, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 545, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 545, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 546, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 546, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 546, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 546, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 546, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 546, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 546, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 546, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 546, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 546, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 546, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 546, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 546, }, Token { kind: String, lexeme: "'y'", computed_lexeme: None, line: 546, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 546, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 546, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 546, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 547, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 547, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 547, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 547, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 547, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 547, }, Token { kind: String, lexeme: "'xy'", computed_lexeme: None, line: 547, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 547, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 550, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 550, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 550, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 550, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 550, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 550, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 550, }, Token { kind: String, lexeme: "\"X\"", computed_lexeme: None, line: 550, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 550, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 551, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 551, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 551, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 551, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 551, }, Token { kind: String, lexeme: "\"X\"", computed_lexeme: None, line: 551, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 554, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 554, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 554, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 554, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 554, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 554, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 554, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 554, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 554, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 554, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 554, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 554, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 554, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 554, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 554, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 555, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 555, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 555, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 555, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 555, }, Token { kind: String, lexeme: "\"%w+%.lua:(%d+): assertion failed!$\"", computed_lexeme: None, line: 555, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 556, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 556, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 556, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 556, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 556, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 556, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 556, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 556, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 556, }, Token { kind: String, lexeme: "\"l\"", computed_lexeme: None, line: 556, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 556, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 556, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 556, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 556, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 556, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 559, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 559, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 559, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 559, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 559, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 559, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 559, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 559, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 559, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 559, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 559, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 559, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 560, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 560, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 560, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 560, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 560, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 560, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 560, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 560, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 560, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 562, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 562, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 562, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 562, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 562, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 562, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 562, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 562, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 562, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 562, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 562, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 562, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 563, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 563, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 563, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 563, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 563, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 563, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 563, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 563, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 563, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 566, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 566, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 566, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 566, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 566, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 566, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 566, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 566, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 567, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 567, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 567, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 567, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 567, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 567, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 567, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 567, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 567, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 567, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 567, }, Token { kind: String, lexeme: "\"value expected\"", computed_lexeme: None, line: 567, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 567, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 567, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 568, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 571, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 571, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 571, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 571, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 571, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 571, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 571, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 571, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 571, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 571, }, Token { kind: String, lexeme: "\"al\"", computed_lexeme: None, line: 571, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 572, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 572, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 572, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 572, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 572, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 572, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 572, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 572, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 572, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 572, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 572, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 572, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 573, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 573, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 573, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 573, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 573, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 573, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 573, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 573, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 573, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: String, lexeme: "\"al\"", computed_lexeme: None, line: 573, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 574, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 574, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 574, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 574, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 574, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 574, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 574, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 574, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 574, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 574, }, Token { kind: String, lexeme: "\"table\"", computed_lexeme: None, line: 574, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 574, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 574, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 574, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 574, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 574, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 577, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 577, }, Token { kind: String, lexeme: "\"testing tokens in error messages\"", computed_lexeme: None, line: 577, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 577, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 578, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 578, }, Token { kind: String, lexeme: "\"syntax error\"", computed_lexeme: None, line: 578, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 578, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 578, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 578, }, Token { kind: String, lexeme: "\"error\"", computed_lexeme: None, line: 578, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 578, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 578, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 578, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 579, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 579, }, Token { kind: String, lexeme: "\"1.000\"", computed_lexeme: None, line: 579, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 579, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 579, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 579, }, Token { kind: String, lexeme: "\"1.000\"", computed_lexeme: None, line: 579, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 579, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 579, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 579, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 580, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 580, }, Token { kind: String, lexeme: "\"[[a]]\"", computed_lexeme: None, line: 580, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 580, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 580, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 580, }, Token { kind: String, lexeme: "\"[[a]]\"", computed_lexeme: None, line: 580, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 580, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 580, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 580, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 581, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 581, }, Token { kind: String, lexeme: "\"'aa'\"", computed_lexeme: None, line: 581, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 581, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 581, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 581, }, Token { kind: String, lexeme: "\"'aa'\"", computed_lexeme: None, line: 581, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 581, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 581, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 581, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 582, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 582, }, Token { kind: String, lexeme: "\"while << do end\"", computed_lexeme: None, line: 582, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 582, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 582, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 582, }, Token { kind: String, lexeme: "\"<<\"", computed_lexeme: None, line: 582, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 582, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 582, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 582, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 583, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 583, }, Token { kind: String, lexeme: "\"for >> do end\"", computed_lexeme: None, line: 583, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 583, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 583, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 583, }, Token { kind: String, lexeme: "\">>\"", computed_lexeme: None, line: 583, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 583, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 583, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 583, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 586, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 586, }, Token { kind: String, lexeme: "\"a\\1a = 1\"", computed_lexeme: None, line: 586, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 586, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 586, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 586, }, Token { kind: String, lexeme: "\"<\\\\1>\"", computed_lexeme: None, line: 586, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 586, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 586, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 586, }, Token { kind: Identifier, lexeme: "checksyntax", computed_lexeme: None, line: 589, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 589, }, Token { kind: String, lexeme: "\"\\255a = 1\"", computed_lexeme: None, line: 589, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 589, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 589, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 589, }, Token { kind: String, lexeme: "\"<\\\\255>\"", computed_lexeme: None, line: 589, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 589, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 589, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 589, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 591, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 591, }, Token { kind: String, lexeme: "'I = load(\"a=9+\"); a=3'", computed_lexeme: None, line: 591, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 591, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 592, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 592, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 592, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 592, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 592, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 592, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 592, }, Token { kind: Identifier, lexeme: "I", computed_lexeme: None, line: 592, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 592, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 593, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 593, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 593, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 593, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 595, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 595, }, Token { kind: Number, lexeme: "1000", computed_lexeme: Some( "1000", ), line: 595, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 596, }, Token { kind: Identifier, lexeme: "_soft", computed_lexeme: None, line: 596, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 596, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 596, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 596, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 596, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 596, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 597, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 597, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 597, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 597, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 597, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 597, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 597, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 598, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 598, }, Token { kind: String, lexeme: "'a = '", computed_lexeme: None, line: 598, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 598, }, Token { kind: Identifier, lexeme: "doit", computed_lexeme: None, line: 599, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 599, }, Token { kind: String, lexeme: "'a = 4+nil'", computed_lexeme: None, line: 599, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 599, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 600, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 605, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 605, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "init", computed_lexeme: None, line: 605, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 605, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 605, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "repc", computed_lexeme: None, line: 605, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 605, }, Token { kind: Identifier, lexeme: "finalresult", computed_lexeme: None, line: 605, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 605, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 606, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "init", computed_lexeme: None, line: 606, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 606, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 606, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 606, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 606, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 606, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 606, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 606, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 606, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 606, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 606, }, Token { kind: Identifier, lexeme: "repc", computed_lexeme: None, line: 606, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 606, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 606, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 606, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 607, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 607, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 607, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 607, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 608, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 608, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 608, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 608, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 609, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "finalresult", computed_lexeme: None, line: 609, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 609, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 610, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 610, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 610, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 610, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 610, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 610, }, Token { kind: Identifier, lexeme: "finalresult", computed_lexeme: None, line: 610, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 610, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 611, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 612, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 612, }, Token { kind: Identifier, lexeme: "init", computed_lexeme: None, line: 612, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 612, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 612, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 612, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 612, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 612, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 612, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 612, }, Token { kind: Number, lexeme: "500", computed_lexeme: Some( "500", ), line: 612, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 612, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 613, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 613, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 613, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 613, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 613, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 613, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 613, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 613, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 613, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 614, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 614, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 614, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 614, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 614, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 614, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 614, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 614, }, Token { kind: String, lexeme: "\"too many\"", computed_lexeme: None, line: 614, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 614, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 615, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 615, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 615, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 615, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 615, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 615, }, Token { kind: String, lexeme: "\"overflow\"", computed_lexeme: None, line: 615, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 615, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 615, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 615, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 618, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 618, }, Token { kind: String, lexeme: "\"local a; a\"", computed_lexeme: None, line: 618, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 618, }, Token { kind: String, lexeme: "\",a\"", computed_lexeme: None, line: 618, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 618, }, Token { kind: String, lexeme: "\"= 1\"", computed_lexeme: None, line: 618, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 618, }, Token { kind: String, lexeme: "\",1\"", computed_lexeme: None, line: 618, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 618, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 619, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 619, }, Token { kind: String, lexeme: "\"local a; a=\"", computed_lexeme: None, line: 619, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 619, }, Token { kind: String, lexeme: "\"{\"", computed_lexeme: None, line: 619, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 619, }, Token { kind: String, lexeme: "\"0\"", computed_lexeme: None, line: 619, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 619, }, Token { kind: String, lexeme: "\"}\"", computed_lexeme: None, line: 619, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 619, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 620, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "\"return \"", computed_lexeme: None, line: 620, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "\"(\"", computed_lexeme: None, line: 620, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "\"2\"", computed_lexeme: None, line: 620, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "\")\"", computed_lexeme: None, line: 620, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 620, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 620, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 620, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 621, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 621, }, Token { kind: String, lexeme: "\"local function a (x) return x end; return \"", computed_lexeme: None, line: 621, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 621, }, Token { kind: String, lexeme: "\"a(\"", computed_lexeme: None, line: 621, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 621, }, Token { kind: String, lexeme: "\"2.2\"", computed_lexeme: None, line: 621, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 621, }, Token { kind: String, lexeme: "\")\"", computed_lexeme: None, line: 621, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 621, }, Token { kind: Number, lexeme: "2.2", computed_lexeme: Some( "2.2", ), line: 621, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 621, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 622, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 622, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 622, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 622, }, Token { kind: String, lexeme: "\"do \"", computed_lexeme: None, line: 622, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 622, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 622, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 622, }, Token { kind: String, lexeme: "\" end\"", computed_lexeme: None, line: 622, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 622, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 623, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 623, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 623, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 623, }, Token { kind: String, lexeme: "\"while a do \"", computed_lexeme: None, line: 623, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 623, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 623, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 623, }, Token { kind: String, lexeme: "\" end\"", computed_lexeme: None, line: 623, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 623, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 624, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 624, }, Token { kind: String, lexeme: "\"local a; \"", computed_lexeme: None, line: 624, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 624, }, Token { kind: String, lexeme: "\"if a then else \"", computed_lexeme: None, line: 624, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 624, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 624, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 624, }, Token { kind: String, lexeme: "\" end\"", computed_lexeme: None, line: 624, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 624, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 625, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 625, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 625, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 625, }, Token { kind: String, lexeme: "\"function foo () \"", computed_lexeme: None, line: 625, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 625, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 625, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 625, }, Token { kind: String, lexeme: "\" end\"", computed_lexeme: None, line: 625, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 625, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 626, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 626, }, Token { kind: String, lexeme: "\"local a = ''; return \"", computed_lexeme: None, line: 626, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 626, }, Token { kind: String, lexeme: "\"a..\"", computed_lexeme: None, line: 626, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 626, }, Token { kind: String, lexeme: "\"'a'\"", computed_lexeme: None, line: 626, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 626, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 626, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 626, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 626, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 626, }, Token { kind: Identifier, lexeme: "testrep", computed_lexeme: None, line: 627, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 627, }, Token { kind: String, lexeme: "\"local a = 1; return \"", computed_lexeme: None, line: 627, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 627, }, Token { kind: String, lexeme: "\"a^\"", computed_lexeme: None, line: 627, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 627, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 627, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 627, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 627, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 627, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 627, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 627, }, Token { kind: Identifier, lexeme: "checkmessage", computed_lexeme: None, line: 629, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 629, }, Token { kind: String, lexeme: "\"a = f(x\"", computed_lexeme: None, line: 629, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 629, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 629, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 629, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 629, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 629, }, Token { kind: String, lexeme: "\",x\"", computed_lexeme: None, line: 629, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 629, }, Token { kind: Number, lexeme: "260", computed_lexeme: Some( "260", ), line: 629, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 629, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 629, }, Token { kind: String, lexeme: "\")\"", computed_lexeme: None, line: 629, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 629, }, Token { kind: String, lexeme: "\"too many registers\"", computed_lexeme: None, line: 629, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 629, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 635, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 635, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 635, }, Token { kind: Number, lexeme: "127", computed_lexeme: Some( "127", ), line: 635, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 636, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 636, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 636, }, Token { kind: String, lexeme: "\"local function fooA ()\\n local \"", computed_lexeme: None, line: 636, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 637, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 637, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 637, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 637, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 637, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 637, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 637, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 638, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 638, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 638, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 638, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 638, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 638, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 638, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 638, }, Token { kind: String, lexeme: "\", \"", computed_lexeme: None, line: 638, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 639, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 640, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 640, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 640, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 640, }, Token { kind: String, lexeme: "\"b,c\\n\"", computed_lexeme: None, line: 640, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 641, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 641, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 641, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 641, }, Token { kind: String, lexeme: "\"local function fooB ()\\n local \"", computed_lexeme: None, line: 641, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 642, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 642, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 642, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 642, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 642, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 642, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 642, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 643, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 643, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 643, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 643, }, Token { kind: String, lexeme: "\"b\"", computed_lexeme: None, line: 643, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 643, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 643, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 643, }, Token { kind: String, lexeme: "\", \"", computed_lexeme: None, line: 643, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 644, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 645, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 645, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 645, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 645, }, Token { kind: String, lexeme: "\"b\\n\"", computed_lexeme: None, line: 645, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 646, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 646, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 646, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 646, }, Token { kind: String, lexeme: "\"function fooC () return b+c\"", computed_lexeme: None, line: 646, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 647, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 647, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 647, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 647, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 647, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 647, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 648, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 648, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 648, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 648, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 648, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 648, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 648, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 649, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 649, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 649, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 649, }, Token { kind: String, lexeme: "\"+a\"", computed_lexeme: None, line: 649, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 649, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 649, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 649, }, Token { kind: String, lexeme: "\"+b\"", computed_lexeme: None, line: 649, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 649, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 649, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 650, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 650, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 650, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 650, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 650, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 651, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 652, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 652, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 652, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 652, }, Token { kind: String, lexeme: "\"\\nend end end\"", computed_lexeme: None, line: 652, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 653, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 653, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 653, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 653, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 653, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 653, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 653, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 653, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 653, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 654, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 654, }, Token { kind: GreaterThan, lexeme: ">", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "255", computed_lexeme: Some( "255", ), line: 654, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 654, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 654, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 654, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 654, }, Token { kind: String, lexeme: "\"too many upvalues\"", computed_lexeme: None, line: 654, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 654, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 655, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 655, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 655, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 655, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 655, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 655, }, Token { kind: String, lexeme: "\"line 5\"", computed_lexeme: None, line: 655, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 655, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 655, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 658, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 658, }, Token { kind: String, lexeme: "\"\\nfunction foo ()\\n local \"", computed_lexeme: None, line: 658, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 659, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 659, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 659, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 659, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 659, }, Token { kind: Number, lexeme: "300", computed_lexeme: Some( "300", ), line: 659, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 659, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 660, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 660, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 660, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 660, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 660, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 660, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 660, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 660, }, Token { kind: String, lexeme: "\", \"", computed_lexeme: None, line: 660, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 661, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 662, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 662, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 662, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 662, }, Token { kind: String, lexeme: "\"b\\n\"", computed_lexeme: None, line: 662, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 663, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 663, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 663, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 663, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 663, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 663, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 663, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 663, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 663, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 664, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 664, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 664, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 664, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 664, }, Token { kind: String, lexeme: "\"line 2\"", computed_lexeme: None, line: 664, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 664, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 664, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 664, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 664, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 664, }, Token { kind: String, lexeme: "\"too many local variables\"", computed_lexeme: None, line: 664, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 664, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 664, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 666, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 666, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 666, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 666, }, Token { kind: Identifier, lexeme: "oldmm", computed_lexeme: None, line: 666, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 668, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 668, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 668, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 668, }, ]