--- source: src/main.rs expression: scanned input_file: test-data/lua5.4-tests/big.lua --- [ Token { kind: If, lexeme: "if", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "_soft", computed_lexeme: None, line: 4, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 4, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 5, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 5, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 8, }, Token { kind: String, lexeme: "\"testing large tables\"", computed_lexeme: None, line: 8, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 10, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "require", computed_lexeme: None, line: 10, }, Token { kind: String, lexeme: "\"debug\"", computed_lexeme: None, line: 10, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 12, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 12, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 12, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 12, }, Token { kind: Number, lexeme: "18", computed_lexeme: Some( "18", ), line: 12, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 12, }, Token { kind: Number, lexeme: "1000", computed_lexeme: Some( "1000", ), line: 12, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 13, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 13, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 13, }, Token { kind: String, lexeme: "\"local y = {0\"", computed_lexeme: None, line: 13, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 13, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 14, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 14, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 14, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 14, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 14, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 14, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 14, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 15, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 15, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 15, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 15, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 15, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 15, }, Token { kind: String, lexeme: "\"}\\n\"", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 16, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 16, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 16, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 16, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 16, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 16, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 16, }, Token { kind: String, lexeme: "\"X = y\\n\"", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 17, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 17, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 17, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 17, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 17, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 17, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 17, }, Token { kind: String, lexeme: "\"assert(X[%d] == %d)\"", computed_lexeme: None, line: 17, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 17, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 17, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 17, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 17, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 17, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 17, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 18, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 18, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 18, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 18, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 18, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: String, lexeme: "\"return 0\"", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 19, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 19, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "concat", computed_lexeme: None, line: 19, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 19, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 19, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 19, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 19, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 21, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 21, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 21, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 21, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 21, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 21, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 21, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 24, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 24, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 25, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 25, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 25, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 25, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 25, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 25, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 25, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 25, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 25, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 25, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 25, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 26, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "pairs", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 26, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 26, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 26, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "undef", computed_lexeme: None, line: 26, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 29, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 29, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 30, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 30, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 30, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: String, lexeme: "'g'", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 30, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 30, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 30, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 30, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "__newindex", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: String, lexeme: "'s'", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 31, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 31, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 31, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 34, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 34, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 35, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 35, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 36, }, Token { kind: String, lexeme: "'s'", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "'g'", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 38, }, Token { kind: String, lexeme: "'g'", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 39, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 41, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 41, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 41, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 41, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 41, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 41, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 41, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 41, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 41, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 41, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 41, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "__newindex", computed_lexeme: None, line: 45, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 45, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 45, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 46, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 47, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 47, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "\"global 'X'\"", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "env", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "__newindex", computed_lexeme: None, line: 50, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 50, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: String, lexeme: "\"hi\"", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 50, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 51, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "traceback", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 52, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "m", computed_lexeme: None, line: 52, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "\"'newindex'\"", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 54, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 54, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 54, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 56, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 56, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 56, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 58, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 58, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 58, }, Token { kind: Number, lexeme: "32", computed_lexeme: Some( "32", ), line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 58, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 60, }, Token { kind: String, lexeme: "\"testing string length overflow\"", computed_lexeme: None, line: 60, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "repstrings", computed_lexeme: None, line: 62, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 62, }, Token { kind: Number, lexeme: "192", computed_lexeme: Some( "192", ), line: 62, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "ssize", computed_lexeme: None, line: 63, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 63, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "ceil", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Number, lexeme: "2.0", computed_lexeme: Some( "2.0", ), line: 63, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 63, }, Token { kind: Number, lexeme: "32", computed_lexeme: Some( "32", ), line: 63, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "repstrings", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 63, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 63, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "repstrings", computed_lexeme: None, line: 65, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "ssize", computed_lexeme: None, line: 65, }, Token { kind: GreaterThan, lexeme: ">", computed_lexeme: None, line: 65, }, Token { kind: Number, lexeme: "2.0", computed_lexeme: Some( "2.0", ), line: 65, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 65, }, Token { kind: Number, lexeme: "32", computed_lexeme: Some( "32", ), line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "longs", computed_lexeme: None, line: 67, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 67, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "\"\\0\"", computed_lexeme: None, line: 67, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "ssize", computed_lexeme: None, line: 67, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 67, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "load", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"local a = ...; return \"", computed_lexeme: None, line: 71, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 71, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 71, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "repstrings", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: String, lexeme: "\"..\"", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 73, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 73, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 73, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "longs", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 76, }, Token { kind: And, lexeme: "and", 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: "b", computed_lexeme: None, line: 76, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 76, }, Token { kind: String, lexeme: "\"overflow\"", 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: End, lexeme: "end", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 80, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 80, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 82, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 82, }, ]