--- source: src/main.rs expression: scanned input_file: test-data/lua5.2-tests/main.lua --- [ Token { kind: If, lexeme: "if", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "_port", computed_lexeme: None, line: 4, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 4, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 4, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 4, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 6, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 6, }, Token { kind: String, lexeme: "\"testing lua.c options\"", computed_lexeme: None, line: 6, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 8, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 8, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 8, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 8, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 8, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 8, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 10, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 10, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 10, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 10, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 10, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 11, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 11, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 11, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 11, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 11, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 12, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 12, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 12, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 12, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 12, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 14, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 15, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 15, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 15, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 16, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 16, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 16, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 16, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 16, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 16, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 16, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 17, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 17, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 17, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 17, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 17, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 17, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 17, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 19, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 19, }, Token { kind: String, lexeme: "\"progname: \"", computed_lexeme: None, line: 19, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 19, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 19, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 21, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 21, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 21, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 21, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 21, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 22, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 22, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 23, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "output", computed_lexeme: None, line: 23, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 23, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 23, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 24, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "write", computed_lexeme: None, line: 24, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 24, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 25, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "close", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 26, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 29, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "input", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 29, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 29, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 30, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 30, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: String, lexeme: "\"*a\"", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 31, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "input", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, 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: "remove", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "out", 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: Return, lexeme: "return", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 33, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 34, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "s", 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: "t", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "getoutput", 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: For, lexeme: "for", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 38, }, Token { kind: In, lexeme: "in", 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: "gmatch", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 38, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 38, }, Token { kind: String, lexeme: "\".-\\n\"", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 39, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 39, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 39, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 40, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 41, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 43, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 43, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 43, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 43, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 44, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 44, }, Token { kind: Identifier, lexeme: "getoutput", 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: If, lexeme: "if", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 45, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 45, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 45, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: String, lexeme: "\"'%s' - '%s'\\n\"", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 45, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 46, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 47, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 48, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 50, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 50, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 50, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 50, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 50, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 51, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 51, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: TripleDot, lexeme: "...", 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: Equals, lexeme: "=", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 52, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 52, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 52, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Return, lexeme: "return", 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: "execute", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 54, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 56, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 56, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 56, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 57, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 57, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 57, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 58, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 60, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 62, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "NoRunMsg", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: String, lexeme: "\"\\n(the next error is expected by the test)\"", 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: "NoRun", computed_lexeme: None, line: 66, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 66, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 66, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 66, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"print(package.path)\"", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 72, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 72, }, Token { kind: String, lexeme: "\"env LUA_INIT= LUA_PATH=x lua %s > %s\"", computed_lexeme: None, line: 72, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 72, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 72, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: String, lexeme: "\"x\\n\"", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 75, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 75, }, Token { kind: String, lexeme: "\"env LUA_INIT= LUA_PATH_5_2=y LUA_PATH=x lua %s > %s\"", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 75, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 75, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 75, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: String, lexeme: "\"y\\n\"", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: String, lexeme: "\"print(package.cpath)\"", computed_lexeme: None, line: 78, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 80, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 80, }, Token { kind: String, lexeme: "\"env LUA_INIT= LUA_CPATH=xuxu lua %s > %s\"", computed_lexeme: None, line: 80, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 80, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 80, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 80, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 80, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 80, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: String, lexeme: "\"xuxu\\n\"", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 83, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 83, }, Token { kind: String, lexeme: "\"env LUA_INIT= LUA_CPATH_5_2=yacc LUA_CPATH=x lua %s > %s\"", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 83, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 83, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 83, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 84, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 84, }, Token { kind: String, lexeme: "\"yacc\\n\"", computed_lexeme: None, line: 84, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 84, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 86, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 86, }, Token { kind: String, lexeme: "\"print(X)\"", computed_lexeme: None, line: 86, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 86, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 87, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 87, }, Token { kind: String, lexeme: "'env LUA_INIT=\"X=3\" lua %s > %s'", computed_lexeme: None, line: 87, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 87, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 87, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: String, lexeme: "\"3\\n\"", computed_lexeme: None, line: 88, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 90, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 90, }, Token { kind: String, lexeme: "\"print(X)\"", computed_lexeme: None, line: 90, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 90, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: String, lexeme: "'env LUA_INIT_5_2=\"X=10\" LUA_INIT=\"X=3\" lua %s > %s'", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 91, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 91, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 91, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 92, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 92, }, Token { kind: String, lexeme: "\"10\\n\"", computed_lexeme: None, line: 92, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 95, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 95, }, Token { kind: String, lexeme: "\"print(package.path, package.cpath)\"", computed_lexeme: None, line: 95, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 95, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 96, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 96, }, Token { kind: String, lexeme: "'env LUA_INIT=\"error(10)\" LUA_PATH=xxx LUA_CPATH=xxx lua -E %s > %s'", computed_lexeme: None, line: 96, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 96, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 97, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 97, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 97, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 97, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 98, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 98, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 98, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 99, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 99, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 99, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 99, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 99, }, Token { kind: String, lexeme: "\"^(.-)\\t\"", computed_lexeme: None, line: 99, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 100, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 100, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 100, }, Token { kind: String, lexeme: "\"xxx\"", computed_lexeme: None, line: 100, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 100, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 100, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 100, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 100, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 100, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 100, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 100, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 100, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 100, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 104, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 104, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 104, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 105, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 105, }, Token { kind: String, lexeme: "\"print(package.path)\"", computed_lexeme: None, line: 105, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 106, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 106, }, Token { kind: String, lexeme: "'env LUA_PATH=\"%s\" lua %s > %s'", computed_lexeme: None, line: 106, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 106, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 106, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 106, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 106, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 107, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 107, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 107, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 107, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 108, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 108, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "sub", computed_lexeme: None, line: 108, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 108, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 108, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 108, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 108, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 108, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 108, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 109, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 109, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 109, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 109, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 109, }, Token { kind: String, lexeme: "\";;\"", computed_lexeme: None, line: 109, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 109, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 109, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 109, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 109, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 109, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 109, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 109, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 109, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 113, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 113, }, Token { kind: String, lexeme: "\";;\"", computed_lexeme: None, line: 113, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 114, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 114, }, Token { kind: String, lexeme: "\";;;\"", computed_lexeme: None, line: 114, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 115, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 115, }, Token { kind: String, lexeme: "\";;;;\"", computed_lexeme: None, line: 115, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 115, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 116, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 116, }, Token { kind: String, lexeme: "\";;;;;\"", computed_lexeme: None, line: 116, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 116, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "\";;a;;;bc\"", computed_lexeme: None, line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 121, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 121, }, Token { kind: String, lexeme: "\"print(1); a=2; return {x=15}\"", computed_lexeme: None, line: 121, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: String, lexeme: "\"print(a); print(_G['%s'].x)\"", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 123, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "'env LUA_PATH=\"?;;\" lua -l %s -l%s -lstring -l io %s > %s'", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 123, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 124, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 124, }, Token { kind: String, lexeme: "\"1\\n2\\n15\\n2\\n15\\n\"", computed_lexeme: None, line: 124, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 124, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 126, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 126, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 126, }, Token { kind: MultilineString, lexeme: "[[\n assert(#arg == 3 and arg[1] == 'a' and\n arg[2] == 'b' and arg[3] == 'c')\n assert(arg[-1] == '--' and arg[-2] == \"-e \" and arg[-3] == '%s')\n assert(arg[4] == nil and arg[-4] == nil)\n local a, b, c = ...\n assert(... == 'a' and a == 'a' and b == 'b' and c == 'c')\n]]", computed_lexeme: None, line: 133, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 134, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 134, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 134, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 134, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 134, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 134, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 135, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 135, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 136, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'lua \"-e \" -- %s a b c'", computed_lexeme: None, line: 136, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 136, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 138, }, Token { kind: String, lexeme: "\"assert(arg==nil)\"", computed_lexeme: None, line: 138, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: String, lexeme: "\"assert(arg)\"", computed_lexeme: None, line: 139, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 140, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 140, }, Token { kind: String, lexeme: "'env LUA_PATH=\"?;;\" lua -l%s - < %s'", computed_lexeme: None, line: 140, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 140, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 142, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 142, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 143, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 143, }, Token { kind: String, lexeme: "\"lua - < %s > %s\"", computed_lexeme: None, line: 143, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 143, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 143, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 143, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 144, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 144, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 144, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 147, }, Token { kind: MultilineString, lexeme: "[[print(({...})[30])]]", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\"lua %s %s > %s\"", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 148, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: String, lexeme: "\" a\"", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 149, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 149, }, Token { kind: String, lexeme: "\"a\\n\"", computed_lexeme: None, line: 149, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: MultilineString, lexeme: "[[lua \"-eprint(1)\" -ea=3 -e \"print(a)\" > %s]]", computed_lexeme: None, line: 151, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 151, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 152, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "\"1\\n3\\n\"", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 154, }, Token { kind: MultilineString, lexeme: "[[\n print(\n1, a\n)\n]]", computed_lexeme: None, line: 158, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: String, lexeme: "\"lua - < %s > %s\"", computed_lexeme: None, line: 159, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 159, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 160, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 160, }, Token { kind: String, lexeme: "\"1\\tnil\\n\"", computed_lexeme: None, line: 160, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 162, }, Token { kind: MultilineString, lexeme: "[[\n= (6*2-6) -- ===\na \n= 10\nprint(a)\n= a]]", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 168, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 168, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 169, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 169, }, Token { kind: String, lexeme: "\"6\\n10\\n10\\n\\n\"", computed_lexeme: None, line: 169, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\"a = [[b\\nc\\nd\\ne]]\\n=a\"", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 172, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 172, }, Token { kind: String, lexeme: "\"temporary program file: \"", computed_lexeme: None, line: 172, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 172, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 172, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 172, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 173, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 173, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 173, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 173, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 173, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 173, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 174, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 174, }, Token { kind: String, lexeme: "\"b\\nc\\nd\\ne\\n\\n\"", computed_lexeme: None, line: 174, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 174, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 176, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 176, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 177, }, Token { kind: MultilineString, lexeme: "[[ --\na = 2\n]]", computed_lexeme: None, line: 179, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 180, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 180, }, Token { kind: MultilineString, lexeme: "[[lua \"-e_PROMPT='%s'\" -i < %s > %s]]", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 180, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 180, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 180, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 180, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 181, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 181, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 181, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 181, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 181, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 181, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 182, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 182, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 182, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 182, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 182, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 182, }, Token { kind: String, lexeme: "\".*\"", computed_lexeme: None, line: 182, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 182, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 182, }, Token { kind: String, lexeme: "\".*\"", computed_lexeme: None, line: 182, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 182, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 182, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 182, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 185, }, Token { kind: MultilineString, lexeme: "[[\ndebug = require \"debug\"\nm = {x=0}\nsetmetatable(m, {__tostring = function(x)\n return debug.getinfo(4).currentline + x.x\nend})\nerror(m)\n]]", computed_lexeme: None, line: 192, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 193, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 193, }, Token { kind: MultilineString, lexeme: "[[lua %s 2> %s]]", computed_lexeme: None, line: 193, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 193, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 193, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 193, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 194, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 194, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 194, }, Token { kind: String, lexeme: "\": 6\\n\"", computed_lexeme: None, line: 194, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 197, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 197, }, Token { kind: MultilineString, lexeme: "[=[ -- \nfunction f ( x ) \n local a = [[\nxuxu\n]]\n local b = \"\\\nxuxu\\n\"\n if x == 11 then return 1 , 2 end --[[ test multiple returns ]]\n return x + 1 \n --\\\\\nend\n=( f( 10 ) )\nassert( a == b )\n=f( 11 ) ]=]", computed_lexeme: None, line: 210, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 211, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 211, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 211, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 211, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 211, }, Token { kind: String, lexeme: "' '", computed_lexeme: None, line: 211, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 211, }, Token { kind: String, lexeme: "'\\n\\n'", computed_lexeme: None, line: 211, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 211, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 212, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 212, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 212, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 213, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 213, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 213, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 213, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 213, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 214, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 214, }, Token { kind: String, lexeme: "\"11\\n1\\t2\\n\\n\"", computed_lexeme: None, line: 214, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 216, }, Token { kind: MultilineString, lexeme: "[[#comment in 1st line without \\n at the end]]", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 217, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 219, }, Token { kind: MultilineString, lexeme: "[[#test line number when file starts with comment line\ndebug = require\"debug\"\nprint(debug.getinfo(1).currentline)\n]]", computed_lexeme: None, line: 222, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 223, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 223, }, Token { kind: String, lexeme: "\"lua %s > %s\"", computed_lexeme: None, line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 223, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 223, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 223, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 224, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 224, }, Token { kind: String, lexeme: "'3'", computed_lexeme: None, line: 224, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 224, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 227, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 227, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 227, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 227, }, Token { kind: MultilineString, lexeme: "[[io.output(%q); io.write('alo')]]", computed_lexeme: None, line: 227, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 227, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 227, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 228, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 228, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 228, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 228, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 228, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 229, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "'alo'", computed_lexeme: None, line: 229, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 232, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 232, }, Token { kind: MultilineString, lexeme: "[[lua -v -e'print\"hello\"' > %s]]", computed_lexeme: None, line: 232, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 232, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 232, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 233, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 233, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 233, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 234, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 234, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 234, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 234, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 234, }, Token { kind: String, lexeme: "\"PUC%-Rio\\nhello\"", computed_lexeme: None, line: 234, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 234, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 234, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 238, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 238, }, Token { kind: String, lexeme: "\"os.exit(nil, true)\"", computed_lexeme: None, line: 238, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 239, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 240, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 240, }, Token { kind: String, lexeme: "\"os.exit(0, true)\"", computed_lexeme: None, line: 240, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 240, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 241, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 241, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 241, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 241, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 241, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 242, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 242, }, Token { kind: String, lexeme: "\"os.exit(true, true)\"", computed_lexeme: None, line: 242, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 242, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 243, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 243, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 243, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 243, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 243, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 244, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 244, }, Token { kind: String, lexeme: "\"os.exit(1, true)\"", computed_lexeme: None, line: 244, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 244, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 245, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 245, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 245, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 245, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 245, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 245, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 246, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 246, }, Token { kind: String, lexeme: "\"os.exit(false, true)\"", computed_lexeme: None, line: 246, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 246, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 247, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 247, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 247, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 247, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 247, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 249, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 249, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 249, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 249, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 249, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 250, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 250, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 250, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 250, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 250, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 251, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 251, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 251, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 251, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 251, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 251, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 251, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 251, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 251, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 251, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: String, lexeme: "\"lua -v\"", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "NoRunMsg", computed_lexeme: None, line: 255, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 255, }, Token { kind: String, lexeme: "\"lua -h\"", computed_lexeme: None, line: 255, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 255, }, Token { kind: Identifier, lexeme: "NoRunMsg", computed_lexeme: None, line: 256, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 256, }, Token { kind: String, lexeme: "\"lua -e\"", computed_lexeme: None, line: 256, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 256, }, Token { kind: Identifier, lexeme: "NoRunMsg", computed_lexeme: None, line: 257, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 257, }, Token { kind: String, lexeme: "\"lua -e a\"", computed_lexeme: None, line: 257, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 257, }, Token { kind: Identifier, lexeme: "NoRunMsg", computed_lexeme: None, line: 258, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 258, }, Token { kind: String, lexeme: "\"lua -f\"", computed_lexeme: None, line: 258, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 258, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 260, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 260, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 260, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 260, }, ]