--- source: src/main.rs expression: scanned input_file: test-data/lua5.1-tests/main.lua --- [ Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 3, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 3, }, Token { kind: String, lexeme: "\"testing lua.c options\"", computed_lexeme: None, line: 3, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 3, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 5, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 5, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 5, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 5, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 5, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 5, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 5, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 5, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 7, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 7, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 7, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 7, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 7, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 8, }, Token { kind: Equals, 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: "tmpname", 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: Identifier, lexeme: "out", computed_lexeme: None, line: 9, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 9, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 9, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 9, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 9, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 9, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 11, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 12, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 12, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 12, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 13, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 13, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 13, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 13, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 13, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 13, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 13, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 13, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 14, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 14, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 14, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 14, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 14, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 14, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 14, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 14, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 14, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 14, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 15, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 16, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 16, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 16, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 18, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 18, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 18, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 19, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 19, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 20, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "output", computed_lexeme: None, line: 20, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 20, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 21, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "write", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 21, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 22, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 22, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "close", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 22, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 23, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 25, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 25, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 26, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "input", computed_lexeme: None, line: 26, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 26, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 26, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 27, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 27, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 27, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 27, }, Token { kind: String, lexeme: "\"*a\"", computed_lexeme: None, line: 27, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 28, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "input", 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: Colon, lexeme: ":", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "close", 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: "assert", computed_lexeme: None, line: 29, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 29, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 29, }, Token { kind: Identifier, lexeme: "remove", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 29, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 30, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 30, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 30, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 30, }, Token { kind: String, lexeme: "\"'%s' - '%s'\\n\"", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 30, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 31, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 31, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 31, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 31, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 32, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 33, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 35, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 35, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 35, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 35, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 35, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 36, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 36, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 36, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 36, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 36, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 36, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 37, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 37, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 37, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 37, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 37, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 37, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 37, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 37, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 37, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 37, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 37, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 38, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "execute", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 39, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 42, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 42, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 42, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 42, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 42, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 43, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: String, lexeme: "\"\\n(the next error is expected by the test)\"", computed_lexeme: None, line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "auxrun", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 47, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 51, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 51, }, Token { kind: String, lexeme: "\"print(1); a=2\"", computed_lexeme: None, line: 51, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 51, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 52, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 52, }, Token { kind: String, lexeme: "\"print(a)\"", computed_lexeme: None, line: 52, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 52, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: String, lexeme: "\"lua -l %s -l%s -lstring -l io %s > %s\"", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 53, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 54, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 54, }, Token { kind: String, lexeme: "\"1\\n2\\n2\\n\"", computed_lexeme: None, line: 54, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 54, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 56, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 56, }, Token { kind: MultilineString, lexeme: "[[\n assert(table.getn(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: 63, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 64, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 64, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 64, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 64, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 64, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 64, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 65, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 65, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 65, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 66, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 66, }, Token { kind: String, lexeme: "'lua \"-e \" -- %s a b c'", computed_lexeme: None, line: 66, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 66, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 68, }, Token { kind: String, lexeme: "\"assert(arg==nil)\"", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: String, lexeme: "\"assert(arg)\"", computed_lexeme: None, line: 69, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: String, lexeme: "\"lua -l%s - < %s\"", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 70, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 72, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 73, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 73, }, Token { kind: String, lexeme: "\"lua - < %s > %s\"", computed_lexeme: None, line: 73, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 73, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 73, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 73, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 74, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 74, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 74, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 77, }, Token { kind: MultilineString, lexeme: "[[print(({...})[30])]]", computed_lexeme: None, line: 77, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: String, lexeme: "\"lua %s %s > %s\"", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 78, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 78, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 78, }, Token { kind: String, lexeme: "\" a\"", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 78, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 78, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 78, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 79, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "\"a\\n\"", computed_lexeme: None, line: 79, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 79, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 81, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 81, }, Token { kind: MultilineString, lexeme: "[[lua \"-eprint(1)\" -ea=3 -e \"print(a)\" > %s]]", computed_lexeme: None, line: 81, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 82, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 82, }, Token { kind: String, lexeme: "\"1\\n3\\n\"", computed_lexeme: None, line: 82, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 82, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 84, }, Token { kind: MultilineString, lexeme: "[[\n print(\n1, a\n)\n]]", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 89, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 89, }, Token { kind: String, lexeme: "\"lua - < %s > %s\"", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 89, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 89, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 90, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 90, }, Token { kind: String, lexeme: "\"1\\tnil\\n\"", computed_lexeme: None, line: 90, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 90, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 92, }, Token { kind: MultilineString, lexeme: "[[\n= (6*2-6) -- ===\na \n= 10\nprint(a)\n= a]]", computed_lexeme: None, line: 97, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 98, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 98, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 98, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 98, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 98, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 98, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 99, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 99, }, Token { kind: String, lexeme: "\"6\\n10\\n10\\n\\n\"", computed_lexeme: None, line: 99, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 99, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: String, lexeme: "\"a = [[b\\nc\\nd\\ne]]\\n=a\"", computed_lexeme: None, line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 102, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 102, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 102, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 103, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 103, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 103, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 103, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 103, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 103, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 104, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 104, }, Token { kind: String, lexeme: "\"b\\nc\\nd\\ne\\n\\n\"", computed_lexeme: None, line: 104, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 106, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 106, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 106, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 107, }, Token { kind: MultilineString, lexeme: "[[ --\na = 2\n]]", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 110, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 110, }, Token { kind: MultilineString, lexeme: "[[lua \"-e_PROMPT='%s'\" -i < %s > %s]]", computed_lexeme: None, line: 110, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 110, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 110, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 110, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 110, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 111, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 111, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 111, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 111, }, Token { kind: Number, lexeme: "3", computed_lexeme: Some( "3", ), line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 111, }, Token { kind: String, lexeme: "\"\\n\"", computed_lexeme: None, line: 111, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 111, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 113, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 113, }, 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: 126, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 127, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 127, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 127, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: String, lexeme: "' '", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: String, lexeme: "'\\n\\n'", computed_lexeme: None, line: 127, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 128, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 128, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 129, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 129, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 129, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 129, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 129, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 129, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 130, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 130, }, Token { kind: String, lexeme: "\"11\\n1\\t2\\n\\n\"", computed_lexeme: None, line: 130, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 130, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 132, }, Token { kind: MultilineString, lexeme: "[[#comment in 1st line without \\n at the end]]", computed_lexeme: None, line: 132, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 133, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 133, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 133, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 133, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 133, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 133, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 135, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "\"#comment with a binary file\\n\"", computed_lexeme: None, line: 135, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 135, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "dump", computed_lexeme: None, line: 135, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 135, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 135, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 135, }, Token { kind: String, lexeme: "\"print(1)\"", computed_lexeme: None, line: 135, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 135, }, Token { kind: RightParen, lexeme: ")", 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 %s > %s\"", 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: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 136, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 136, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 137, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 137, }, Token { kind: String, lexeme: "\"1\\n\"", computed_lexeme: None, line: 137, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 137, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: String, lexeme: "\"#comment with a binary file\\r\\n\"", computed_lexeme: None, line: 139, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 139, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "dump", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "loadstring", computed_lexeme: None, line: 139, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 139, }, Token { kind: String, lexeme: "\"print(1)\"", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 139, }, Token { kind: RightParen, lexeme: ")", 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: "\"lua %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: "out", computed_lexeme: None, line: 140, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 140, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 141, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 141, }, Token { kind: String, lexeme: "\"1\\n\"", computed_lexeme: None, line: 141, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 141, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 144, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 144, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 144, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 144, }, Token { kind: MultilineString, lexeme: "[[io.output(%q); io.write('alo')]]", computed_lexeme: None, line: 144, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 144, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 144, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 144, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 145, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 145, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 145, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 145, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 146, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 146, }, Token { kind: String, lexeme: "'alo'", computed_lexeme: None, line: 146, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 148, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 148, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 149, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 149, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 149, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 149, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 149, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 149, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 150, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 150, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 150, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 150, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 150, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 150, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 150, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 152, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "\"lua -v\"", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: String, lexeme: "\"lua -h\"", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 155, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 155, }, Token { kind: String, lexeme: "\"lua -e\"", computed_lexeme: None, line: 155, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 155, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 156, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 156, }, Token { kind: String, lexeme: "\"lua -e a\"", computed_lexeme: None, line: 156, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 156, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 157, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 157, }, Token { kind: String, lexeme: "\"lua -f\"", computed_lexeme: None, line: 157, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 157, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, ]