--- source: src/main.rs expression: scanned input_file: test-data/lua5.4-tests/bwcoercion.lua --- [ Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 1, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "tointeger", computed_lexeme: None, line: 1, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 1, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 1, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 1, }, Token { kind: Identifier, lexeme: "tointeger", computed_lexeme: None, line: 1, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "rawget", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 2, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "rawget", computed_lexeme: None, line: 2, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 2, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 2, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "strsub", computed_lexeme: None, line: 3, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 3, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "sub", computed_lexeme: None, line: 3, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 5, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "_ENV", computed_lexeme: None, line: 7, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 7, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 7, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 10, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "toint", computed_lexeme: None, line: 10, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 10, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 11, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "tonumber", computed_lexeme: None, line: 11, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 11, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 11, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 12, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 12, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 12, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 13, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 13, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 14, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "tointeger", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 16, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 22, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "trymt", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 22, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "mtname", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 23, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 23, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 23, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 23, }, Token { kind: String, lexeme: "\"string\"", computed_lexeme: None, line: 23, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 23, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 24, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 24, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 24, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 24, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "mm", computed_lexeme: None, line: 25, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 25, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "rawget", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "mt", computed_lexeme: None, line: 25, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "mtname", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "mm", computed_lexeme: None, line: 26, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 26, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "mm", 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: Comma, lexeme: ",", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 28, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "error", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: String, lexeme: "\"attempt to '\"", computed_lexeme: None, line: 31, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "strsub", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "mtname", computed_lexeme: None, line: 31, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 31, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 31, }, Token { kind: String, lexeme: "\"' a \"", computed_lexeme: None, line: 32, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 32, }, Token { kind: String, lexeme: "\" with a \"", computed_lexeme: None, line: 32, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "type", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 32, }, Token { kind: Number, lexeme: "4", computed_lexeme: Some( "4", ), line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 33, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 36, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 36, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 36, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "mtname", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "xi", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "toint", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "yi", computed_lexeme: None, line: 38, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "toint", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "xi", computed_lexeme: None, line: 39, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "yi", computed_lexeme: None, line: 39, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 39, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "xi", computed_lexeme: None, line: 40, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "yi", computed_lexeme: None, line: 40, }, Token { kind: Else, lexeme: "else", computed_lexeme: None, line: 41, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "trymt", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "mtname", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 42, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 43, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 44, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 47, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "getmetatable", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 49, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 49, }, Token { kind: Identifier, lexeme: "__band", computed_lexeme: None, line: 49, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 49, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 49, }, Token { kind: LeftParen, 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: Identifier, lexeme: "y", computed_lexeme: None, line: 49, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 49, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 50, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: String, lexeme: "\"__band\"", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 51, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 51, }, Token { kind: BitAnd, lexeme: "&", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 51, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 51, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 54, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "__bor", computed_lexeme: None, line: 54, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 54, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 54, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 54, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 54, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 54, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 55, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: String, lexeme: "\"__bor\"", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 56, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 56, }, Token { kind: BitOr, lexeme: "|", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 56, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 56, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 59, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "__bxor", computed_lexeme: None, line: 59, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 59, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 59, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 59, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 59, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 59, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 60, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 60, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 60, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 60, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 60, }, Token { kind: String, lexeme: "\"__bxor\"", computed_lexeme: None, line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 61, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 61, }, Token { kind: Tilde, lexeme: "~", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 61, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 61, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 64, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "__shl", computed_lexeme: None, line: 64, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 64, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 64, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 65, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 65, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 65, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 65, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "\"__shl\"", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 66, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 66, }, Token { kind: BitShiftLeft, lexeme: "<<", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 66, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 66, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 69, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "__shr", computed_lexeme: None, line: 69, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 69, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 69, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"__shr\"", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 71, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 71, }, Token { kind: BitShiftRight, lexeme: ">>", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 71, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 71, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "smt", computed_lexeme: None, line: 74, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "__bnot", computed_lexeme: None, line: 74, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 74, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 74, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 74, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 74, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 75, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "checkargs", computed_lexeme: None, line: 75, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: String, lexeme: "\"__bnot\"", computed_lexeme: None, line: 75, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 75, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 76, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 76, }, Token { kind: Tilde, lexeme: "~", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 76, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 76, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 77, }, ]