--- source: src/main.rs expression: scanned input_file: test-data/lua5.2-tests/coroutine.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 1, }, Token { kind: String, lexeme: "\"testing coroutines\"", computed_lexeme: None, line: 1, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 3, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "require", computed_lexeme: None, line: 3, }, Token { kind: String, lexeme: "'debug'", computed_lexeme: None, line: 3, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 5, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "main", computed_lexeme: None, line: 7, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "ismain", computed_lexeme: None, line: 7, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 7, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 8, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 8, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "main", computed_lexeme: None, line: 8, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 8, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 8, }, Token { kind: String, lexeme: "\"thread\"", computed_lexeme: None, line: 8, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "ismain", computed_lexeme: None, line: 8, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 9, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 9, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 9, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 9, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "main", computed_lexeme: None, line: 9, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 9, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 10, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 10, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 10, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 10, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 10, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 10, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 10, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 16, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 16, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 16, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 16, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 17, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 17, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 17, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 17, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 17, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 17, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 18, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 18, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 18, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 18, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 19, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "t1", computed_lexeme: None, line: 19, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 19, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 20, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "t2", computed_lexeme: None, line: 20, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 20, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 20, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 20, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 20, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 21, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 24, }, Token { kind: Dot, lexeme: ".", 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: Nil, lexeme: "nil", computed_lexeme: None, line: 24, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 26, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 26, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 26, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 27, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 27, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 27, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 27, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 28, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 28, }, Token { kind: String, lexeme: "\"running\"", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 29, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 29, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 29, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 29, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 29, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 30, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 30, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 30, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 31, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 31, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 31, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 32, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 33, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 33, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 33, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 33, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 36, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 36, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "foo", 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: "type", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "\"thread\"", computed_lexeme: None, line: 37, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 37, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "\"suspended\"", 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: "string", computed_lexeme: None, line: 38, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "tostring", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 38, }, Token { kind: String, lexeme: "\"thread\"", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 40, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 40, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 40, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 40, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 40, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 40, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 40, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: String, lexeme: "'c'", computed_lexeme: None, line: 40, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 40, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 41, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 41, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 41, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 41, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 41, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 41, }, Token { kind: String, lexeme: "\"suspended\"", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 42, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 42, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 43, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 43, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 43, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 44, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 44, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 44, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 44, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 44, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 44, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 45, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 45, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 46, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 46, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 46, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 46, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 47, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 47, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 47, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 47, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "'b'", computed_lexeme: None, line: 47, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 47, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "'c'", computed_lexeme: None, line: 47, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "d", 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: "s", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 48, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 48, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "eqtab", computed_lexeme: None, line: 49, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 49, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 49, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 49, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 49, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 49, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 49, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 50, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 50, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 50, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 50, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 50, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 50, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 50, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 50, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 50, }, Token { kind: Nil, lexeme: "nil", 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: "coroutine", computed_lexeme: None, line: 51, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 51, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 52, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 52, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "\"xuxu\"", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 53, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 53, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 53, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 57, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "i", 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: "coroutine", computed_lexeme: None, line: 57, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 58, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 58, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 58, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 58, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 58, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 58, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 58, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 59, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 59, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 59, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 59, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 59, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 60, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 61, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 62, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 62, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 64, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 64, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 64, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 64, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 64, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 64, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 64, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 64, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 65, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 65, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 65, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "'xuxu'", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 68, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 68, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 68, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 69, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 70, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 70, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 73, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 73, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "pf", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 74, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 74, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 74, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 75, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 75, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 75, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 76, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 76, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 77, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 77, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 77, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 78, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "gen", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 82, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 83, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 83, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 83, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 83, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 83, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 84, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 84, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 85, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "filter", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 88, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 88, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 88, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 89, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 89, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 89, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 89, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 89, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, 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: Local, lexeme: "local", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 91, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 92, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 92, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 92, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 92, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 92, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 92, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 93, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "fmod", computed_lexeme: None, line: 93, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 93, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 93, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 93, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 93, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 93, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 93, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 93, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 93, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 93, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 93, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 93, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 94, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 95, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 95, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 96, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 98, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "gen", computed_lexeme: None, line: 98, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 98, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 98, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 98, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 99, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 99, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 99, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 99, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 100, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 100, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 100, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 101, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 102, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 102, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 102, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 102, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 102, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 103, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "insert", computed_lexeme: None, line: 103, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 103, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 103, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 104, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "filter", computed_lexeme: None, line: 104, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 104, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 104, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 104, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 107, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 107, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 107, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 107, }, Token { kind: Number, lexeme: "25", computed_lexeme: Some( "25", ), line: 107, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 107, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 107, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 107, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 107, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 107, }, Token { kind: Number, lexeme: "97", computed_lexeme: Some( "97", ), line: 107, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 112, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 112, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 113, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 113, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 113, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 113, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 113, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 113, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 113, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 113, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 113, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 114, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 114, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 114, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 114, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 114, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 115, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 115, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 118, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 119, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 119, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 119, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 119, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 119, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 119, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 119, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 119, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 122, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 122, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 122, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 122, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "f1", computed_lexeme: None, line: 124, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 124, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 124, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 124, }, Token { kind: LeftParen, lexeme: "(", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 124, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 125, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 125, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 125, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 125, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 125, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 125, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 125, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 125, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 125, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 125, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 125, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 125, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 125, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 126, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 126, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 126, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 127, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 127, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 127, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 128, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 128, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 128, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 128, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 128, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 128, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 128, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 128, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 128, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 128, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 128, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 128, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 128, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 128, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 128, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 129, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 129, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 129, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 129, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 129, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 131, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 131, }, Token { kind: Identifier, lexeme: "f1", computed_lexeme: None, line: 133, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 133, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 133, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 134, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 134, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 134, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 134, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "f1", computed_lexeme: None, line: 134, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 134, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 134, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 134, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 134, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 134, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "r1", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "r2", computed_lexeme: None, line: 135, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 135, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "f1", computed_lexeme: None, line: 135, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 135, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 135, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 136, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "r1", computed_lexeme: None, line: 136, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 136, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "r2", computed_lexeme: None, line: 136, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 136, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 136, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 136, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 136, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 136, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 136, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 136, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 136, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 136, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 136, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 136, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 136, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 136, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 136, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 136, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 139, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 139, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 139, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 139, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 139, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 139, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 139, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 139, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 139, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "x", 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: Star, lexeme: "*", computed_lexeme: None, line: 140, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 140, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 142, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 142, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 142, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 142, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 142, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 142, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 142, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 142, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 142, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 143, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 143, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "xpcall", computed_lexeme: None, line: 143, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 143, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 143, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 143, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 143, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 143, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 143, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 143, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 143, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 144, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 146, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "co", 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: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 146, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 146, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 147, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 147, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 147, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 147, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 148, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 148, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 148, }, Token { kind: Number, lexeme: "240", computed_lexeme: Some( "240", ), line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "foo", 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: Identifier, lexeme: "assert", computed_lexeme: None, line: 153, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 153, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 153, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 153, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 153, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 153, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 153, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 153, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 153, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 153, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 153, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "linedefined", computed_lexeme: None, line: 153, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 153, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 153, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 154, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 154, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 154, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "linedefined", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 155, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 155, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 155, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 155, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 155, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 155, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 156, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 156, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 156, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 157, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "goo", 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: Identifier, lexeme: "foo", 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: End, lexeme: "end", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 160, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 160, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 160, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 160, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 161, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 161, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 161, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 161, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 161, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 161, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 161, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 161, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 162, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 162, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 162, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 162, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 163, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 163, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 163, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 163, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 163, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 165, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 165, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 165, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "goo", computed_lexeme: None, line: 165, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 165, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 166, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 166, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 166, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "x", 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: "a", computed_lexeme: None, line: 167, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 167, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 167, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 168, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 168, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 168, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "x", 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: Not, lexeme: "not", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 169, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 169, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 169, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 169, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 169, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "x", 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: String, lexeme: "\"dead\"", computed_lexeme: None, line: 169, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 170, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 170, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 170, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 170, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 170, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 171, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 171, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 171, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 171, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\"dead\"", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "all", 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: Comma, lexeme: ",", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 175, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 175, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 175, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 176, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 176, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 176, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 176, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 177, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 178, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 178, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 178, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 178, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 178, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 178, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 178, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 179, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 179, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 179, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 179, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 179, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 179, }, Token { kind: Identifier, lexeme: "all", computed_lexeme: None, line: 180, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 180, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 180, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 180, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 180, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 181, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 182, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 183, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 185, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 185, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 185, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 185, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 186, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 186, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 186, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 186, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 186, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 186, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "all", computed_lexeme: None, line: 186, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 186, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 186, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 186, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 186, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 186, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 186, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 186, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 186, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 186, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 186, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 186, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 187, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 187, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 187, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 187, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 187, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 188, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 189, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 189, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 189, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 189, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 189, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 189, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 189, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "C", 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: RightBrace, lexeme: "}", computed_lexeme: None, line: 193, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 193, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 193, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 193, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "__mode", computed_lexeme: None, line: 193, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 193, }, Token { kind: String, lexeme: "\"kv\"", computed_lexeme: None, line: 193, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 193, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 193, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 194, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 194, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 194, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 194, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 194, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 194, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 194, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 195, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 195, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 195, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 196, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 196, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 196, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 196, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 196, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 196, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 196, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 196, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 196, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 196, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 197, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 197, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 197, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 198, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 198, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 198, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 198, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 198, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 199, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 199, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 199, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 199, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 199, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 199, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 200, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 201, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 203, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 203, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 203, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 203, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 203, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 203, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 203, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 205, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "assert", 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: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 206, }, Token { kind: Number, lexeme: "21", computed_lexeme: Some( "21", ), line: 206, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 206, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 206, }, Token { kind: Number, lexeme: "32", computed_lexeme: Some( "32", ), line: 206, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 206, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 206, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 206, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 206, }, Token { kind: DoubleEquals, 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: "x", computed_lexeme: None, line: 207, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 207, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 207, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 208, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 208, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 209, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 209, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 209, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 209, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 209, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 209, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 209, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 210, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 210, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 210, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 210, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 210, }, Token { kind: Number, lexeme: "43", computed_lexeme: Some( "43", ), line: 210, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 210, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 210, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 210, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 210, }, Token { kind: Number, lexeme: "53", computed_lexeme: Some( "53", ), line: 210, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 210, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "co_func", computed_lexeme: None, line: 215, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 215, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 215, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 216, }, Token { kind: LeftParen, 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: "running", computed_lexeme: None, line: 216, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 216, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 216, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "current_co", 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: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 217, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "current_co", 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: False, lexeme: "false", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 218, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 218, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 218, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 218, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 218, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 218, }, Token { kind: Identifier, lexeme: "current_co", computed_lexeme: None, line: 218, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 218, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 218, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 218, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 218, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 219, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 219, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 220, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "co", 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: "create", computed_lexeme: None, line: 222, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "co_func", computed_lexeme: None, line: 222, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 222, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 223, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 223, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 223, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 223, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 224, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 224, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 224, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 224, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 224, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 225, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 225, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 225, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 225, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 225, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 225, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 225, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 225, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 226, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 226, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 226, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 226, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 226, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 226, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 226, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 226, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "co1", computed_lexeme: None, line: 230, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 230, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 230, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 230, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 230, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 230, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 230, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "co2", computed_lexeme: None, line: 230, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 230, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 230, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 230, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "co2", computed_lexeme: None, line: 231, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 231, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 231, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 231, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 231, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 231, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 231, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 231, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 231, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 232, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 232, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 232, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "co1", computed_lexeme: None, line: 232, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 232, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 232, }, Token { kind: String, lexeme: "'normal'", computed_lexeme: None, line: 232, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 233, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 233, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 233, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 233, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "co1", computed_lexeme: None, line: 233, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 233, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 234, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 234, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 234, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 234, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 234, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 235, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 235, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 237, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "b", 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: "resume", computed_lexeme: None, line: 237, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "co1", computed_lexeme: None, line: 237, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 238, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 238, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 238, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 238, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 238, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 239, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "status", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "co1", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 239, }, Token { kind: String, lexeme: "'dead'", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 242, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 242, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 242, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 242, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 242, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 242, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 242, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 242, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 242, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 242, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 243, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 243, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 243, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 243, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 243, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 243, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 243, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 247, }, Token { kind: Equals, lexeme: "=", 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: "create", computed_lexeme: None, line: 247, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 247, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 247, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 247, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 247, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 248, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 248, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 248, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 248, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 249, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 249, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 249, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 249, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 249, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 249, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 249, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 249, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 249, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 249, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 249, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 250, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 250, }, Token { kind: String, lexeme: "'x'", computed_lexeme: None, line: 250, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 250, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 251, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 251, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: Not, lexeme: "not", 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: "resume", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 255, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 255, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 255, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 255, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 255, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 255, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 255, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 256, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 256, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 256, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 256, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 256, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 256, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 256, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 256, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 256, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 256, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 257, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 257, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 257, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 257, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 257, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 257, }, Token { kind: Number, lexeme: "12", computed_lexeme: Some( "12", ), line: 257, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 257, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 260, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 260, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 260, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 260, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 261, }, Token { kind: Identifier, lexeme: "Message", computed_lexeme: None, line: 261, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 261, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 261, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 261, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 261, }, Token { kind: String, lexeme: "'\\a\\n >>> testC not active: skipping yield/hook tests <<<\\n\\a'", computed_lexeme: None, line: 261, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 261, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 262, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 263, }, Token { kind: String, lexeme: "\"testing yields inside hooks\"", computed_lexeme: None, line: 263, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 265, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 265, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 267, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 267, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 267, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 267, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 268, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 268, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 268, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 268, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 268, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 269, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 269, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 269, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 269, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 269, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 269, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 269, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 270, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 270, }, Token { kind: Star, lexeme: "*", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 270, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 270, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 270, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 270, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 270, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 270, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 271, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 272, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 274, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 274, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 274, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 274, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 274, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 274, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 276, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 276, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 276, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 276, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 276, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 276, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 277, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "sethook", computed_lexeme: None, line: 277, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 277, }, Token { kind: String, lexeme: "\"yield 0\"", computed_lexeme: None, line: 277, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 277, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 277, }, Token { kind: Comma, 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: Identifier, lexeme: "A", computed_lexeme: None, line: 278, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 278, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 278, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 278, }, Token { kind: String, lexeme: "\"A\"", computed_lexeme: None, line: 278, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 278, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 278, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 278, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 279, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 279, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 281, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 281, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 281, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 281, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 281, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 281, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 281, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 282, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "sethook", computed_lexeme: None, line: 282, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 282, }, Token { kind: String, lexeme: "\"yield 0\"", computed_lexeme: None, line: 282, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 282, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 282, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 282, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 282, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 282, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 283, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "fact", computed_lexeme: None, line: 283, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 283, }, Token { kind: String, lexeme: "\"B\"", computed_lexeme: None, line: 283, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 283, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 283, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 283, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 284, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 284, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 286, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 286, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 286, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 286, }, Token { kind: Or, lexeme: "or", 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: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 286, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 286, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 287, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 287, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 287, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 287, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 287, }, Token { kind: String, lexeme: "\"A\"", computed_lexeme: None, line: 287, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 287, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 287, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 287, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 287, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 287, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 287, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 287, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 288, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 288, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 288, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "turn", computed_lexeme: None, line: 288, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 288, }, Token { kind: String, lexeme: "\"B\"", computed_lexeme: None, line: 288, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 288, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 288, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 288, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 288, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 288, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 288, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 288, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 291, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "B", computed_lexeme: None, line: 291, }, Token { kind: Slash, lexeme: "/", computed_lexeme: None, line: 291, }, Token { kind: Identifier, lexeme: "A", computed_lexeme: None, line: 291, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 291, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 291, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 291, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 293, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 293, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "getinfo", computed_lexeme: None, line: 293, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 293, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 293, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 293, }, Token { kind: String, lexeme: "\"l\"", computed_lexeme: None, line: 293, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 293, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "currentline", computed_lexeme: None, line: 293, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 293, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 293, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 294, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 295, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 295, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 295, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 295, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 296, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 296, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 296, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 296, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 296, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 297, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 297, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 297, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 297, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 297, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 298, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 301, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 301, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 301, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 301, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 301, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 301, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 302, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "sethook", computed_lexeme: None, line: 302, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 302, }, Token { kind: String, lexeme: "\"setglobal X; yield 0\"", computed_lexeme: None, line: 302, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 302, }, Token { kind: String, lexeme: "\"l\"", computed_lexeme: None, line: 302, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 302, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 302, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 302, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 302, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 302, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 302, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 302, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 302, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 302, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 302, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 304, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 304, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 304, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 304, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 304, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 304, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 305, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 305, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 305, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 305, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 305, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 305, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 305, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 305, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 305, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 305, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 305, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 306, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 306, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 306, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 306, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 306, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 306, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 306, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 306, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 306, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 306, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 306, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 306, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 306, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 307, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 307, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 307, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 307, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 307, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 307, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 307, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 307, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 307, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 307, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 307, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 307, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 307, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 307, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 307, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 307, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 307, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 308, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 308, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 308, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 308, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 308, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 308, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 308, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 308, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 308, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 308, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 308, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 308, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 308, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 308, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 308, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 308, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 308, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 308, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 309, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "co", 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: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 309, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 309, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 309, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 312, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 312, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 312, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 312, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 312, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 312, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 313, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 313, }, Token { kind: Identifier, lexeme: "sethook", computed_lexeme: None, line: 313, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 313, }, Token { kind: String, lexeme: "\"yield 0\"", computed_lexeme: None, line: 313, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 313, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 313, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 313, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 313, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 313, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 313, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 313, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 313, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 313, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 313, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 313, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 313, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 313, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 313, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 315, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 315, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 315, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 315, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 315, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 315, }, 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: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 316, }, Token { kind: Repeat, lexeme: "repeat", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 317, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 317, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 317, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 317, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 317, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 317, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "co", 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: Until, lexeme: "until", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 317, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 317, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 317, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 318, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 318, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 318, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 318, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 318, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 318, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 318, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 318, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 320, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 320, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 320, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 320, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 320, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 320, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 320, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 320, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 320, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 321, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "sethook", computed_lexeme: None, line: 321, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"yield 0\"", computed_lexeme: None, line: 321, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 321, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 321, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 321, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 321, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "foo", computed_lexeme: None, line: 321, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 321, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 321, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 321, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 321, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 321, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 321, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 323, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 323, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 323, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 323, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 323, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 323, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 324, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 324, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 324, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 324, }, Token { kind: Repeat, lexeme: "repeat", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 325, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 325, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 325, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 325, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 325, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 325, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 325, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 325, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 325, }, Token { kind: Until, lexeme: "until", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 325, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 325, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 325, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 326, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 326, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 326, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 326, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 326, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 326, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 326, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 326, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 327, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 327, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 327, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 327, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 327, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 327, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 327, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 327, }, Token { kind: Identifier, lexeme: "XX", computed_lexeme: None, line: 327, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 327, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 327, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 330, }, Token { kind: String, lexeme: "\"testing coroutine API\"", computed_lexeme: None, line: 330, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 333, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 333, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 333, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 333, }, Token { kind: MultilineString, lexeme: "[[\n newthread # create thread\n pushvalue 2 # push body\n pushstring 'a a a' # push argument\n xmove 0 3 2 # move values to new thread\n resume -1, 1 # call it first time\n pushstatus\n xmove 3 0 0 # move results back to stack\n setglobal X # result\n setglobal Y # status\n pushvalue 2 # push body (to call it again)\n pushstring 'b b b'\n xmove 0 3 2\n resume -1, 1 # call it again\n pushstatus\n xmove 3 0 0\n return 1 # return result\n ]]", computed_lexeme: None, line: 350, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 350, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 350, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 350, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 350, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 350, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 350, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 350, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 350, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 350, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 350, }, Token { kind: String, lexeme: "'b b b'", computed_lexeme: None, line: 350, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 350, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 352, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "X", computed_lexeme: None, line: 352, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 352, }, Token { kind: String, lexeme: "'a a a'", computed_lexeme: None, line: 352, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "Y", computed_lexeme: None, line: 352, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 352, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 352, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 356, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 356, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 356, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 356, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 356, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 356, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 356, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 356, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 356, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 357, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 357, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 357, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 357, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 357, }, Token { kind: MultilineString, lexeme: "[[\n pushnum 10;\n pushnum 20;\n resume -3 2;\n pushstatus\n gettop;\n return 3]]", computed_lexeme: None, line: 363, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 363, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 363, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 363, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 364, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 364, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 365, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 365, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 365, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 365, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 365, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 365, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "C", computed_lexeme: None, line: 365, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 366, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 366, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 366, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 366, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 366, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 366, }, Token { kind: String, lexeme: "\"non%-suspended\"", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 367, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 367, }, Token { kind: String, lexeme: "\"ERRRUN\"", computed_lexeme: None, line: 367, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 367, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 367, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 367, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 367, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 369, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 369, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 369, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 369, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 369, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 369, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 369, }, Token { kind: MultilineString, lexeme: "[[\n rawgeti R 1 # get main thread\n pushnum 10;\n pushnum 20;\n resume -3 2;\n pushstatus\n gettop;\n return 4]]", computed_lexeme: None, line: 376, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 377, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 377, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 377, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 377, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 377, }, Token { kind: String, lexeme: "\"non%-suspended\"", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 378, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 378, }, Token { kind: String, lexeme: "\"ERRRUN\"", computed_lexeme: None, line: 378, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 378, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 378, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 378, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 378, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 378, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 382, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 382, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "newstate", computed_lexeme: None, line: 382, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 382, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 382, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 383, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 383, }, Token { kind: Identifier, lexeme: "loadlib", computed_lexeme: None, line: 383, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 383, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 383, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 383, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 385, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 385, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "doremote", computed_lexeme: None, line: 385, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 385, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 385, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 385, }, Token { kind: MultilineString, lexeme: "[[\n coroutine = require'coroutine';\n X = function (x) coroutine.yield(x, 'BB'); return 'CC' end;\n return 'ok']]", computed_lexeme: None, line: 388, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 388, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 388, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 390, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 390, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "pack", computed_lexeme: None, line: 390, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 390, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 390, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 390, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 390, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 390, }, Token { kind: MultilineString, lexeme: "[[\n rawgeti R 1 # get main thread\n pushstring 'XX'\n getglobal X # get function for body\n pushstring AA # arg\n resume 1 1 # 'resume' shadows previous stack!\n gettop\n setglobal T # top\n setglobal B # second yielded value\n setglobal A # fist yielded value\n rawgeti R 1 # get main thread\n pushnum 5 # arg (noise)\n resume 1 1 # after coroutine ends, previous stack is back\n pushstatus\n gettop\n return .\n ]]", computed_lexeme: None, line: 406, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 406, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 406, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 407, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 407, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 407, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 407, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 407, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 407, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 407, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 407, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 407, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 407, }, Token { kind: String, lexeme: "'XX'", computed_lexeme: None, line: 407, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 407, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 407, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 407, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 407, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 407, }, Token { kind: String, lexeme: "'CC'", computed_lexeme: None, line: 407, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 407, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 407, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 407, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 407, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 407, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 407, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 407, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 408, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 408, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 408, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 408, }, Token { kind: Identifier, lexeme: "doremote", computed_lexeme: None, line: 408, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 408, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 408, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 408, }, Token { kind: String, lexeme: "\"return T\"", computed_lexeme: None, line: 408, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 408, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 408, }, Token { kind: String, lexeme: "'2'", computed_lexeme: None, line: 408, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 408, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 409, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 409, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 409, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 409, }, Token { kind: Identifier, lexeme: "doremote", computed_lexeme: None, line: 409, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 409, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 409, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 409, }, Token { kind: String, lexeme: "\"return A\"", computed_lexeme: None, line: 409, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 409, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 409, }, Token { kind: String, lexeme: "'AA'", computed_lexeme: None, line: 409, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 409, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 410, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 410, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "doremote", computed_lexeme: None, line: 410, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 410, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 410, }, Token { kind: String, lexeme: "\"return B\"", computed_lexeme: None, line: 410, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 410, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 410, }, Token { kind: String, lexeme: "'BB'", computed_lexeme: None, line: 410, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 410, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 412, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 412, }, Token { kind: Identifier, lexeme: "closestate", computed_lexeme: None, line: 412, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 412, }, Token { kind: Identifier, lexeme: "state", computed_lexeme: None, line: 412, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 412, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 414, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 414, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 416, }, Token { kind: Identifier, lexeme: "_X", computed_lexeme: None, line: 420, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 420, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 420, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 420, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 420, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 420, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 420, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 420, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 420, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 421, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 421, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 421, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 421, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 422, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 422, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 422, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 422, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 422, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 422, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 422, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 422, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 422, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 423, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 423, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 423, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 423, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 423, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 424, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 424, }, Token { kind: Identifier, lexeme: "_X", computed_lexeme: None, line: 426, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 426, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 426, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 429, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 429, }, Token { kind: Identifier, lexeme: "_soft", computed_lexeme: None, line: 429, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 429, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 431, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 431, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 431, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 431, }, Token { kind: Caret, lexeme: "^", computed_lexeme: None, line: 431, }, Token { kind: Number, lexeme: "9", computed_lexeme: Some( "9", ), line: 431, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 432, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 432, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 432, }, Token { kind: Number, lexeme: "1000000", computed_lexeme: Some( "1000000", ), line: 432, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 433, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 433, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 433, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 433, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 433, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 433, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 433, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 433, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 433, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 433, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 433, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 433, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 433, }, Token { kind: Identifier, lexeme: "lim", computed_lexeme: None, line: 433, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 433, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 433, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 433, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 434, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 434, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 434, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 434, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 434, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 434, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 434, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 434, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 435, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 435, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 435, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 435, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 435, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 435, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 435, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 436, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 436, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 436, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 436, }, Token { kind: Identifier, lexeme: "create", computed_lexeme: None, line: 436, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 436, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 436, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 436, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 436, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 437, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 437, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 437, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 437, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 437, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 438, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 438, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 438, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 438, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 438, }, Token { kind: Identifier, lexeme: "j", computed_lexeme: None, line: 438, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 438, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 438, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 438, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 438, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 438, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 438, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 438, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 438, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 439, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 439, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 439, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 439, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 439, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 439, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 439, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 440, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 440, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 441, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 441, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 441, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "resume", computed_lexeme: None, line: 441, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 441, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 441, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 442, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 442, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 442, }, Token { kind: Identifier, lexeme: "r", computed_lexeme: None, line: 442, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 442, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 443, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 444, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 447, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 447, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 447, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 447, }, Token { kind: Identifier, lexeme: "running", computed_lexeme: None, line: 447, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 447, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 447, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 447, }, Token { kind: Identifier, lexeme: "main", computed_lexeme: None, line: 447, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 447, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 449, }, Token { kind: String, lexeme: "\"+\"", computed_lexeme: None, line: 449, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 452, }, Token { kind: String, lexeme: "\"testing yields inside metamethods\"", computed_lexeme: None, line: 452, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 454, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 454, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 454, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 454, }, Token { kind: Identifier, lexeme: "__eq", computed_lexeme: None, line: 455, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 455, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 455, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 455, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 455, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 455, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 455, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 455, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 455, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 455, }, Token { kind: String, lexeme: "\"eq\"", computed_lexeme: None, line: 455, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 455, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 455, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 455, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 455, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 455, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 455, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 455, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 455, }, Token { kind: Identifier, lexeme: "__lt", computed_lexeme: None, line: 456, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 456, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 456, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 456, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 456, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 456, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 456, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 456, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 456, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 456, }, Token { kind: String, lexeme: "\"lt\"", computed_lexeme: None, line: 456, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 456, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 456, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 456, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 456, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 456, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 456, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 456, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 456, }, Token { kind: Identifier, lexeme: "__le", computed_lexeme: None, line: 457, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 457, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 457, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 457, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 457, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 457, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 457, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 457, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 457, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 457, }, Token { kind: String, lexeme: "\"le\"", computed_lexeme: None, line: 457, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 457, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 457, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 457, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 457, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 457, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 457, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 457, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 457, }, Token { kind: Identifier, lexeme: "__add", computed_lexeme: None, line: 458, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 458, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 458, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 458, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 458, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 458, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 458, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 458, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 458, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 458, }, Token { kind: String, lexeme: "\"add\"", computed_lexeme: None, line: 458, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 458, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 458, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 458, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 458, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 458, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 458, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 458, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 458, }, Token { kind: Identifier, lexeme: "__sub", computed_lexeme: None, line: 459, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 459, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 459, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 459, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 459, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 459, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 459, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 459, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 459, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 459, }, Token { kind: String, lexeme: "\"sub\"", computed_lexeme: None, line: 459, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 459, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 459, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 459, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 459, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 459, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 459, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 459, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 459, }, Token { kind: Identifier, lexeme: "__concat", computed_lexeme: None, line: 460, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 460, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 460, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 460, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 460, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 460, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 460, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 460, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 461, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 461, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 461, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 461, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 461, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 461, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 461, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 461, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 461, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 462, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 462, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 462, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 462, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 462, }, Token { kind: String, lexeme: "\"table\"", computed_lexeme: None, line: 462, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 462, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 462, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 462, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 463, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 463, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 463, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 463, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 463, }, Token { kind: String, lexeme: "\"table\"", computed_lexeme: None, line: 463, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 463, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 463, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 463, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 463, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 464, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 464, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 464, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 464, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 465, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 465, }, Token { kind: Identifier, lexeme: "__index", computed_lexeme: None, line: 466, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 466, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 466, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 466, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 466, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 466, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 466, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 466, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 466, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 466, }, Token { kind: String, lexeme: "\"idx\"", computed_lexeme: None, line: 466, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 466, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 466, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 466, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 466, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 466, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 466, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 466, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 466, }, Token { kind: Identifier, lexeme: "__newindex", computed_lexeme: None, line: 467, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 467, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 467, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 467, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 467, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 467, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 467, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 467, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 467, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 467, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 467, }, Token { kind: String, lexeme: "\"nidx\"", computed_lexeme: None, line: 467, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 467, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 467, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 467, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 467, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 467, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 467, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 467, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 467, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 467, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 468, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 471, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 471, }, Token { kind: Identifier, lexeme: "new", computed_lexeme: None, line: 471, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 471, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 471, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 471, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 472, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 472, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 472, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 472, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 472, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 472, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 472, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 472, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 472, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 472, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 472, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 472, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 473, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 476, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 476, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 476, }, Token { kind: Identifier, lexeme: "new", computed_lexeme: None, line: 476, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 476, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 476, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 476, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 477, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 477, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 477, }, Token { kind: Identifier, lexeme: "new", computed_lexeme: None, line: 477, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 477, }, Token { kind: Number, lexeme: "12", computed_lexeme: Some( "12", ), line: 477, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 477, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 478, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 478, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 478, }, Token { kind: Identifier, lexeme: "new", computed_lexeme: None, line: 478, }, Token { kind: String, lexeme: "\"hello\"", computed_lexeme: None, line: 478, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 480, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 480, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 480, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 480, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 480, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 480, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 480, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 480, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 481, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 481, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 481, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 481, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 482, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 482, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 482, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 482, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 482, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 482, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 483, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 483, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 483, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 484, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 484, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 484, }, Token { kind: Identifier, lexeme: "stat", computed_lexeme: None, line: 484, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 484, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 484, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 484, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 484, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 485, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 485, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 485, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 485, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 485, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 485, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 485, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 485, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 485, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "res", computed_lexeme: None, line: 485, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 485, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 485, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 486, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 486, }, Token { kind: Identifier, lexeme: "stat", computed_lexeme: None, line: 486, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 486, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 486, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 486, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 486, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 486, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 486, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 487, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 487, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 487, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 487, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 487, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 488, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 489, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 492, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 492, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 492, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 492, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 492, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 492, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 492, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 492, }, Token { kind: GreaterThanOrEqual, lexeme: ">=", computed_lexeme: None, line: 492, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 492, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 492, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 492, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 492, }, Token { kind: String, lexeme: "'>='", computed_lexeme: None, line: 492, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 492, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 492, }, Token { kind: String, lexeme: "'<'", computed_lexeme: None, line: 492, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 492, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 492, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 492, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 493, }, Token { kind: String, lexeme: "\"le\"", computed_lexeme: None, line: 493, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 493, }, Token { kind: String, lexeme: "\"sub\"", computed_lexeme: None, line: 493, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 493, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 493, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 493, }, Token { kind: String, lexeme: "\"<\"", computed_lexeme: None, line: 493, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 493, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 495, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 495, }, Token { kind: Identifier, lexeme: "__le", computed_lexeme: None, line: 495, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 495, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 495, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 496, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 496, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 496, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 496, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 496, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 496, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 496, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 496, }, Token { kind: LessThanOrEqual, lexeme: "<=", computed_lexeme: None, line: 496, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 496, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 496, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 496, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 496, }, Token { kind: String, lexeme: "'<='", computed_lexeme: None, line: 496, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 496, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 496, }, Token { kind: String, lexeme: "'>'", computed_lexeme: None, line: 496, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 496, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 496, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 496, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 497, }, Token { kind: String, lexeme: "\"lt\"", computed_lexeme: None, line: 497, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 497, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 497, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 497, }, Token { kind: String, lexeme: "\"<=\"", computed_lexeme: None, line: 497, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 497, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 498, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 498, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 498, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 498, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 498, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 498, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 498, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 498, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 498, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 498, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 498, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 498, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 498, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 498, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 498, }, Token { kind: String, lexeme: "'=='", computed_lexeme: None, line: 498, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 498, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 498, }, Token { kind: String, lexeme: "'~='", computed_lexeme: None, line: 498, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 498, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 498, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 498, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 499, }, Token { kind: String, lexeme: "\"eq\"", computed_lexeme: None, line: 499, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 499, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 499, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 499, }, Token { kind: String, lexeme: "\"~=\"", computed_lexeme: None, line: 499, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 499, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 501, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 501, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 501, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 501, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 501, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 501, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 501, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 501, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 501, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 501, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 501, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 501, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 501, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 501, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 501, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 501, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 501, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 501, }, Token { kind: String, lexeme: "\"1012\"", computed_lexeme: None, line: 501, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 501, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 503, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 503, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 503, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 503, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 503, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 503, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 503, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 503, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 503, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 503, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 503, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 503, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 503, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 503, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 503, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 503, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 503, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 504, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 504, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 504, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 504, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 504, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 504, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 504, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 504, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 504, }, Token { kind: String, lexeme: "\"1012hello10\"", computed_lexeme: None, line: 504, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 504, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 506, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 506, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 506, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 506, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 506, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 506, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 506, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 506, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: String, lexeme: "\"b\"", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: String, lexeme: "\"c\"", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 506, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 506, }, Token { kind: String, lexeme: "\"x\"", computed_lexeme: None, line: 506, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 506, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 506, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 507, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 507, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 507, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 507, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 507, }, Token { kind: String, lexeme: "\"concat\"", computed_lexeme: None, line: 507, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 507, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 507, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 507, }, Token { kind: String, lexeme: "\"ab10chello12x\"", computed_lexeme: None, line: 507, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 507, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 509, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 509, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 509, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 509, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 509, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 509, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 509, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 510, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 510, }, Token { kind: Identifier, lexeme: "BB", computed_lexeme: None, line: 510, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 510, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 510, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 511, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 511, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 511, }, Token { kind: Identifier, lexeme: "BB", computed_lexeme: None, line: 511, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 512, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 512, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 512, }, Token { kind: String, lexeme: "\"nidx\"", computed_lexeme: None, line: 512, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 512, }, Token { kind: String, lexeme: "\"idx\"", computed_lexeme: None, line: 512, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 512, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 512, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 512, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 512, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 512, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 515, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 515, }, Token { kind: Identifier, lexeme: "_ENV", computed_lexeme: None, line: 515, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 515, }, Token { kind: Identifier, lexeme: "_ENV", computed_lexeme: None, line: 515, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 516, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 516, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 516, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 516, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 516, }, Token { kind: Identifier, lexeme: "AAA", computed_lexeme: None, line: 516, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 516, }, Token { kind: Identifier, lexeme: "BBB", computed_lexeme: None, line: 516, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 516, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 516, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 516, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 516, }, Token { kind: Identifier, lexeme: "AAA", computed_lexeme: None, line: 516, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 516, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 517, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 518, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 518, }, Token { kind: Identifier, lexeme: "new", computed_lexeme: None, line: 518, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 518, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 518, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 518, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 518, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 518, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 518, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 518, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 518, }, Token { kind: Identifier, lexeme: "BBB", computed_lexeme: None, line: 518, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 518, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 518, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 518, }, Token { kind: Identifier, lexeme: "debug", computed_lexeme: None, line: 519, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "setupvalue", computed_lexeme: None, line: 519, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 519, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 519, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 519, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 520, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 520, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 520, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 520, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 520, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 520, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 520, }, Token { kind: String, lexeme: "\"idx\"", computed_lexeme: None, line: 520, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 520, }, Token { kind: String, lexeme: "\"nidx\"", computed_lexeme: None, line: 520, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 520, }, Token { kind: String, lexeme: "\"idx\"", computed_lexeme: None, line: 520, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 520, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 520, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 520, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 520, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 520, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 521, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "g", computed_lexeme: None, line: 521, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "k", computed_lexeme: None, line: 521, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "AAA", computed_lexeme: None, line: 521, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 521, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 521, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 521, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 523, }, Token { kind: String, lexeme: "\"+\"", computed_lexeme: None, line: 523, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 525, }, Token { kind: String, lexeme: "\"testing yields inside 'for' iterators\"", computed_lexeme: None, line: 525, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 527, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 527, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 527, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 527, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 527, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 527, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 527, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 527, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 527, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 528, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 528, }, Token { kind: Percent, lexeme: "%", computed_lexeme: None, line: 528, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 528, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 528, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 528, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 528, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 528, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 528, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 528, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 528, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 528, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 528, }, Token { kind: String, lexeme: "\"for\"", computed_lexeme: None, line: 528, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 528, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 528, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 529, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 529, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 529, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 529, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 529, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 529, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 529, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 529, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 529, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 529, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 530, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 532, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 532, }, Token { kind: Identifier, lexeme: "run", computed_lexeme: None, line: 532, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 532, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 532, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 532, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 532, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 533, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 533, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 533, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 533, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 534, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 534, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 534, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 534, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 534, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 534, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 534, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 534, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 534, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 534, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 534, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 534, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 534, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 534, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 534, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 535, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 535, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 536, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 536, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 536, }, Token { kind: String, lexeme: "\"for\"", computed_lexeme: None, line: 536, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 536, }, Token { kind: String, lexeme: "\"for\"", computed_lexeme: None, line: 536, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 536, }, Token { kind: String, lexeme: "\"for\"", computed_lexeme: None, line: 536, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 536, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 536, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 536, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 536, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 536, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 541, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 541, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 541, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 541, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 541, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "Message", computed_lexeme: None, line: 542, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 542, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 542, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 542, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 542, }, Token { kind: String, lexeme: "'\\a\\n >>> testC not active: skipping coroutine API tests <<<\\n\\a'", computed_lexeme: None, line: 542, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 542, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 543, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 544, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 546, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 546, }, Token { kind: String, lexeme: "'testing coroutine API'", computed_lexeme: None, line: 546, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 546, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 548, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 548, }, Token { kind: Identifier, lexeme: "apico", computed_lexeme: None, line: 548, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 548, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 548, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 548, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 549, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 549, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 549, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 549, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 549, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 549, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 550, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 550, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 550, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 550, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 550, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 550, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 550, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 551, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 551, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 551, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 551, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 551, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 551, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 551, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 551, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 552, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 552, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 553, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 555, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 555, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 555, }, Token { kind: Identifier, lexeme: "apico", computed_lexeme: None, line: 555, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 555, }, Token { kind: MultilineString, lexeme: "[[\n pushstring errorcode\n pcallk 1 0 2;\n invalid command (should not arrive here)\n]]", computed_lexeme: None, line: 560, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 560, }, Token { kind: MultilineString, lexeme: "[[getctx; gettop; return .]]", computed_lexeme: None, line: 561, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 561, }, Token { kind: String, lexeme: "\"stackmark\"", computed_lexeme: None, line: 562, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 562, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 563, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 564, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 564, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 564, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 564, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 565, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 565, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 565, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 565, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 565, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 565, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 565, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 566, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 566, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 566, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 566, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 566, }, Token { kind: String, lexeme: "\"stackmark\"", computed_lexeme: None, line: 566, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 566, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 567, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 567, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 567, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 567, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 567, }, Token { kind: String, lexeme: "\"errorcode\"", computed_lexeme: None, line: 567, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 567, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 568, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 568, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 568, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 568, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 568, }, Token { kind: String, lexeme: "\"ERRRUN\"", computed_lexeme: None, line: 568, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 568, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 569, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 569, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 569, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 569, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 569, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 569, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 569, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 571, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 571, }, Token { kind: Identifier, lexeme: "apico", computed_lexeme: None, line: 571, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 571, }, Token { kind: String, lexeme: "\"pushvalue 2; pushnum 10; pcallk 1 2 3; invalid command;\"", computed_lexeme: None, line: 572, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 572, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 573, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 573, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 573, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 573, }, Token { kind: String, lexeme: "\"getctx; pushvalue 2; pushstring a; pcallk 1 0 4; invalid command\"", computed_lexeme: None, line: 574, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 574, }, Token { kind: String, lexeme: "\"getctx; gettop; return .\"", computed_lexeme: None, line: 575, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 575, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 577, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 577, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 577, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 577, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 577, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 577, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 577, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 577, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 578, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 578, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 578, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 578, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 578, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 578, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 578, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 578, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 578, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 578, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 578, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 579, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 579, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 579, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 579, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 579, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 579, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 579, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 580, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 580, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 580, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 580, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 580, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 580, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 580, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 581, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 581, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 581, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 581, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 581, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 581, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 581, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 581, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 581, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 582, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 582, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 582, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 582, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 582, }, Token { kind: Number, lexeme: "20", computed_lexeme: Some( "20", ), line: 582, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 582, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 582, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 582, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 582, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 582, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 582, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 582, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 582, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 583, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 583, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 583, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 583, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 583, }, Token { kind: String, lexeme: "\"YIELD\"", computed_lexeme: None, line: 583, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 583, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 583, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 583, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 583, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 583, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 583, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 583, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 583, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 584, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 584, }, Token { kind: Number, lexeme: "9", computed_lexeme: Some( "9", ), line: 584, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 584, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 584, }, Token { kind: String, lexeme: "\"YIELD\"", computed_lexeme: None, line: 584, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 584, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 584, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 584, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 584, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 584, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 584, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 584, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 584, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 585, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 585, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 585, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 585, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 585, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 585, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 585, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 585, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 588, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 588, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 588, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 588, }, Token { kind: Identifier, lexeme: "makeCfunc", computed_lexeme: None, line: 588, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 588, }, Token { kind: String, lexeme: "\"pushnum 3; pushnum 5; yield 1;\"", computed_lexeme: None, line: 588, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 588, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 589, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 589, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 589, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 589, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 589, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 589, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 589, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 589, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 589, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 590, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 590, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 590, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 590, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 590, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 590, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 590, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 590, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 590, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 590, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 590, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 590, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 590, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 590, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 590, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 590, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 590, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 590, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 590, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 590, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 591, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 591, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 592, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 592, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 592, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 592, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 592, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 592, }, Token { kind: Number, lexeme: "16", computed_lexeme: Some( "16", ), line: 592, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 592, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 592, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 592, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 592, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 593, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 593, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 593, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 593, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 593, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 593, }, Token { kind: Number, lexeme: "16", computed_lexeme: Some( "16", ), line: 593, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 593, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 593, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 593, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 593, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 594, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 594, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 594, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 594, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 594, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 594, }, Token { kind: Number, lexeme: "16", computed_lexeme: Some( "16", ), line: 594, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 594, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 594, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 594, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 594, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 598, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 598, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 598, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 598, }, Token { kind: Identifier, lexeme: "makeCfunc", computed_lexeme: None, line: 598, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 598, }, Token { kind: MultilineString, lexeme: "[[\n pushnum 102\n\tyieldk\t1 U2\n\treturn 2\n]]", computed_lexeme: None, line: 602, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 602, }, Token { kind: MultilineString, lexeme: "[[\n\tpushnum 23 # continuation\n\tgettop\n\treturn .\n]]", computed_lexeme: None, line: 607, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 607, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 609, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 609, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 609, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 609, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 609, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 610, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 610, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 610, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 610, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 610, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 610, }, Token { kind: Number, lexeme: "102", computed_lexeme: Some( "102", ), line: 610, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 610, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 611, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 611, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 611, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 611, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 611, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 611, }, Token { kind: Number, lexeme: "23", computed_lexeme: Some( "23", ), line: 611, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 611, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 614, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 614, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "makeCfunc", computed_lexeme: None, line: 614, }, Token { kind: MultilineString, lexeme: "[[pushstring 'a'; pushnum 102; yield 2; ]]", computed_lexeme: None, line: 614, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 616, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 616, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 616, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 616, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 616, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 616, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 616, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 616, }, Token { kind: MultilineString, lexeme: "[[newthread; pushvalue 2; xmove 0 3 1; resume 3 0;\n pushstatus; xmove 3 0 0; resume 3 0; pushstatus;\n return 4; ]]", computed_lexeme: None, line: 618, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 618, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 618, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 618, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 620, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 620, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 620, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "'YIELD'", computed_lexeme: None, line: 620, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 620, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 620, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "'a'", computed_lexeme: None, line: 620, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 620, }, Token { kind: Identifier, lexeme: "c", computed_lexeme: None, line: 620, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 620, }, Token { kind: Number, lexeme: "102", computed_lexeme: Some( "102", ), line: 620, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 620, }, Token { kind: Identifier, lexeme: "d", computed_lexeme: None, line: 620, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 620, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 620, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 620, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 625, }, Token { kind: Identifier, lexeme: "count", computed_lexeme: None, line: 625, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 625, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 625, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 627, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 627, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 627, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 627, }, Token { kind: Identifier, lexeme: "makeCfunc", computed_lexeme: None, line: 627, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 627, }, Token { kind: MultilineString, lexeme: "[[\n remove 1; # remove argument\n pushvalue U3; # get selection function\n call 0 1; # call it (result is 'f' or 'yield')\n pushstring hello # single argument for selected function\n pushupvalueindex 2; # index of continuation program\n callk 1 -1 .;\t\t# call selected function\n errorerror\t\t# should never arrive here\n]]", computed_lexeme: None, line: 635, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 635, }, Token { kind: MultilineString, lexeme: "[[\n # continuation program\n pushnum 34\t# return value\n gettop\n return . # return all results\n]]", computed_lexeme: None, line: 641, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 641, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 642, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 642, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 642, }, Token { kind: Identifier, lexeme: "count", computed_lexeme: None, line: 643, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 643, }, Token { kind: Identifier, lexeme: "count", computed_lexeme: None, line: 643, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 643, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 643, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 644, }, Token { kind: Identifier, lexeme: "count", computed_lexeme: None, line: 644, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 644, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 644, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 644, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 644, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 644, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 644, }, Token { kind: Identifier, lexeme: "yield", computed_lexeme: None, line: 644, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 645, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 645, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 645, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 646, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 647, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 648, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 650, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 650, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 650, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 650, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 650, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 650, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 650, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 650, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 650, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 650, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 650, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 650, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 650, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 650, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 650, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 650, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 651, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 651, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 651, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 651, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 651, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 651, }, Token { kind: String, lexeme: "\"hello\"", computed_lexeme: None, line: 651, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 651, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 652, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 652, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 652, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 652, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 652, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 652, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 652, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 654, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 654, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 654, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 654, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 654, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 654, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 654, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 654, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 654, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 654, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 654, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 654, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 654, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 654, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 654, }, Token { kind: Number, lexeme: "34", computed_lexeme: Some( "34", ), line: 654, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 654, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 659, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 659, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 659, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 659, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 659, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 659, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 659, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 659, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 659, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 659, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 659, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 660, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 660, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 660, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 660, }, Token { kind: MultilineString, lexeme: "[[\n getctx\n yieldk 3 2\n nonexec error\n ]]", computed_lexeme: None, line: 664, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 664, }, Token { kind: MultilineString, lexeme: "[[ # continuation\n getctx\n yieldk 2 3 \n ]]", computed_lexeme: None, line: 668, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 668, }, Token { kind: MultilineString, lexeme: "[[ # continuation\n getctx\n yieldk 2 4 \n ]]", computed_lexeme: None, line: 672, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 672, }, Token { kind: MultilineString, lexeme: "[[ # continuation\n pushvalue 6; pushnum 10; pushnum 20;\n pcall 2 0 # call should throw an error and execution continues\n pop 1\t\t# remove error message\n pushvalue 6\n getctx\n pcallk 2 2 5 # call should throw an error and jump to continuation\n cannot be here!\n ]]", computed_lexeme: None, line: 681, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 681, }, Token { kind: MultilineString, lexeme: "[[ # continuation\n gettop\n return .\n ]]", computed_lexeme: None, line: 685, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 685, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 686, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 686, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 686, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 686, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 686, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 686, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 686, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 686, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 686, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 686, }, Token { kind: String, lexeme: "\"errmsg\"", computed_lexeme: None, line: 686, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 686, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 686, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 686, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 687, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 688, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 689, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 689, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 691, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 691, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 691, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 691, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 691, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 691, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 691, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 691, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 691, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 691, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 691, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 691, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 691, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 691, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 691, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 691, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 691, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 691, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 691, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 691, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 691, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 691, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 691, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 691, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 692, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 692, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 692, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 692, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 692, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 692, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 692, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 692, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 692, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 692, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 692, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 692, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 692, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 692, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 692, }, Token { kind: String, lexeme: "\"YIELD\"", computed_lexeme: None, line: 692, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 692, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 692, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 692, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 692, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 692, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 692, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 692, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 692, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 693, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 693, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 693, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 693, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 693, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 693, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 693, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 693, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 693, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 693, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 693, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 693, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 693, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 693, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 693, }, Token { kind: String, lexeme: "\"YIELD\"", computed_lexeme: None, line: 693, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 693, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 693, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 693, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 693, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 693, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 693, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 693, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 693, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 694, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 694, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 694, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 694, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 694, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 694, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 694, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 694, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 694, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 694, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 694, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 696, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 696, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 696, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 696, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 696, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 696, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 696, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 696, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 696, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 696, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 696, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 696, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 696, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 696, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 696, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 696, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 696, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 696, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 696, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 696, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 696, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 696, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 697, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 697, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 697, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 697, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 697, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 697, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 697, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 697, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 697, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 697, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 697, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 697, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 697, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 697, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 697, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 697, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 697, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 697, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 697, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 697, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 698, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 698, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 698, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 698, }, Token { kind: Number, lexeme: "5", computed_lexeme: Some( "5", ), line: 698, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 698, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 698, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 698, }, Token { kind: String, lexeme: "'string'", computed_lexeme: None, line: 698, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 698, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 698, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 698, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 698, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 698, }, Token { kind: Number, lexeme: "6", computed_lexeme: Some( "6", ), line: 698, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 698, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 698, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 698, }, Token { kind: String, lexeme: "'function'", computed_lexeme: None, line: 698, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 698, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 700, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 700, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 700, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 700, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 700, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 700, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 700, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 700, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 700, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 700, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 700, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 700, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 700, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 700, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 700, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 700, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 702, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 702, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 702, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 702, }, Token { kind: Number, lexeme: "9", computed_lexeme: Some( "9", ), line: 702, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 702, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 702, }, Token { kind: Number, lexeme: "7", computed_lexeme: Some( "7", ), line: 702, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 702, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 702, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 702, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 702, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 702, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 702, }, Token { kind: Number, lexeme: "8", computed_lexeme: Some( "8", ), line: 702, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 702, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 704, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 704, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 704, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 704, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 704, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 704, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 704, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 704, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 704, }, Token { kind: String, lexeme: "\"errmsg\"", computed_lexeme: None, line: 704, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 704, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 704, }, Token { kind: Hash, lexeme: "#", computed_lexeme: None, line: 704, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 704, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 704, }, Token { kind: Number, lexeme: "11", computed_lexeme: Some( "11", ), line: 704, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 704, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 706, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 706, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 706, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 706, }, Token { kind: String, lexeme: "\"YIELD\"", computed_lexeme: None, line: 706, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 706, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 706, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 706, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 706, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 706, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 708, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 708, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 708, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 708, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 708, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 708, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 708, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 708, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 712, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 712, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 712, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 712, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 712, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 712, }, Token { kind: Identifier, lexeme: "testC", computed_lexeme: None, line: 712, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 712, }, Token { kind: MultilineString, lexeme: "[[ pushstring print; pcallk 0 0 12 # error\n getctx; return 2 ]]", computed_lexeme: None, line: 714, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 714, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 715, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 715, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 715, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 715, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 715, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 715, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 715, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 715, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 715, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 715, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 719, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 719, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 719, }, Token { kind: Identifier, lexeme: "coroutine", computed_lexeme: None, line: 719, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 719, }, Token { kind: Identifier, lexeme: "wrap", computed_lexeme: None, line: 719, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 719, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 719, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 719, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 719, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 720, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 720, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 720, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 720, }, Token { kind: String, lexeme: "\"hi\"", computed_lexeme: None, line: 720, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 720, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 720, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 721, }, Token { kind: Identifier, lexeme: "pcall", computed_lexeme: None, line: 721, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 721, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 721, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 721, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 721, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 721, }, Token { kind: Identifier, lexeme: "unpack", computed_lexeme: None, line: 721, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 721, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 721, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 721, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 721, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 722, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 722, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 724, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 724, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 724, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 724, }, Token { kind: Identifier, lexeme: "co", computed_lexeme: None, line: 724, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 724, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 724, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 724, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 725, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 725, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 725, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 725, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 725, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 725, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 725, }, Token { kind: String, lexeme: "\"hi\"", computed_lexeme: None, line: 725, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 725, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 728, }, Token { kind: String, lexeme: "'OK'", computed_lexeme: None, line: 728, }, ]