--- source: src/main.rs expression: scanned input_file: test-data/lua5.1-tests/vararg.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 1, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 1, }, Token { kind: String, lexeme: "'testing vararg'", computed_lexeme: None, line: 1, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 3, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 3, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 3, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 3, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 5, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 5, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 5, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 5, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 6, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 6, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 6, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 6, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 6, }, Token { kind: String, lexeme: "'table'", computed_lexeme: None, line: 6, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 7, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 7, }, Token { kind: String, lexeme: "'number'", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 8, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 8, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 8, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 8, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 8, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 8, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 8, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 8, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 8, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 8, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 8, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 8, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 8, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 8, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 9, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 9, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 10, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 12, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 12, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 12, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 13, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 13, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 13, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 13, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 13, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 14, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 14, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 14, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 14, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 14, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 15, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 15, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 15, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 15, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 15, }, Token { kind: LeftBracket, 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: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 15, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 15, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 15, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 15, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 16, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 16, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 16, }, Token { kind: Number, lexeme: "55", computed_lexeme: Some( "55", ), line: 16, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 16, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 17, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 17, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 18, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "vararg", computed_lexeme: None, line: 20, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 20, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 20, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 20, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 20, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 20, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 22, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "args", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "args", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "args", computed_lexeme: None, line: 22, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "n", 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: End, lexeme: "end", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 24, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 24, }, 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: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 24, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), 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: "f", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 25, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 26, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Number, lexeme: "45", computed_lexeme: Some( "45", ), line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 26, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Number, lexeme: "45", computed_lexeme: Some( "45", ), line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 26, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 28, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 28, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 28, }, Token { kind: Number, lexeme: "55", computed_lexeme: Some( "55", ), line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 29, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 29, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "c12", 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: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 29, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 29, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 29, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 29, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 29, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 30, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "55", computed_lexeme: Some( "55", ), line: 30, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 30, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 31, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 31, }, Token { kind: RightBrace, 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: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 32, }, Token { kind: Number, lexeme: "55", computed_lexeme: Some( "55", ), line: 32, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 32, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 32, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 33, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 33, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 33, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 33, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 33, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 33, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 33, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 33, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 33, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 33, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 33, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 33, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 34, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 34, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 34, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 35, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 35, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 35, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 35, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 35, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 36, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "vararg", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "next", computed_lexeme: None, line: 36, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 36, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 36, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 36, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 36, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 36, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 36, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 36, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 37, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "next", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, 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: "a", computed_lexeme: None, line: 38, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 38, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 38, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 38, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 38, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 38, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 38, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 38, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 38, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 38, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 38, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 38, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 38, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 39, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "vararg", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "c12", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 39, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 39, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 39, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 40, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 40, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 40, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 40, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 40, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 40, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "55", computed_lexeme: Some( "55", ), line: 40, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 40, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 40, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 40, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 40, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 41, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 41, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 41, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 41, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 41, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 42, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 42, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 44, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 44, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 44, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 45, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "self", computed_lexeme: None, line: 45, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 45, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 45, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 45, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 45, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 45, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 45, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 46, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 46, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 46, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 49, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 49, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 49, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 50, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 50, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 50, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 51, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 51, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 51, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 51, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 51, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "0.3", computed_lexeme: Some( "0.3", ), line: 51, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 51, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 51, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 51, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "more", computed_lexeme: None, line: 54, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 54, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 54, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 54, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 55, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 55, }, Token { kind: Number, lexeme: "1.3", computed_lexeme: Some( "1.3", ), line: 55, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "more", computed_lexeme: None, line: 55, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 55, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 55, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 55, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 55, }, Token { kind: Number, lexeme: "5.3", computed_lexeme: Some( "5.3", ), line: 55, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "more", computed_lexeme: None, line: 56, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 56, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 56, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 56, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 56, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "0.3", computed_lexeme: Some( "0.3", ), line: 56, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 56, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "more", computed_lexeme: None, line: 56, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 56, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 56, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 56, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 56, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 56, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 57, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 59, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 59, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 59, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 59, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 60, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "1.3", computed_lexeme: Some( "1.3", ), line: 60, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 60, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "2.3", computed_lexeme: Some( "2.3", ), line: 60, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 60, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "3.3", computed_lexeme: Some( "3.3", ), line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 63, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 64, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 66, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 66, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 66, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 67, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 67, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 67, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 68, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 68, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 68, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 68, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 68, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "call", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 69, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "max", computed_lexeme: None, line: 69, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, 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: Function, lexeme: "function", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "oneless", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 76, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 76, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 76, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 76, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 76, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 78, }, Token { kind: Comma, 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: TripleDot, lexeme: "...", computed_lexeme: None, line: 78, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 79, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 79, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 80, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 80, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 80, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 80, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 80, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 80, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 81, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 81, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 81, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 81, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 82, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 82, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 82, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 82, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 82, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "oneless", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "oneless", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "oneless", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 84, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 85, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 85, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 85, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 85, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 85, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 86, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 86, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 86, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 86, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 86, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 86, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 87, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 87, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 87, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 87, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 87, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 87, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 88, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "a", 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: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 91, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 92, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 92, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 92, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 92, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 92, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 92, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 94, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 94, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 94, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 94, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 94, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 94, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 94, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 94, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 95, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 95, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 95, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 95, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 95, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 95, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 95, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 95, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 95, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 95, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 95, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 95, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 95, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "e", computed_lexeme: None, line: 95, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 95, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 95, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 99, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 99, }, Token { kind: MultilineString, lexeme: "[[ return {...} ]]", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 100, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 100, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 100, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 100, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 101, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 101, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 101, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 101, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 101, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 101, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 101, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 101, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 101, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 101, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 101, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 101, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 101, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 104, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 104, }, Token { kind: MultilineString, lexeme: "[[\n local x = {...}\n for i=1,select('#', ...) do assert(x[i] == select(i, ...)) end\n assert(x[select('#', ...)+1] == nil)\n return true\n]]", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "\"b\"", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 111, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 114, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 114, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 114, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 114, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 114, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 114, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 114, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 114, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "40", computed_lexeme: Some( "40", ), line: 114, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 114, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 114, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 115, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 115, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 115, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 115, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 115, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 115, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 115, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 115, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 115, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "40", computed_lexeme: Some( "40", ), line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 116, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 116, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 116, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 116, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "next", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 117, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 118, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 118, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 118, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 118, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 118, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 119, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 119, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 119, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 119, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 119, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 119, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 119, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 119, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 119, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 119, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 119, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 119, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 119, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 119, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 119, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 119, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 120, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 120, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 120, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 120, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 120, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 120, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 120, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 120, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 120, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 120, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 120, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 120, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 120, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 120, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 120, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 121, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 121, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 121, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 121, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 121, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 121, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 121, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 121, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 121, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 121, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 121, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 121, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 121, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 121, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 121, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 121, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 121, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 121, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 121, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: Number, lexeme: "10000", computed_lexeme: Some( "10000", ), line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 123, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 123, }, Token { kind: Number, lexeme: "10000", computed_lexeme: Some( "10000", ), line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 125, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 125, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 125, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 125, }, ]