--- source: src/main.rs expression: scanned input_file: test-data/lua5.1-tests/sort.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 1, }, Token { kind: String, lexeme: "\"testing sort\"", computed_lexeme: None, line: 1, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 4, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 4, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 4, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 5, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 5, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 5, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 5, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 5, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 5, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 5, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 5, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 5, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 5, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 5, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 6, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 6, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "getn", computed_lexeme: None, line: 6, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 6, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 6, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 6, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 6, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 6, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 6, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 6, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 7, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 7, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 7, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 7, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 7, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 7, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 7, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 8, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 11, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 11, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Jan\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Feb\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Mar\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Apr\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"May\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Jun\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Jul\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Aug\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Sep\"", computed_lexeme: None, line: 11, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 11, }, Token { kind: String, lexeme: "\"Oct\"", computed_lexeme: None, line: 12, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 12, }, Token { kind: String, lexeme: "\"Nov\"", computed_lexeme: None, line: 12, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 12, }, Token { kind: String, lexeme: "\"Dec\"", computed_lexeme: None, line: 12, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 14, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 15, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 15, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 17, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "30000", computed_lexeme: Some( "30000", ), line: 17, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "rawget", computed_lexeme: None, line: 18, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "_G", computed_lexeme: None, line: 18, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 18, }, Token { kind: String, lexeme: "\"_soft\"", computed_lexeme: None, line: 18, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 18, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: Number, lexeme: "5000", computed_lexeme: Some( "5000", ), line: 18, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 20, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 20, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 20, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 20, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 21, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 21, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 21, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 21, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 22, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 22, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 22, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "random", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 23, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 25, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 25, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 26, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 27, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: String, lexeme: "\"Sorting %d elements in %.2f sec.\"", computed_lexeme: None, line: 27, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 27, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 27, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 30, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 30, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 32, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: String, lexeme: "\"Re-sorting %d elements in %.2f sec.\"", computed_lexeme: None, line: 32, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 32, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 32, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Minus, 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: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "check", 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: Identifier, lexeme: "a", computed_lexeme: None, line: 35, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 35, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 35, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 35, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 36, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 36, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 36, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 36, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 37, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 37, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 37, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "random", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 40, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 40, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 40, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 41, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 41, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 41, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 42, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 42, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 42, }, Token { kind: Function, lexeme: "function", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 42, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 42, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 42, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 42, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 42, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 42, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 42, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 43, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: String, lexeme: "\"Invert-sorting other %d elements in %.2f sec., with %i comparisons\"", computed_lexeme: None, line: 43, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 44, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 44, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 44, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, 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: Function, lexeme: "function", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 45, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 48, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 48, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 48, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 48, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 50, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 50, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 50, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 50, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 50, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 50, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 50, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 50, }, Token { kind: False, lexeme: "false", computed_lexeme: None, line: 50, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 51, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 52, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 52, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 52, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", 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: "format", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "\"Sorting %d equal elements in %.2f sec.\"", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 53, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "clock", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 54, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 54, }, Token { kind: Comma, 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: Return, lexeme: "return", computed_lexeme: None, line: 54, }, Token { kind: Nil, lexeme: "nil", computed_lexeme: None, line: 54, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 54, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 54, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 55, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 55, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "pairs", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 55, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 55, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 55, }, Token { kind: String, lexeme: "'n'", computed_lexeme: None, line: 55, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "v", computed_lexeme: None, line: 55, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "limit", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 57, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 57, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"�lo\"", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"\\0first :-)\"", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"then this one\"", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"45\"", computed_lexeme: None, line: 57, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 57, }, Token { kind: String, lexeme: "\"and a new\"", computed_lexeme: None, line: 57, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 58, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 58, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 58, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 58, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 59, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 59, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 59, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 61, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 62, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: String, lexeme: "\"a[%q] = ''\"", computed_lexeme: None, line: 62, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "collectgarbage", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "x", computed_lexeme: None, line: 64, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "y", computed_lexeme: None, line: 64, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "tt", computed_lexeme: None, line: 68, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 68, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "__lt", computed_lexeme: None, line: 68, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 68, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 68, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 68, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 68, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 68, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 68, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "val", computed_lexeme: None, line: 68, }, Token { kind: LessThan, lexeme: "<", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "b", computed_lexeme: None, line: 68, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "val", computed_lexeme: None, line: 68, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 68, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 69, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 69, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 69, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 69, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "10", computed_lexeme: Some( "10", ), line: 70, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 70, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 70, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: LeftBrace, lexeme: "{", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "val", computed_lexeme: None, line: 70, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "math", computed_lexeme: None, line: 70, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "random", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: RightBrace, lexeme: "}", computed_lexeme: None, line: 70, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "setmetatable", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 70, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 70, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "tt", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Semicolon, lexeme: ";", computed_lexeme: None, line: 70, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "table", computed_lexeme: None, line: 71, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "sort", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 72, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 72, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "tt", computed_lexeme: None, line: 72, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "__lt", computed_lexeme: None, line: 72, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "check", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 75, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 75, }, ]