--- source: src/main.rs expression: scanned input_file: test-data/lua5.1-tests/closure.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 1, }, Token { kind: String, lexeme: "\"testing closures and coroutines\"", computed_lexeme: None, line: 1, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 3, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 3, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 3, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 3, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 3, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 3, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 3, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 3, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 3, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 4, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 4, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 4, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 5, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 5, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 5, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 5, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 6, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 6, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 6, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 6, }, Token { kind: Number, lexeme: "1000", computed_lexeme: Some( "1000", ), line: 6, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 6, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 7, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 7, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 7, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 9, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 9, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 9, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 9, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 9, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 9, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 9, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 9, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 9, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 9, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 9, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 9, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 9, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 9, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 9, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 9, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 9, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 9, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 9, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 10, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 11, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "dummy", computed_lexeme: None, line: 12, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 12, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 12, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 12, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 12, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 12, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 12, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 12, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 13, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 13, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 14, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "dummy", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 14, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 14, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 14, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "a", 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: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 16, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 16, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 16, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 16, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 16, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 16, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 16, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 16, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 17, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 17, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 18, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 18, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 18, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 18, }, Token { kind: Number, lexeme: "12", computed_lexeme: Some( "12", ), line: 18, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 18, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 19, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", 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: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 24, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 24, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 24, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 24, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 24, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 24, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 24, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 24, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 24, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "__mode", computed_lexeme: None, line: 25, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 25, }, Token { kind: String, lexeme: "'kv'", computed_lexeme: None, line: 25, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 26, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 26, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 26, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 26, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 26, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 27, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 27, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 27, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 27, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 28, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 28, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 28, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 28, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 30, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 30, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 30, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 31, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 31, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 31, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "A", 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: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 32, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 32, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 32, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 33, }, Token { kind: LeftParen, 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: Identifier, lexeme: "a", computed_lexeme: None, line: 34, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 34, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 34, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 34, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 34, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 34, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 34, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 34, }, Token { kind: Plus, lexeme: "+", 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: "a", computed_lexeme: None, line: 35, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 35, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 35, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 35, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 35, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 36, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 36, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 36, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 36, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 36, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 37, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 37, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 37, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 37, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 37, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "A", 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: "getmetatable", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "__mode", computed_lexeme: None, line: 38, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 38, }, Token { kind: String, lexeme: "'kv'", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 39, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 39, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 39, }, Token { kind: Number, lexeme: "19", computed_lexeme: Some( "19", ), line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 42, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 42, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 42, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 42, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 43, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 43, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 43, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 44, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 44, }, Token { kind: RightBracket, lexeme: "]", 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: Identifier, lexeme: "set", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 44, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 44, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 44, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 44, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 45, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 45, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 45, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 45, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 47, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 47, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 47, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 47, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 47, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 48, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 48, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 48, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 48, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "set", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 49, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 49, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 49, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 49, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 49, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 49, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 49, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 49, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 49, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 49, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 50, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 50, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 50, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "set", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", 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: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 51, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 51, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 51, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 52, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 52, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 52, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 52, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "a", 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: RightBrace, lexeme: "}", computed_lexeme: None, line: 54, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 55, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "pairs", computed_lexeme: None, line: 55, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 55, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 55, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 55, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 56, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 56, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "set", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 56, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 56, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 56, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 56, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 56, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 57, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 57, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 57, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 58, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 58, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 58, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 58, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 58, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 58, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 60, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 60, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 60, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "set", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 60, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 60, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 61, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 61, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 61, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 61, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 61, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 62, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 62, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 62, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 62, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 62, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 63, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 63, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 63, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 63, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 63, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 63, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 64, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 64, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 64, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 64, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 64, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 65, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 65, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 65, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 65, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "set", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 65, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 66, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 66, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 66, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 66, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 66, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 66, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "get", computed_lexeme: None, line: 66, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 66, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 67, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 67, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 67, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "\"b\"", computed_lexeme: None, line: 67, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 67, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 71, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 71, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 71, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 72, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 72, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 72, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 72, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 72, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 72, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 72, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 73, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 75, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 75, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 75, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 75, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 75, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 75, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 75, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 77, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 77, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "pairs", computed_lexeme: None, line: 77, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 77, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 77, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 77, }, Token { kind: String, lexeme: "\"b\"", computed_lexeme: None, line: 77, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 77, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 78, }, Token { kind: Equals, 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: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 78, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 78, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 79, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 80, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 81, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 81, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 81, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 81, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "f", 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: RightBrace, lexeme: "}", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 82, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 82, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 82, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 82, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 87, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "x", 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: "first", computed_lexeme: None, line: 89, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 89, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 89, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 90, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 90, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 90, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 91, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 91, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 91, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 91, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "first", computed_lexeme: None, line: 91, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 91, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 91, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 91, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 92, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 92, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 93, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 93, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 93, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "op", computed_lexeme: None, line: 93, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 93, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 93, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "op", computed_lexeme: None, line: 94, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 94, }, Token { kind: String, lexeme: "'set'", computed_lexeme: None, line: 94, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 94, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 95, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 95, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 95, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 96, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 97, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 97, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 98, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 99, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 100, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 100, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 100, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 100, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 100, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 100, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 100, }, Token { kind: ElseIf, lexeme: "elseif", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "x", 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: Then, lexeme: "then", computed_lexeme: None, line: 101, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 101, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 102, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 102, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 102, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 102, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 102, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 102, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 102, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 102, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "first", computed_lexeme: None, line: 104, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 104, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 104, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 105, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 106, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 108, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 108, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 108, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 108, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 108, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 109, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 109, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 110, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 110, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 110, }, Token { kind: String, lexeme: "'get'", computed_lexeme: None, line: 110, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 110, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 110, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 110, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'set'", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "'get'", computed_lexeme: None, line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 111, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 111, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 112, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 112, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 112, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 115, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 116, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 116, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 116, }, Token { kind: String, lexeme: "'get'", computed_lexeme: None, line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 116, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "'set'", computed_lexeme: None, line: 117, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 117, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "'get'", 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: Number, lexeme: "14", computed_lexeme: Some( "14", ), line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 120, }, Token { kind: Identifier, lexeme: "w", computed_lexeme: None, line: 120, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 123, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 123, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 124, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 124, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "z", computed_lexeme: None, line: 124, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 124, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "w", computed_lexeme: None, line: 124, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 124, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 124, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "z", computed_lexeme: None, line: 124, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 124, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 125, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 126, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 128, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 128, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 128, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 128, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "w", computed_lexeme: None, line: 129, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 129, }, Token { kind: Number, lexeme: "1.345", computed_lexeme: Some( "1.345", ), line: 129, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 130, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 130, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 130, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 130, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 130, }, Token { kind: Number, lexeme: "60", computed_lexeme: Some( "60", ), line: 130, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "w", computed_lexeme: None, line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 134, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 134, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 134, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 134, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 135, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 135, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 135, }, Token { kind: Repeat, lexeme: "repeat", computed_lexeme: None, line: 136, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 137, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 137, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 137, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 137, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 138, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 138, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 138, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 138, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 138, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 138, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 138, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 138, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 138, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 138, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 138, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 138, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 138, }, Token { kind: Until, lexeme: "until", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 139, }, Token { kind: GreaterThan, lexeme: ">", computed_lexeme: None, line: 139, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 139, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 139, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 139, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 139, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 140, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 140, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 140, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 140, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 140, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 140, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 140, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 140, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 140, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 142, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 142, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 146, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "t", 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: Local, lexeme: "local", computed_lexeme: None, line: 147, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "c", 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: Comma, lexeme: ",", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "assert", 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: String, lexeme: "\"test\"", computed_lexeme: None, line: 147, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 147, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 147, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 147, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 148, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\"test\"", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 148, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 148, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\"FAILED\"", computed_lexeme: None, line: 148, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 148, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 149, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 149, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 149, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 150, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 150, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 150, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 150, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 150, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 150, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 150, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 150, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 152, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 157, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 157, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 159, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 159, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 164, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 164, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 164, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 164, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 164, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 164, }, Token { kind: Identifier, lexeme: "setfenv", computed_lexeme: None, line: 165, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 165, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 165, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 165, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 166, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", 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: Identifier, lexeme: "assert", computed_lexeme: None, line: 167, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 167, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 167, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 169, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 169, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 169, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 169, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 169, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 169, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 169, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 170, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 170, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 170, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 173, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 173, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 173, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 173, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 173, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 174, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 174, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 174, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 174, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 174, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 175, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 175, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 175, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 175, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 175, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 175, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 176, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 176, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 177, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 177, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 177, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 177, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 177, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 182, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 182, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 182, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 182, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 183, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 183, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 183, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 183, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 183, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 183, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 183, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 183, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 183, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 183, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 183, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 184, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 184, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "ipairs", computed_lexeme: None, line: 184, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 184, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 184, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 184, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 185, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 185, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 185, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 185, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 185, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 185, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 186, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 187, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 189, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 189, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 189, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 189, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 190, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 190, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 190, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 190, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 191, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 191, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 191, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 191, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 191, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 191, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 192, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 192, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 192, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 192, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 192, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 192, }, Token { kind: String, lexeme: "\"running\"", computed_lexeme: None, line: 192, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 192, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 193, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 193, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 193, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 193, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 193, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 194, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 194, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 194, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 194, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 194, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 194, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 194, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 195, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 195, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 195, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 195, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 195, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 195, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 195, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 195, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 195, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 195, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 195, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 195, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 196, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 197, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 197, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 197, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 197, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 197, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 198, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 200, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 200, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 200, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 200, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 200, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 200, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 200, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 200, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 201, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 201, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 201, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 201, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 201, }, Token { kind: String, lexeme: "\"thread\"", computed_lexeme: None, line: 201, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 201, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 201, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 201, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 201, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 201, }, Token { kind: String, lexeme: "\"suspended\"", computed_lexeme: None, line: 201, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 202, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 202, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 202, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 202, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 202, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 202, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 202, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 202, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 202, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 202, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 202, }, Token { kind: String, lexeme: "\"thread\"", computed_lexeme: None, line: 202, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 202, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 202, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 203, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 203, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 203, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 203, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 204, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 204, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 204, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 204, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 204, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 204, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 204, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 204, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "'c'", computed_lexeme: None, line: 204, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 204, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 205, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 205, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 205, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 205, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 205, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 205, }, Token { kind: String, lexeme: "\"suspended\"", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 206, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 206, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 206, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 206, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 206, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 206, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 206, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 207, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 207, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 207, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 207, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 207, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 207, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 207, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 207, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 207, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 208, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 208, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 208, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 208, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 208, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 208, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 208, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 208, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 209, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 209, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 209, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 209, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 209, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 209, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 210, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 210, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 210, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 210, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 210, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 210, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 210, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 210, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 210, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 210, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 210, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 211, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 211, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 211, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 211, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 211, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 211, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 211, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 211, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 211, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 211, }, Token { kind: String, lexeme: "'c'", computed_lexeme: None, line: 211, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 211, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 211, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 211, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 212, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 212, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 212, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 212, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 212, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 212, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 212, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 212, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 212, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 212, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 213, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 213, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 213, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 213, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 213, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 213, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 213, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 214, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 214, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 214, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 214, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 214, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 214, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 214, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 214, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 214, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 214, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 214, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 214, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 214, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 214, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 215, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 215, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 215, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 215, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 215, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 215, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 215, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 216, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 216, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 216, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 216, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 216, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 216, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 216, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 217, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 217, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 217, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 217, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 217, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 217, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 221, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 221, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 221, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 221, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 221, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 221, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 221, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 221, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 221, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 222, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 222, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 222, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 222, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 222, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 222, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 222, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 223, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 223, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 223, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 224, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 225, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 226, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 226, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 227, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 227, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 228, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 228, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 228, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 228, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 228, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 228, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 228, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 228, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 228, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 228, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 228, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 228, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 228, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 228, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 229, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 229, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 229, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 229, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 229, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 229, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 229, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 229, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 229, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 232, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 232, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 232, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 233, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 233, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 233, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 234, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 234, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 234, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 234, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 234, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 234, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 234, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 237, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 237, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 237, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 237, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 237, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 238, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 238, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 238, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 239, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 239, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 239, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 239, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 239, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 240, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 240, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 240, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 240, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 240, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 240, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 240, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 240, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 240, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 240, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 240, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 241, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 241, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 241, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 242, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 245, }, Token { kind: Identifier, lexeme: "gen", computed_lexeme: None, line: 245, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 245, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 245, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 245, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 246, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 246, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 246, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 246, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 246, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 246, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 246, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 246, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 247, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 247, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 247, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 247, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 247, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 247, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 247, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 247, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 247, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 248, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 248, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 249, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 252, }, Token { kind: Identifier, lexeme: "filter", computed_lexeme: None, line: 252, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 252, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 252, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 252, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 252, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 252, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 253, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 254, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 254, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 254, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 255, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 255, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 255, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 255, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 256, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 256, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 256, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 256, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 256, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 256, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 256, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 257, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "mod", computed_lexeme: None, line: 257, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 257, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 257, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 257, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 257, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 257, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 257, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 257, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 257, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 257, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 257, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 258, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 259, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 259, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 260, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 262, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 262, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 262, }, Token { kind: Identifier, lexeme: "gen", computed_lexeme: None, line: 262, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 262, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 262, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 262, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 263, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 263, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 263, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 263, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 263, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 264, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 264, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 264, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 265, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 265, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 265, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 265, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 266, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 266, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 266, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 266, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 266, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 266, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 266, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 267, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "insert", computed_lexeme: None, line: 267, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 267, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 267, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 268, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "filter", computed_lexeme: None, line: 268, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 268, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 268, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 268, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 269, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 271, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 271, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 271, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 271, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 271, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 271, }, Token { kind: Number, lexeme: "25", computed_lexeme: Some( "25", ), line: 271, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 271, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 271, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 271, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 271, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 271, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 271, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 271, }, Token { kind: Number, lexeme: "97", computed_lexeme: Some( "97", ), line: 271, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 271, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 275, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 275, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 275, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 275, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 276, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 276, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 276, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 276, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 276, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 276, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 276, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 276, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 276, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 276, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 276, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "linedefined", computed_lexeme: None, line: 276, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 276, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 276, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 277, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 277, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 277, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 277, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 277, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 277, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 277, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 277, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 277, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 277, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 277, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "linedefined", computed_lexeme: None, line: 277, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 278, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 278, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 278, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 278, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 278, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 278, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 279, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 279, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 279, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 279, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 280, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 282, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 282, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 282, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 282, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 282, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 283, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 283, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 283, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 283, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 284, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 284, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 284, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 284, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 284, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 284, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 284, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 284, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 285, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 285, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 285, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 285, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 285, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 285, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 285, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 285, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 285, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 286, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 286, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 286, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 286, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 286, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 286, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 286, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 286, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 286, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 288, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 288, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 288, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 288, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 289, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 289, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 289, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 289, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 289, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 290, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 290, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 290, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 290, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 290, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 290, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 290, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 290, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 291, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 291, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 291, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 291, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 291, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 292, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 292, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 292, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 292, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 292, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 292, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 292, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 292, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 292, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 292, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 292, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 293, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 293, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 293, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 293, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 293, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 294, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 294, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 294, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 294, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 294, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 294, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 298, }, Token { kind: Identifier, lexeme: "all", computed_lexeme: None, line: 298, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 298, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 298, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 298, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 298, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 298, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 298, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 298, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 299, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 299, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 299, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 299, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 299, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 299, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 299, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 300, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 301, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 301, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 301, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 301, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 302, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 302, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 302, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "all", computed_lexeme: None, line: 303, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 303, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 303, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 303, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 303, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 303, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 303, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 303, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 303, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 303, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 304, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 305, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 306, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 308, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 308, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 308, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 309, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 309, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 309, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 309, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 309, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 309, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "all", computed_lexeme: None, line: 309, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 309, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 309, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 309, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 309, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 309, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 309, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 309, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 309, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 309, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 309, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 310, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 310, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 310, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 310, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 310, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 311, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 312, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 312, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 312, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 312, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 312, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 312, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 312, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 316, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 316, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 316, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 316, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 316, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 316, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 316, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 316, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 316, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 316, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 316, }, Token { kind: Identifier, lexeme: "__mode", computed_lexeme: None, line: 316, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 316, }, Token { kind: String, lexeme: "\"kv\"", computed_lexeme: None, line: 316, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 316, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 316, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 317, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 317, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 317, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 317, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 317, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 317, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 317, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 318, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 318, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 318, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 319, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 319, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 319, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 319, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 319, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 319, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 319, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 319, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 319, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 319, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 320, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 320, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 320, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 321, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 321, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 321, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 321, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 322, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 322, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 322, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 322, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 322, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 322, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 323, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 324, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 324, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 326, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 326, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 326, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 326, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 326, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 326, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 328, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 328, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 328, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 328, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 328, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 328, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 329, }, Token { kind: Number, lexeme: "21", computed_lexeme: Some( "21", ), line: 329, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 329, }, Token { kind: Number, lexeme: "32", computed_lexeme: Some( "32", ), line: 329, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 330, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 330, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 330, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 331, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 331, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 331, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 332, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 332, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 332, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 332, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 332, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 332, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 332, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 332, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 333, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 333, }, Token { kind: Number, lexeme: "43", computed_lexeme: Some( "43", ), line: 333, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 333, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 333, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 333, }, Token { kind: Number, lexeme: "53", computed_lexeme: Some( "53", ), line: 333, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 333, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 338, }, Token { kind: Identifier, lexeme: "co_func", computed_lexeme: None, line: 338, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 338, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 338, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 338, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 339, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 339, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 339, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 339, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 339, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 339, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 339, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 339, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 339, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 339, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 340, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 340, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 340, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 340, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 340, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 340, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 340, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 341, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 341, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 341, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 341, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 341, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 341, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 341, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 341, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 341, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 341, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 341, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 342, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 342, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 343, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 345, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 345, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 345, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 345, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 345, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 345, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 345, }, Token { kind: Identifier, lexeme: "co_func", computed_lexeme: None, line: 345, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 345, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 346, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 346, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 346, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 346, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 346, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 346, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 347, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 347, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 347, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 347, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 347, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 347, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 347, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 348, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 348, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 348, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 348, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 348, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 348, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 348, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 348, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 348, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 348, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 348, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 348, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 348, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 349, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 349, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 349, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 349, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 349, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 349, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 349, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 349, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 349, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 349, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 349, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 349, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 349, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 352, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 352, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 352, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 352, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 352, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 352, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 352, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 353, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 353, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 353, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 353, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 354, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 354, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 354, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 354, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 354, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 354, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 354, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 354, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 354, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 354, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 354, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 355, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 355, }, Token { kind: String, lexeme: "'x'", computed_lexeme: None, line: 355, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 355, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 356, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 356, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 358, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 358, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 358, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 358, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 358, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 358, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 360, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 360, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 360, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 360, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 360, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 360, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 360, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 360, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 361, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 361, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 361, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 361, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 361, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 361, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 361, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 361, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 362, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 362, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 362, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 362, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 362, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 362, }, Token { kind: Number, lexeme: "12", computed_lexeme: Some( "12", ), line: 362, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 362, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 365, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 365, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 365, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "Message", computed_lexeme: None, line: 366, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: String, lexeme: "'\\a\\n >>> testC not active: skipping yield/hook tests <<<\\n\\a'", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 367, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 369, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 371, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 371, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 371, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 371, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 371, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 371, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 371, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 372, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 372, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 372, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 372, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 372, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 372, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 373, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 373, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 373, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 373, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 373, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 373, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 373, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 374, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 374, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 374, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 374, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 374, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 374, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 374, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 374, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 375, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 376, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 378, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 378, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 378, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 378, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 378, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 380, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 380, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 380, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 380, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 380, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 380, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 380, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 380, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 380, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 380, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 381, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 381, }, Token { kind: Identifier, lexeme: "setyhook", computed_lexeme: None, line: 381, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 381, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 381, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 381, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 381, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 381, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 382, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 382, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 382, }, Token { kind: String, lexeme: "\"A\"", computed_lexeme: None, line: 382, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 382, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 382, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 382, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 383, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 383, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 385, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 385, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 385, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 385, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 385, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 385, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 386, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 386, }, Token { kind: Identifier, lexeme: "setyhook", computed_lexeme: None, line: 386, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 386, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 386, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 386, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 386, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 386, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 387, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 387, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 387, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 387, }, Token { kind: String, lexeme: "\"B\"", computed_lexeme: None, line: 387, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 387, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 387, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 387, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 388, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 388, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 390, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 390, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 390, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 390, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 390, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 390, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 390, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 391, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 391, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 391, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 391, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 391, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 391, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 391, }, Token { kind: String, lexeme: "\"A\"", computed_lexeme: None, line: 391, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 391, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 391, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 391, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 391, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 391, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 391, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 391, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 391, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 392, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 392, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 392, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 392, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 392, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 392, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 392, }, Token { kind: String, lexeme: "\"B\"", computed_lexeme: None, line: 392, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 392, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 392, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 392, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 392, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 392, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 392, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 392, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 392, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 393, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 395, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 395, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 395, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 395, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 395, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 395, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 395, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 395, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 396, }, Token { kind: Identifier, lexeme: "_X", computed_lexeme: None, line: 400, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 400, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 400, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 400, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 400, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 400, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 400, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 400, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 400, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 401, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 401, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 401, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 401, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 402, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 402, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 402, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 402, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 402, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 402, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 402, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 402, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 402, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 402, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 402, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 402, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 403, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 403, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 403, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 403, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 403, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 404, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 404, }, Token { kind: Identifier, lexeme: "_X", computed_lexeme: None, line: 406, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 406, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 406, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 410, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 410, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 410, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 410, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 410, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 410, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 411, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 411, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 411, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 411, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 411, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 411, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 411, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 411, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 411, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 412, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 412, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 412, }, Token { kind: String, lexeme: "\"return a\"", computed_lexeme: None, line: 412, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 412, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 412, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 412, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 413, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 413, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 415, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 415, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 415, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 415, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 415, }, Token { kind: Number, lexeme: "15", computed_lexeme: Some( "15", ), line: 415, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 415, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 416, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 416, }, Token { kind: Identifier, lexeme: "setfenv", computed_lexeme: None, line: 416, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 416, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 416, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 416, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 416, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 416, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 417, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 417, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "getfenv", computed_lexeme: None, line: 417, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 417, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 417, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 417, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 417, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 418, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 418, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 418, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 418, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 418, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 418, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 418, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 418, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 418, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 418, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 418, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 419, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "select", computed_lexeme: None, line: 419, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 419, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 419, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 419, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 419, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 419, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 419, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 419, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 419, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 419, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 419, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 422, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 422, }, ]