.........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.011s 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:"")) ) [(341, 'a'), (342, '..'), (341, 'z')] [(340, '100'), (342, '..'), (340, '300')] [(340, '-300'), (342, '..'), (340, '-100'), (342, '..'), (340, '1')] [(340, '1'), (343, '.'), (340, '3')] [(341, 'a'), (341, 'a')] [(58, 'newline '), (161, '\\n'), (58, ' NUL '), (161, '\\0'), (58, ' octal '), (166, '\\0377'), (58, ' hex '), (163, '\\x00')] [(58, 'unicode '), (167, '\\u0065'), (58, ' '), (169, '\\U00000065')] [(50, '\\'), (58, 'd '), (161, '\\e'), (58, ' '), (161, '\\f'), (58, ' '), (50, '\\'), (58, 'g')] [(97, '['), (97, '!'), (97, 'abc]')] [(97, '${'), (97, '!'), (97, 'indirect}')] [(97, '$'), (97, '!'), (97, 'x')] [(97, '!'), (97, '(foo|bar)')] [(97, 'echo hi')] [(97, 'echo '), (94, '!!'), (97, ' '), (94, '!*'), (97, ' '), (94, '!^'), (97, ' '), (94, '!$')] [(97, 'echo '), (97, '\\!'), (97, '!')] [(97, 'echo '), (95, '!3'), (97, '...')] [(97, 'echo '), (95, '!-5'), (97, '...')] [(97, 'echo '), (96, '!x/foo.py '), (97, 'bar')] --- [(97, 'echo '), (97, "'!!'"), (97, ' $'), (97, "'!!'"), (97, ' ')] [(97, 'echo '), (97, "'!! ")] [(97, 'echo '), (97, "\\'"), (97, ' '), (94, '!!'), (97, ' ')] [(338, 'foo')] [(334, '\\h'), (338, ' '), (334, '\\w'), (338, ' '), (334, '\\$')] P '[^\\\\\\0]+'