--- source: src/main.rs expression: scanned input_file: test-data/lua5.2-tests/code.lua --- [ Token { kind: If, lexeme: "if", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 1, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 1, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 1, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 1, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "Message", computed_lexeme: None, line: 2, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 2, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 2, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 2, }, Token { kind: String, lexeme: "'\\a\\n >>> testC not active: skipping opcode tests <<<\\n\\a'", computed_lexeme: None, line: 2, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 2, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 3, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 5, }, Token { kind: String, lexeme: "\"testing code generation and optimizations\"", computed_lexeme: None, line: 5, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 9, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 10, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 10, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 10, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 10, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "w", computed_lexeme: None, line: 11, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 11, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 11, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 11, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 12, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 13, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 16, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 16, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 16, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 16, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 16, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 17, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 17, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 17, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 17, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 17, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 18, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "listcode", computed_lexeme: None, line: 18, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 18, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 18, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 19, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 19, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 19, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 19, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 19, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 21, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 21, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 21, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 21, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 21, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 21, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 21, }, Token { kind: String, lexeme: "'- '", computed_lexeme: None, line: 21, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 21, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 21, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 21, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 21, }, Token { kind: String, lexeme: "' *%d'", computed_lexeme: None, line: 21, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 21, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 21, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 23, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 23, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 23, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 23, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 23, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 23, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 23, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 23, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 23, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 23, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 24, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 27, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 27, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "listcode", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 28, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 28, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "listcode", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 29, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 29, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 29, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 29, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 29, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 30, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 30, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 30, }, Token { kind: Equals, 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: "gsub", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 30, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 30, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: String, lexeme: "'%b()'", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: String, lexeme: "''", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 31, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "i", 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: "string", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 31, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 31, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: String, lexeme: "'%b()'", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: String, lexeme: "''", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 32, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 32, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 32, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 32, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 32, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 33, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Function, lexeme: "function", 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: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Function, lexeme: "function", 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: End, lexeme: "end", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "f", 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: RightBrace, lexeme: "}", computed_lexeme: None, line: 38, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'CLOSURE'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'NEWTABLE'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'GETTABUP'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'CALL'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'SETLIST'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'CALL'", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 43, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 44, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 45, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 45, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 45, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 45, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "h", computed_lexeme: None, line: 46, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 47, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, 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: Local, lexeme: "local", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 51, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 51, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 52, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 52, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 52, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 52, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 52, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 52, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 52, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 52, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 55, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 56, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 57, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 57, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 57, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: Nil, lexeme: "nil", 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: "a", computed_lexeme: None, line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 58, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 58, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 58, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 58, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 58, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 63, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 63, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 63, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 63, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 63, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 67, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 67, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 67, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 67, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 67, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 67, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 67, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 67, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 67, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 67, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 68, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 68, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 68, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 68, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 68, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 70, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 70, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 70, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 70, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Repeat, lexeme: "repeat", computed_lexeme: None, line: 73, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 73, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 73, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 73, }, Token { kind: Until, lexeme: "until", computed_lexeme: None, line: 73, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 73, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 73, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 73, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 74, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 74, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 74, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 78, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 78, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 78, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 78, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 78, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 79, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 79, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 79, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 79, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "'CONCAT'", computed_lexeme: None, line: 79, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 79, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 79, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 82, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 82, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 82, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 82, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 82, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 82, }, Token { kind: String, lexeme: "'LOADBOOL'", computed_lexeme: None, line: 82, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 82, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 83, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 83, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 83, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 83, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: String, lexeme: "'LOADBOOL'", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 84, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 84, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 84, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 84, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 84, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 84, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 84, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 84, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 84, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 84, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 84, }, Token { kind: String, lexeme: "'LOADBOOL'", computed_lexeme: None, line: 84, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 84, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 84, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 84, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 85, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 85, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 85, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 85, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 85, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 85, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 85, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 85, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 85, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: String, lexeme: "'LOADBOOL'", computed_lexeme: None, line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 85, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 88, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 90, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 90, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 90, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 90, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 90, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 91, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 91, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 91, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 91, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 91, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 91, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 91, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 91, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 91, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "20.5", computed_lexeme: Some( "20.5", ), line: 91, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 91, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 91, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 91, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 91, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 92, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 92, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 93, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 93, }, Token { kind: String, lexeme: "'MUL'", computed_lexeme: None, line: 94, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 94, }, Token { kind: String, lexeme: "'DIV'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'ADD'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'GETTABLE'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'SUB'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'GETTABLE'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'POW'", computed_lexeme: None, line: 95, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "'UNM'", computed_lexeme: None, line: 96, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 96, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 96, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 96, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 96, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 96, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 96, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 96, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: Function, lexeme: "function", 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: Local, lexeme: "local", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 101, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 102, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 102, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 102, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 102, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 103, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 103, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 104, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "b", 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: String, lexeme: "'y'", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 105, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 105, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 105, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 106, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 106, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 106, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 107, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 107, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 107, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 107, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 107, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 108, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 108, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 108, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 108, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 108, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 108, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 109, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 109, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 110, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 110, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'SUB'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'DIV'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 112, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 112, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 115, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 115, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 115, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 115, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 115, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Percent, lexeme: "%", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 115, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 115, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 115, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 117, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "'LOADK'", computed_lexeme: None, line: 117, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 118, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 122, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 122, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 122, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "'UNM'", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 126, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 126, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 126, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 126, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 126, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 128, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 128, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 128, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 128, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 128, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 129, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 129, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 129, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 129, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 129, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 130, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 130, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 130, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 131, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 131, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 131, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 132, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 132, }, Token { kind: String, lexeme: "'LOADNIL'", computed_lexeme: None, line: 133, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 133, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "'SETTABLE'", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 136, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 136, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'MOVE'", computed_lexeme: None, line: 136, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 138, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 142, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 142, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 142, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 142, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 142, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 143, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 143, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 143, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 143, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 143, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 143, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 143, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 143, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 143, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 144, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 144, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 144, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 144, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 144, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 144, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 144, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 144, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 145, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 145, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 146, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 146, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 146, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 147, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 147, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 147, }, Token { kind: Number, lexeme: "9", computed_lexeme: Some( "9", ), line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 147, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 147, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 147, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 147, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 148, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 148, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 148, }, Token { kind: Number, lexeme: "9", computed_lexeme: Some( "9", ), line: 148, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 148, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 148, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 148, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 148, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 149, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 151, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 151, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 151, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 151, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 151, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 151, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 151, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 151, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 151, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 151, }, Token { kind: String, lexeme: "'GETTABUP'", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "'EQ'", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "'SETTABUP'", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 155, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 155, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 155, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 155, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 155, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 156, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 156, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 156, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 156, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 156, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 156, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 156, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 156, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 156, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 156, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 157, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 157, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 158, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 158, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 158, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 159, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 159, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 159, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 159, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 159, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 159, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 159, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 160, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 162, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 162, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 162, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 162, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 162, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 163, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 163, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 163, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 163, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 163, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 163, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 163, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 164, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 164, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 165, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 165, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 165, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 166, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 166, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 166, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 166, }, Token { kind: GreaterThanOrEqual, lexeme: ">=", computed_lexeme: None, line: 166, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 166, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 166, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 166, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 166, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "l", computed_lexeme: None, line: 166, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 166, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 166, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 172, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 172, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 172, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 172, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 172, }, Token { kind: ElseIf, lexeme: "elseif", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 173, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 173, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 173, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 173, }, Token { kind: ElseIf, lexeme: "elseif", computed_lexeme: None, line: 174, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 174, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 174, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 174, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 174, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 175, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 176, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 176, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 176, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 176, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 177, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 178, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 179, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'EQ'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'EQ'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'EQ'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'EQ'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'JMP'", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: String, lexeme: "'RETURN'", computed_lexeme: None, line: 180, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 182, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 182, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 183, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 183, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 183, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 183, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 183, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 183, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 183, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 183, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 183, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 183, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 183, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 183, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 183, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 184, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 184, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 184, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 185, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 185, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 185, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 185, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 185, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 185, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 185, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 185, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 186, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 186, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 186, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 186, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 186, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 187, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 188, }, Token { kind: Identifier, lexeme: "checkequal", computed_lexeme: None, line: 190, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 190, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 191, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 191, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 191, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 191, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 191, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 191, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 191, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 191, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 191, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 191, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 191, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 191, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 191, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 192, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 192, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 192, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 193, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 193, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 193, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 194, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 194, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 194, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 194, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 194, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 194, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 194, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 194, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 194, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 195, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 195, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 195, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 195, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 195, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 196, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 197, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 198, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 200, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 200, }, ]