--- source: src/main.rs expression: scanned input_file: test-data/lua5.3-tests/main.lua --- [ Token { kind: If, lexeme: "if", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "_port", computed_lexeme: None, line: 6, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 6, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 6, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 6, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 12, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 12, }, Token { kind: String, lexeme: "\"testing stand-alone interpreter\"", computed_lexeme: None, line: 12, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 12, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 14, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 14, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 14, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 14, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 16, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 16, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 16, }, Token { kind: Identifier, lexeme: "_ARG", computed_lexeme: None, line: 16, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 18, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 18, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 18, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 18, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 18, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 18, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 19, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 19, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 19, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 19, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 19, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 19, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 20, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 20, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 20, }, Token { kind: Identifier, lexeme: "tmpname", computed_lexeme: None, line: 20, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 20, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 20, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 22, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 22, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 23, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 24, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 24, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 24, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 24, }, Token { kind: While, lexeme: "while", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 25, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 25, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 25, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 25, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 25, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 25, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 25, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 25, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 26, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "arg", computed_lexeme: None, line: 26, }, Token { kind: LeftBracket, lexeme: "[", computed_lexeme: None, line: 26, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 26, }, Token { kind: Plus, lexeme: "+", computed_lexeme: None, line: 26, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 26, }, Token { kind: RightBracket, lexeme: "]", computed_lexeme: None, line: 26, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 27, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 28, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 28, }, Token { kind: String, lexeme: "\"progname: \"", computed_lexeme: None, line: 28, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 28, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 28, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 28, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 30, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 30, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 30, }, Token { kind: LeftParen, 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: "p", computed_lexeme: None, line: 30, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 30, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 31, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 31, }, Token { kind: Or, lexeme: "or", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 31, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 32, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "output", computed_lexeme: None, line: 32, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 32, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 32, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 33, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "write", computed_lexeme: None, line: 33, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 33, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 33, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 34, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 34, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 34, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 34, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 34, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 34, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 34, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 35, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 37, }, Token { kind: Function, lexeme: "function", 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: Identifier, lexeme: "io", computed_lexeme: None, line: 38, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "input", computed_lexeme: None, line: 38, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 38, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 38, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 38, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 39, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 39, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 39, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 39, }, Token { kind: String, lexeme: "\"a\"", computed_lexeme: None, line: 39, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 39, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 40, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "input", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 40, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 40, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 40, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 40, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 41, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 41, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 41, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 41, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 42, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 42, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 43, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 45, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 45, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 45, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 45, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 45, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 46, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 46, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 46, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 46, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 46, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 47, }, Token { kind: In, lexeme: "in", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 47, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "gmatch", computed_lexeme: None, line: 47, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 47, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 47, }, Token { kind: String, lexeme: "\".-\\n\"", computed_lexeme: None, line: 47, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 47, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 47, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 48, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 48, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Identifier, lexeme: "line", computed_lexeme: None, line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 48, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 48, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 48, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 49, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 50, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 52, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 52, }, Token { kind: Identifier, lexeme: "checkout", 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: RightParen, lexeme: ")", computed_lexeme: None, line: 52, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 53, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 53, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 53, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 53, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 53, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 54, }, Token { kind: NotEquals, lexeme: "~=", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 54, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 54, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 54, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 54, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 54, }, Token { kind: String, lexeme: "\"'%s' - '%s'\\n\"", computed_lexeme: None, line: 54, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 54, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 54, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 54, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 54, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 54, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 55, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 55, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 55, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 55, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 55, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 56, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 56, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 57, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 60, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 60, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 60, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 60, }, Token { kind: Comma, 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: "p", computed_lexeme: None, line: 61, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 61, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 61, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 61, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 61, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 61, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 61, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 61, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 61, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 61, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 61, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 62, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 62, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 62, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 62, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 62, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 62, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 62, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 63, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 63, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 63, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 63, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 64, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 66, }, Token { kind: Function, lexeme: "function", 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: Identifier, lexeme: "msg", computed_lexeme: None, line: 66, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 66, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 66, }, Token { kind: Comma, 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: Identifier, lexeme: "p", computed_lexeme: None, line: 67, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 67, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 67, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 67, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 67, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 67, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 67, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 67, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 67, }, Token { kind: String, lexeme: "'\"'", computed_lexeme: None, line: 67, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 67, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 67, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 67, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 68, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 68, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 68, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 68, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 68, }, Token { kind: TripleDot, lexeme: "...", computed_lexeme: None, line: 68, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 68, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 69, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 69, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 69, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 69, }, Token { kind: String, lexeme: "\"%s 2> %s\"", computed_lexeme: None, line: 69, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 69, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 69, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 69, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 70, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 70, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 70, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 71, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 71, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: Identifier, lexeme: "msg", computed_lexeme: None, line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 71, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 71, }, Token { kind: True, lexeme: "true", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 71, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 72, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 74, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 74, }, Token { kind: String, lexeme: "'lua -v'", computed_lexeme: None, line: 74, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 74, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 76, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 76, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 76, }, Token { kind: String, lexeme: "\"(temporary program file used in these tests: %s)\"", computed_lexeme: None, line: 76, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 76, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 79, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 79, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 80, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 80, }, Token { kind: String, lexeme: "'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: "\"\"", computed_lexeme: None, line: 81, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 81, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 83, }, Token { kind: MultilineString, lexeme: "[[\n print(\n1, a\n)\n]]", computed_lexeme: None, line: 87, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 88, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 88, }, Token { kind: String, lexeme: "'lua - < %s > %s'", computed_lexeme: None, line: 88, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 88, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 88, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 88, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 89, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 89, }, Token { kind: String, lexeme: "\"1\\tnil\\n\"", computed_lexeme: None, line: 89, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 89, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 91, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 91, }, Token { kind: String, lexeme: "'echo \"print(10)\\nprint(2)\\n\" | lua > %s'", 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\\n2\\n\"", computed_lexeme: None, line: 92, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 92, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 96, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 96, }, Token { kind: String, lexeme: "'echo \"print(arg[1])\" | lua - -h > %s'", computed_lexeme: None, line: 96, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 96, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 96, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 96, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 97, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 97, }, Token { kind: String, lexeme: "\"-h\\n\"", computed_lexeme: None, line: 97, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 97, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 101, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 101, }, Token { kind: String, lexeme: "\"print(package.path)\"", computed_lexeme: None, line: 101, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 101, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 104, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 104, }, Token { kind: String, lexeme: "'env LUA_INIT= LUA_PATH=x lua %s > %s'", computed_lexeme: None, line: 104, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 104, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 104, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 104, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 105, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 105, }, Token { kind: String, lexeme: "\"x\\n\"", computed_lexeme: None, line: 105, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 105, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 108, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 108, }, Token { kind: String, lexeme: "'env LUA_INIT= LUA_PATH_5_3=y LUA_PATH=x lua %s > %s'", computed_lexeme: None, line: 108, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 108, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 108, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 108, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 109, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 109, }, Token { kind: String, lexeme: "\"y\\n\"", computed_lexeme: None, line: 109, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 109, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 112, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 112, }, Token { kind: String, lexeme: "\"print(package.cpath)\"", computed_lexeme: None, line: 112, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 112, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 113, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 113, }, Token { kind: String, lexeme: "'env LUA_INIT= LUA_CPATH=xuxu lua %s > %s'", computed_lexeme: None, line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 113, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 113, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 113, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 114, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 114, }, Token { kind: String, lexeme: "\"xuxu\\n\"", computed_lexeme: None, line: 114, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 114, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 117, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 117, }, Token { kind: String, lexeme: "'env LUA_INIT= LUA_CPATH_5_3=yacc LUA_CPATH=x lua %s > %s'", computed_lexeme: None, line: 117, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 117, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 117, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 117, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 118, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 118, }, Token { kind: String, lexeme: "\"yacc\\n\"", computed_lexeme: None, line: 118, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 118, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 121, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 121, }, Token { kind: String, lexeme: "\"print(X)\"", computed_lexeme: None, line: 121, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 121, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 122, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 122, }, Token { kind: String, lexeme: "'env LUA_INIT=\"X=tonumber(arg[1])\" lua %s 3.2 > %s'", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 122, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 122, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 122, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 123, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 123, }, Token { kind: String, lexeme: "\"3.2\\n\"", computed_lexeme: None, line: 123, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 123, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 126, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 126, }, Token { kind: String, lexeme: "\"print(X)\"", computed_lexeme: None, line: 126, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 126, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 127, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 127, }, Token { kind: String, lexeme: "'env LUA_INIT_5_3=\"X=10\" LUA_INIT=\"X=3\" lua %s > %s'", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 127, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 127, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 127, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 128, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 128, }, Token { kind: String, lexeme: "\"10\\n\"", computed_lexeme: None, line: 128, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 128, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 131, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 131, }, Token { kind: String, lexeme: "\"x = x or 10; print(x); x = x + 1\"", computed_lexeme: None, line: 131, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 131, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 132, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 132, }, Token { kind: String, lexeme: "'env LUA_INIT=\"@%s\" lua %s > %s'", computed_lexeme: None, line: 132, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 132, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 132, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 132, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 132, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 132, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 132, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 132, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 133, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 133, }, Token { kind: String, lexeme: "\"10\\n11\\n\"", computed_lexeme: None, line: 133, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 133, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 136, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'LUA_INIT:1: msg'", computed_lexeme: None, line: 136, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 136, }, Token { kind: String, lexeme: "'env LUA_INIT=\"error(\\'msg\\')\" lua'", computed_lexeme: None, line: 136, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 136, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 139, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 139, }, Token { kind: Identifier, lexeme: "defaultCpath", computed_lexeme: None, line: 139, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 141, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 142, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 142, }, Token { kind: String, lexeme: "\"print(package.path, package.cpath)\"", computed_lexeme: None, line: 142, }, Token { kind: RightParen, 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: "'env LUA_INIT=\"error(10)\" LUA_PATH=xxx LUA_CPATH=xxx lua -E %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: 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: Local, lexeme: "local", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 145, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 145, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 145, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 145, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 146, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 146, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 146, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 146, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 146, }, Token { kind: String, lexeme: "\"^(.-)\\t\"", computed_lexeme: None, line: 146, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 146, }, Token { kind: Identifier, lexeme: "defaultCpath", computed_lexeme: None, line: 147, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 147, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "match", computed_lexeme: None, line: 147, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 147, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 147, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 147, }, Token { kind: String, lexeme: "\"\\t(.-)$\"", computed_lexeme: None, line: 147, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 147, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 148, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 151, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 151, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 151, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 151, }, Token { kind: String, lexeme: "\"xxx\"", computed_lexeme: None, line: 151, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 151, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 151, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 152, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 152, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 152, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 152, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 152, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 152, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 152, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 152, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 153, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 153, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "defaultCpath", computed_lexeme: None, line: 153, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 153, }, Token { kind: String, lexeme: "\"xxx\"", computed_lexeme: None, line: 153, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 153, }, Token { kind: And, lexeme: "and", computed_lexeme: None, line: 153, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 154, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 154, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 154, }, Token { kind: Identifier, lexeme: "defaultCpath", computed_lexeme: None, line: 154, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 154, }, Token { kind: String, lexeme: "\"lua\"", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 154, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 158, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 158, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 158, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 158, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 158, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 158, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 159, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 159, }, Token { kind: String, lexeme: "\"print(package.path)\"", computed_lexeme: None, line: 159, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 159, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 160, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 160, }, Token { kind: String, lexeme: "'env LUA_PATH=\"%s\" lua %s > %s'", computed_lexeme: None, line: 160, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 160, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 160, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 160, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 160, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 160, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 161, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 161, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 161, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 161, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 161, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 161, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 162, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 162, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "sub", computed_lexeme: None, line: 162, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 162, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 162, }, Token { kind: Number, lexeme: "1", computed_lexeme: Some( "1", ), line: 162, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 162, }, Token { kind: Minus, lexeme: "-", computed_lexeme: None, line: 162, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 162, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 162, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 163, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 163, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 163, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "p", computed_lexeme: None, line: 163, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 163, }, Token { kind: String, lexeme: "\";;\"", computed_lexeme: None, line: 163, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 163, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 163, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "defaultpath", computed_lexeme: None, line: 163, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 163, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 163, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 163, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 163, }, Token { kind: Identifier, lexeme: "expected", computed_lexeme: None, line: 163, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 163, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 164, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 166, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 166, }, Token { kind: String, lexeme: "\";\"", computed_lexeme: None, line: 166, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 166, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 167, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 167, }, Token { kind: String, lexeme: "\";;\"", computed_lexeme: None, line: 167, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 167, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 168, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 168, }, Token { kind: String, lexeme: "\";;;\"", computed_lexeme: None, line: 168, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 168, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 169, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 169, }, Token { kind: String, lexeme: "\";;;;\"", computed_lexeme: None, line: 169, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 169, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 170, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 170, }, Token { kind: String, lexeme: "\";;;;;\"", computed_lexeme: None, line: 170, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 170, }, Token { kind: Identifier, lexeme: "convert", computed_lexeme: None, line: 171, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 171, }, Token { kind: String, lexeme: "\";;a;;;bc\"", computed_lexeme: None, line: 171, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 171, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 175, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 175, }, Token { kind: String, lexeme: "\"print(1); a=2; return {x=15}\"", computed_lexeme: None, line: 175, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 175, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: String, lexeme: "\"print(a); print(_G['%s'].x)\"", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 176, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 176, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 176, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 177, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 177, }, Token { kind: String, lexeme: "'env LUA_PATH=\"?;;\" lua -l %s -l%s -lstring -l io %s > %s'", computed_lexeme: None, line: 177, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 177, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 177, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 177, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 177, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 177, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 178, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 178, }, Token { kind: String, lexeme: "\"1\\n2\\n15\\n2\\n15\\n\"", computed_lexeme: None, line: 178, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 178, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 181, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 181, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 181, }, 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: 188, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 189, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 189, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 189, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 189, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 189, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 189, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 190, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "a", computed_lexeme: None, line: 190, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 190, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 191, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 191, }, Token { kind: String, lexeme: "'lua \"-e \" -- %s a b c'", computed_lexeme: None, line: 191, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 191, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 191, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 194, }, Token { kind: String, lexeme: "\"assert(arg)\"", computed_lexeme: None, line: 194, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 195, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 195, }, Token { kind: String, lexeme: "\"assert(arg)\"", computed_lexeme: None, line: 195, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 195, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 195, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 196, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 196, }, Token { kind: String, lexeme: "'env LUA_PATH=\"?;;\" lua -l%s - < %s'", computed_lexeme: None, line: 196, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 196, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 196, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 196, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 199, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 199, }, Token { kind: String, lexeme: "'echo \"print(...)\" | lua -e \"arg[1] = 100\" - > %s'", computed_lexeme: None, line: 199, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 199, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 199, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 199, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 200, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 200, }, Token { kind: String, lexeme: "\"100\\n\"", computed_lexeme: None, line: 200, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 200, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 201, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 201, }, Token { kind: String, lexeme: "\"'arg' is not a table\"", computed_lexeme: None, line: 201, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 201, }, Token { kind: String, lexeme: "'echo \"\" | lua -e \"arg = 1\" -'", computed_lexeme: None, line: 201, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 201, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 204, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 204, }, Token { kind: String, lexeme: "'echo 10 | lua -e \"print=nil\" -i > /dev/null 2> %s'", computed_lexeme: None, line: 204, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 204, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 204, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 205, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 205, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 205, }, Token { kind: String, lexeme: "\"error calling 'print'\"", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 205, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 208, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 208, }, Token { kind: String, lexeme: "'echo \"io.stderr:write(1000)\\ncont\" | lua -e \"require\\'debug\\'.debug()\" 2> %s'", computed_lexeme: None, line: 208, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 208, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 208, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 209, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 209, }, Token { kind: String, lexeme: "\"lua_debug> 1000lua_debug> \"", computed_lexeme: None, line: 209, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 209, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 212, }, Token { kind: MultilineString, lexeme: "[[print(({...})[30])]]", 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: String, lexeme: "'lua %s %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: "string", computed_lexeme: None, line: 213, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 213, }, Token { kind: Identifier, lexeme: "rep", computed_lexeme: None, line: 213, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 213, }, Token { kind: String, lexeme: "\" a\"", computed_lexeme: None, line: 213, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 213, }, Token { kind: Number, lexeme: "30", computed_lexeme: Some( "30", ), line: 213, }, Token { kind: RightParen, lexeme: ")", 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: "checkout", computed_lexeme: None, line: 214, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 214, }, Token { kind: String, lexeme: "\"a\\n\"", computed_lexeme: None, line: 214, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 214, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 216, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 216, }, Token { kind: MultilineString, lexeme: "[[lua \"-eprint(1)\" -ea=3 -e \"print(a)\" > %s]]", computed_lexeme: None, line: 216, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 216, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 216, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 217, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 217, }, Token { kind: String, lexeme: "\"1\\n3\\n\"", computed_lexeme: None, line: 217, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 217, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 220, }, Token { kind: MultilineString, lexeme: "[[\n(6*2-6) -- ===\na =\n10\nprint(a)\na]]", computed_lexeme: None, line: 225, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 226, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 226, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 226, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 226, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 226, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 226, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 227, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 227, }, Token { kind: String, lexeme: "\"6\\n10\\n10\\n\\n\"", computed_lexeme: None, line: 227, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 227, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 229, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 229, }, Token { kind: String, lexeme: "\"a = [[b\\nc\\nd\\ne]]\\n=a\"", computed_lexeme: None, line: 229, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 229, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 230, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 230, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 230, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 230, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 230, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 230, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 231, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 231, }, Token { kind: String, lexeme: "\"b\\nc\\nd\\ne\\n\\n\"", computed_lexeme: None, line: 231, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 231, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 233, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 233, }, Token { kind: String, lexeme: "\"alo\"", computed_lexeme: None, line: 233, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 234, }, Token { kind: MultilineString, lexeme: "[[ --\na = 2\n]]", computed_lexeme: None, line: 236, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 237, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 237, }, Token { kind: MultilineString, lexeme: "[[lua \"-e_PROMPT='%s'\" -i < %s > %s]]", computed_lexeme: None, line: 237, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 237, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 237, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 237, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 237, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 237, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 238, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 238, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 238, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 238, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 239, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 239, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 239, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 239, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 239, }, Token { kind: String, lexeme: "\".*\"", computed_lexeme: None, line: 239, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 239, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 239, }, Token { kind: String, lexeme: "\".*\"", computed_lexeme: None, line: 239, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prompt", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 239, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 242, }, Token { kind: MultilineString, lexeme: "[[\ndebug = require \"debug\"\nm = {x=0}\nsetmetatable(m, {__tostring = function(x)\n return tostring(debug.getinfo(4).currentline + x.x)\nend})\nerror(m)\n]]", computed_lexeme: None, line: 249, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 250, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 250, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 250, }, Token { kind: String, lexeme: "\": 6\\n\"", computed_lexeme: None, line: 250, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 250, }, Token { kind: MultilineString, lexeme: "[[lua %s]]", computed_lexeme: None, line: 250, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 250, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 250, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 252, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 252, }, Token { kind: String, lexeme: "\"error{}\"", computed_lexeme: None, line: 252, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 252, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 253, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 253, }, Token { kind: String, lexeme: "\"error object is a table value\"", computed_lexeme: None, line: 253, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 253, }, Token { kind: MultilineString, lexeme: "[[lua %s]]", computed_lexeme: None, line: 253, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 253, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 253, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 257, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 257, }, Token { kind: MultilineString, lexeme: "[=[ -- \nfunction f ( x ) \n local a = [[\nxuxu\n]]\n local b = \"\\\nxuxu\\n\"\n if x == 11 then return 1 + 12 , 2 + 20 end --[[ test multiple returns ]]\n return x + 1 \n --\\\\\nend\nreturn( f( 100 ) )\nassert( a == b )\ndo return f( 11 ) end ]=]", computed_lexeme: None, line: 270, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 271, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 271, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "gsub", computed_lexeme: None, line: 271, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 271, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 271, }, Token { kind: String, lexeme: "' '", computed_lexeme: None, line: 271, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 271, }, Token { kind: String, lexeme: "'\\n\\n'", computed_lexeme: None, line: 271, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 271, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 272, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 272, }, Token { kind: Identifier, lexeme: "s", computed_lexeme: None, line: 272, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 272, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 273, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 273, }, Token { kind: MultilineString, lexeme: "[[lua -e\"_PROMPT='' _PROMPT2=''\" -i < %s > %s]]", computed_lexeme: None, line: 273, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 273, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 273, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 273, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 273, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 273, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 274, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 274, }, Token { kind: String, lexeme: "\"101\\n13\\t22\\n\\n\"", computed_lexeme: None, line: 274, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 274, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 276, }, Token { kind: MultilineString, lexeme: "[[#comment in 1st line without \\n at the end]]", computed_lexeme: None, line: 276, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 277, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 277, }, Token { kind: String, lexeme: "'lua %s'", computed_lexeme: None, line: 277, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 277, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 277, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 279, }, 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: 282, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 283, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 283, }, Token { kind: String, lexeme: "'lua %s > %s'", computed_lexeme: None, line: 283, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 283, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 283, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 283, }, Token { kind: Identifier, lexeme: "checkprogout", computed_lexeme: None, line: 284, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 284, }, Token { kind: String, lexeme: "'3'", computed_lexeme: None, line: 284, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 284, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 287, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 287, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 287, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 287, }, Token { kind: MultilineString, lexeme: "[[io.output(%q); io.write('alo')]]", computed_lexeme: None, line: 287, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 287, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 287, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 287, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 288, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 288, }, Token { kind: String, lexeme: "'lua %s'", computed_lexeme: None, line: 288, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 288, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 288, }, Token { kind: Identifier, lexeme: "checkout", computed_lexeme: None, line: 289, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 289, }, Token { kind: String, lexeme: "'alo'", computed_lexeme: None, line: 289, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 289, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 292, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 292, }, Token { kind: MultilineString, lexeme: "[[lua -v -e\"print'hello'\" > %s]]", computed_lexeme: None, line: 292, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 292, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 292, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 293, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "getoutput", computed_lexeme: None, line: 293, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 293, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 293, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 294, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "find", computed_lexeme: None, line: 294, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "t", computed_lexeme: None, line: 294, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 294, }, Token { kind: String, lexeme: "\"PUC%-Rio\\nhello\"", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 294, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 298, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 298, }, Token { kind: String, lexeme: "\"os.exit(nil, true)\"", computed_lexeme: None, line: 298, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 298, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 299, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 299, }, Token { kind: String, lexeme: "'lua %s'", computed_lexeme: None, line: 299, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 299, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 299, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 300, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 300, }, Token { kind: String, lexeme: "\"os.exit(0, true)\"", computed_lexeme: None, line: 300, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 300, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 301, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 301, }, Token { kind: String, lexeme: "'lua %s'", computed_lexeme: None, line: 301, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 301, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 301, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 302, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 302, }, Token { kind: String, lexeme: "\"os.exit(true, true)\"", computed_lexeme: None, line: 302, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 302, }, Token { kind: Identifier, lexeme: "RUN", computed_lexeme: None, line: 303, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 303, }, Token { kind: String, lexeme: "'lua %s'", computed_lexeme: None, line: 303, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 303, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 303, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 303, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 304, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 304, }, Token { kind: String, lexeme: "\"os.exit(1, true)\"", computed_lexeme: None, line: 304, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 304, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 305, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 305, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 305, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 305, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 305, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 305, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 305, }, Token { kind: Identifier, lexeme: "prepfile", computed_lexeme: None, line: 306, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 306, }, Token { kind: String, lexeme: "\"os.exit(false, true)\"", computed_lexeme: None, line: 306, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 306, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 307, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 307, }, Token { kind: String, lexeme: "\"\"", computed_lexeme: None, line: 307, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 307, }, Token { kind: String, lexeme: "\"lua %s\"", computed_lexeme: None, line: 307, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 307, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 307, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 310, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 310, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 310, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 310, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 310, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 310, }, Token { kind: Identifier, lexeme: "prog", computed_lexeme: None, line: 310, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 310, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 310, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 311, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 311, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 311, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 311, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 311, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 311, }, Token { kind: Identifier, lexeme: "otherprog", computed_lexeme: None, line: 311, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 311, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 311, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 312, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 312, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 312, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "remove", computed_lexeme: None, line: 312, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "out", computed_lexeme: None, line: 312, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 312, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 312, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 315, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 315, }, Token { kind: String, lexeme: "\"unrecognized option '-h'\"", computed_lexeme: None, line: 315, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 315, }, Token { kind: String, lexeme: "\"lua -h\"", computed_lexeme: None, line: 315, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 315, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 316, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 316, }, Token { kind: String, lexeme: "\"unrecognized option '---'\"", computed_lexeme: None, line: 316, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 316, }, Token { kind: String, lexeme: "\"lua ---\"", computed_lexeme: None, line: 316, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 316, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 317, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 317, }, Token { kind: String, lexeme: "\"unrecognized option '-Ex'\"", computed_lexeme: None, line: 317, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 317, }, Token { kind: String, lexeme: "\"lua -Ex\"", computed_lexeme: None, line: 317, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 317, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 318, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 318, }, Token { kind: String, lexeme: "\"unrecognized option '-vv'\"", computed_lexeme: None, line: 318, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 318, }, Token { kind: String, lexeme: "\"lua -vv\"", computed_lexeme: None, line: 318, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 318, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 319, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 319, }, Token { kind: String, lexeme: "\"unrecognized option '-iv'\"", computed_lexeme: None, line: 319, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 319, }, Token { kind: String, lexeme: "\"lua -iv\"", computed_lexeme: None, line: 319, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 319, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 320, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 320, }, Token { kind: String, lexeme: "\"'-e' needs argument\"", computed_lexeme: None, line: 320, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 320, }, Token { kind: String, lexeme: "\"lua -e\"", computed_lexeme: None, line: 320, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 320, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 321, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"syntax error\"", computed_lexeme: None, line: 321, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 321, }, Token { kind: String, lexeme: "\"lua -e a\"", computed_lexeme: None, line: 321, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 321, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 322, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 322, }, Token { kind: String, lexeme: "\"'-l' needs argument\"", computed_lexeme: None, line: 322, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 322, }, Token { kind: String, lexeme: "\"lua -l\"", computed_lexeme: None, line: 322, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 322, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "T", computed_lexeme: None, line: 325, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 325, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 326, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 326, }, Token { kind: String, lexeme: "\"testing 'not enough memory' to create a state\"", computed_lexeme: None, line: 326, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 326, }, Token { kind: Identifier, lexeme: "NoRun", computed_lexeme: None, line: 327, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 327, }, Token { kind: String, lexeme: "\"not enough memory\"", computed_lexeme: None, line: 327, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 327, }, Token { kind: String, lexeme: "\"env MEMLIMIT=100 lua\"", computed_lexeme: None, line: 327, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 327, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 328, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 329, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 329, }, Token { kind: String, lexeme: "'+'", computed_lexeme: None, line: 329, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 329, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 331, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 331, }, Token { kind: String, lexeme: "'testing Ctrl C'", computed_lexeme: None, line: 331, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 331, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 332, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 334, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 334, }, Token { kind: Identifier, lexeme: "kill", computed_lexeme: None, line: 334, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 334, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 334, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 334, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 335, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 335, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 335, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 335, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 335, }, Token { kind: String, lexeme: "'kill -INT %d 2> /dev/null'", computed_lexeme: None, line: 335, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 335, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 335, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 335, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 335, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 336, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 340, }, Token { kind: Function, lexeme: "function", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "runback", computed_lexeme: None, line: 340, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 340, }, Token { kind: Identifier, lexeme: "luaprg", computed_lexeme: None, line: 340, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 340, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "shellprg", computed_lexeme: None, line: 342, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 342, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 342, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 342, }, Token { kind: String, lexeme: "'%s -e \"%s\" & echo $!'", computed_lexeme: None, line: 342, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "progname", computed_lexeme: None, line: 342, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 342, }, Token { kind: Identifier, lexeme: "luaprg", computed_lexeme: None, line: 342, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 342, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 343, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "io", computed_lexeme: None, line: 343, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "popen", computed_lexeme: None, line: 343, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 343, }, Token { kind: Identifier, lexeme: "shellprg", computed_lexeme: None, line: 343, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 343, }, Token { kind: String, lexeme: "\"r\"", computed_lexeme: None, line: 343, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 343, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 344, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 344, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 344, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 344, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 344, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 345, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 345, }, Token { kind: String, lexeme: "\"(if test fails now, it may leave a Lua script running in \\z\n background, pid \"", computed_lexeme: None, line: 346, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 346, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 346, }, Token { kind: DoubleDot, lexeme: "..", computed_lexeme: None, line: 346, }, Token { kind: String, lexeme: "\")\"", computed_lexeme: None, line: 346, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 346, }, Token { kind: Return, lexeme: "return", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 347, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 347, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 347, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 348, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 351, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 351, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 351, }, Token { kind: Identifier, lexeme: "runback", computed_lexeme: None, line: 351, }, Token { kind: MultilineString, lexeme: "[[\n pcall(function () print(12); while true do end end); print(42)]]", computed_lexeme: None, line: 352, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 354, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 354, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 354, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 354, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 354, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 354, }, Token { kind: String, lexeme: "\"12\"", computed_lexeme: None, line: 354, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 354, }, Token { kind: Identifier, lexeme: "kill", computed_lexeme: None, line: 355, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 355, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 355, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 355, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 357, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 357, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 357, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 357, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 357, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 357, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 357, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 357, }, Token { kind: String, lexeme: "\"42\"", computed_lexeme: None, line: 357, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 357, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 358, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 358, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 358, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 358, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 358, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 358, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 359, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 359, }, Token { kind: String, lexeme: "\"done\"", computed_lexeme: None, line: 359, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 359, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 362, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 362, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 362, }, Token { kind: Identifier, lexeme: "runback", computed_lexeme: None, line: 362, }, Token { kind: MultilineString, lexeme: "[[\n print(15); string.find(string.rep('a', 100000), '.*b')]]", computed_lexeme: None, line: 363, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 365, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 365, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "read", computed_lexeme: None, line: 365, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 365, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 365, }, Token { kind: DoubleEquals, lexeme: "==", computed_lexeme: None, line: 365, }, Token { kind: String, lexeme: "\"15\"", computed_lexeme: None, line: 365, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 365, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "os", computed_lexeme: None, line: 366, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 366, }, Token { kind: Identifier, lexeme: "execute", computed_lexeme: None, line: 366, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 366, }, Token { kind: String, lexeme: "\"sleep 1\"", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 366, }, Token { kind: Local, lexeme: "local", computed_lexeme: None, line: 368, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 368, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 368, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 368, }, Token { kind: For, lexeme: "for", computed_lexeme: None, line: 369, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 369, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 369, }, Token { kind: Number, lexeme: "0", computed_lexeme: Some( "0", ), line: 369, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 369, }, Token { kind: Number, lexeme: "100", computed_lexeme: Some( "100", ), line: 369, }, Token { kind: Do, lexeme: "do", computed_lexeme: None, line: 369, }, Token { kind: If, lexeme: "if", computed_lexeme: None, line: 370, }, Token { kind: Not, lexeme: "not", computed_lexeme: None, line: 370, }, Token { kind: Identifier, lexeme: "kill", computed_lexeme: None, line: 370, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 370, }, Token { kind: Identifier, lexeme: "pid", computed_lexeme: None, line: 370, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 370, }, Token { kind: Then, lexeme: "then", computed_lexeme: None, line: 370, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 371, }, Token { kind: Equals, lexeme: "=", computed_lexeme: None, line: 371, }, Token { kind: Identifier, lexeme: "i", computed_lexeme: None, line: 371, }, Token { kind: Break, lexeme: "break", computed_lexeme: None, line: 372, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 373, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 374, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 375, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "f", computed_lexeme: None, line: 375, }, Token { kind: Colon, lexeme: ":", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "close", computed_lexeme: None, line: 375, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 375, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 375, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 375, }, Token { kind: Identifier, lexeme: "assert", computed_lexeme: None, line: 376, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 376, }, Token { kind: GreaterThanOrEqual, lexeme: ">=", computed_lexeme: None, line: 376, }, Token { kind: Number, lexeme: "2", computed_lexeme: Some( "2", ), line: 376, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 376, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "string", computed_lexeme: None, line: 377, }, Token { kind: Dot, lexeme: ".", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "format", computed_lexeme: None, line: 377, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 377, }, Token { kind: String, lexeme: "\"done (with %d kills)\"", computed_lexeme: None, line: 377, }, Token { kind: Comma, lexeme: ",", computed_lexeme: None, line: 377, }, Token { kind: Identifier, lexeme: "n", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 377, }, Token { kind: End, lexeme: "end", computed_lexeme: None, line: 379, }, Token { kind: Identifier, lexeme: "print", computed_lexeme: None, line: 381, }, Token { kind: LeftParen, lexeme: "(", computed_lexeme: None, line: 381, }, Token { kind: String, lexeme: "\"OK\"", computed_lexeme: None, line: 381, }, Token { kind: RightParen, lexeme: ")", computed_lexeme: None, line: 381, }, ]