.........8 --- echo \" \\ hi` --- (Token id: Id.Backtick_Other length: 5 col: 0 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Backtick_DoubleQuote length: 2 col: 5 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Backtick_Other length: 1 col: 7 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Backtick_Quoted length: 2 col: 8 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Backtick_Other length: 3 col: 10 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Backtick_Right length: 1 col: 13 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) (Token id: Id.Eof_Real length: 0 col: 14 line: (SourceLine line_num: 1 content: "echo \\\" \\\\ hi`" src: (source.MainFile path:"") ) ) --- ` --- (Token id: Id.Backtick_Right length: 1 col: 0 line: (SourceLine line_num:1 content:"`" src:(source.MainFile path:"")) ) (Token id: Id.Eof_Real length: 0 col: 1 line: (SourceLine line_num:1 content:"`" src:(source.MainFile path:"")) ) --- --- (Token id: Id.Eof_Real length: 0 col: 0 line: (SourceLine line_num:0 content:"" src:(source.MainFile path:"")) ) (Token id: Id.Lit_Chars length: 7 col: 0 line: (SourceLine line_num: 1 content: "foo bar\\n \\x00 \\000 \\u0065" src: (source.MainFile path:"") ) ) (Token id: Id.Char_OneChar length: 2 col: 7 line: (SourceLine line_num: 1 content: "foo bar\\n \\x00 \\000 \\u0065" src: (source.MainFile path:"") ) ) --- @[ ] --- (Token id: Id.Expr_Reserved length: 2 col: 0 line: (SourceLine line_num:1 content:"@[ ]" src:(source.MainFile path:"")) ) (Token id: Id.Ignored_Space length: 1 col: 2 line: (SourceLine line_num:1 content:"@[ ]" src:(source.MainFile path:"")) ) (Token id: Id.Op_RBracket length: 1 col: 3 line: (SourceLine line_num:1 content:"@[ ]" src:(source.MainFile path:"")) ) (Token id: Id.Eof_Real length: 0 col: 4 line: (SourceLine line_num:1 content:"@[ ]" src:(source.MainFile path:"")) ) --- hello %s\n --- (Token id: Id.Lit_Chars length: 6 col: 0 line: (SourceLine line_num:1 content:"hello %s\\n" src:(source.MainFile path:"")) ) (Token id: Id.Format_Percent length: 1 col: 6 line: (SourceLine line_num:1 content:"hello %s\\n" src:(source.MainFile path:"")) ) (Token id: Id.Lit_Chars length: 1 col: 7 line: (SourceLine line_num:1 content:"hello %s\\n" src:(source.MainFile path:"")) ) (Token id: Id.Char_OneChar length: 2 col: 8 line: (SourceLine line_num:1 content:"hello %s\\n" src:(source.MainFile path:"")) ) (Token id: Id.Eof_Real length: 0 col: 10 line: (SourceLine line_num:1 content:"hello %s\\n" src:(source.MainFile path:"")) ) --- %% percent %%\377 --- (Token id: Id.Format_EscapedPercent length: 2 col: 0 line: (SourceLine line_num: 1 content: "%% percent %%\\377" src: (source.MainFile path:"") ) ) (Token id: Id.Lit_Chars length: 9 col: 2 line: (SourceLine line_num: 1 content: "%% percent %%\\377" src: (source.MainFile path:"") ) ) (Token id: Id.Format_EscapedPercent length: 2 col: 11 line: (SourceLine line_num: 1 content: "%% percent %%\\377" src: (source.MainFile ............. ---------------------------------------------------------------------- Ran 22 tests in 0.009s OK path:"") ) ) (Token id: Id.Char_Octal3 length: 4 col: 13 line: (SourceLine line_num: 1 content: "%% percent %%\\377" src: (source.MainFile path:"") ) ) (Token id: Id.Eof_Real length: 0 col: 17 line: (SourceLine line_num: 1 content: "%% percent %%\\377" src: (source.MainFile path:"") ) ) --- -3.3f --- (Token id: Id.Format_Flag length: 1 col: 0 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) (Token id: Id.Format_Num length: 1 col: 1 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) (Token id: Id.Format_Dot length: 1 col: 2 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) (Token id: Id.Format_Num length: 1 col: 3 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) (Token id: Id.Format_Type length: 1 col: 4 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) (Token id: Id.Eof_Real length: 0 col: 5 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:"")) ) --- 03d --- (Token id: Id.Format_Zero length: 1 col: 0 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:"")) ) (Token id: Id.Format_Num length: 1 col: 1 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:"")) ) (Token id: Id.Format_Type length: 1 col: 2 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:"")) ) (Token id: Id.Eof_Real length: 0 col: 3 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:"")) ) (Token id: Id.Left_SingleQuote length: 1 col: 0 line: (SourceLine line_num:1 content:"'hi'" src:(source.MainFile path:"")) ) (Token id: Id.Lit_Tilde length: 1 col: 0 line: (SourceLine line_num:1 content:"~root" src:(source.MainFile path:"")) ) [(343, 'a'), (344, '..'), (343, 'z')] [(342, '100'), (344, '..'), (342, '300')] [(342, '-300'), (344, '..'), (342, '-100'), (344, '..'), (342, '1')] [(342, '1'), (345, '.'), (342, '3')] [(343, 'a'), (343, 'a')] [(60, 'newline '), (163, '\\n'), (60, ' NUL '), (163, '\\0'), (60, ' octal '), (168, '\\0377'), (60, ' hex '), (165, '\\x00')] [(60, 'unicode '), (169, '\\u0065'), (60, ' '), (171, '\\U00000065')] [(50, '\\'), (60, 'd '), (163, '\\e'), (60, ' '), (163, '\\f'), (60, ' '), (50, '\\'), (60, 'g')] [(99, '['), (99, '!'), (99, 'abc]')] [(99, '${'), (99, '!'), (99, 'indirect}')] [(99, '$'), (99, '!'), (99, 'x')] [(99, '!'), (99, '(foo|bar)')] [(99, 'echo hi')] [(99, 'echo '), (96, '!!'), (99, ' '), (96, '!*'), (99, ' '), (96, '!^'), (99, ' '), (96, '!$')] [(99, 'echo '), (99, '\\!'), (99, '!')] [(99, 'echo '), (97, '!3'), (99, '...')] [(99, 'echo '), (97, '!-5'), (99, '...')] [(99, 'echo '), (98, '!x/foo.py '), (99, 'bar')] --- [(99, 'echo '), (99, "'!!'"), (99, ' $'), (99, "'!!'"), (99, ' ')] [(99, 'echo '), (99, "'!! ")] [(99, 'echo '), (99, "\\'"), (99, ' '), (96, '!!'), (99, ' ')] [(340, 'foo')] [(336, '\\h'), (340, ' '), (336, '\\w'), (340, ' '), (336, '\\$')] P '[^\\\\\\0]+'