.........7 --- echo \" \\ hi` --- (Token id: Id.Backtick_Other col: 0 length: 5 span_id: 0 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: 'echo ' ) (Token id: Id.Backtick_DoubleQuote col: 5 length: 2 span_id: 1 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: '\\"' ) (Token id: Id.Backtick_Other col: 7 length: 1 span_id: 2 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: ' ' ) (Token id: Id.Backtick_Quoted col: 8 length: 2 span_id: 3 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: '\\\\' ) (Token id: Id.Backtick_Other col: 10 length: 3 span_id: 4 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: ' hi' ) (Token id: Id.Backtick_Right col: 13 length: 1 span_id: 5 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: '`' ) (Token id: Id.Eof_Real col: 14 length: 0 span_id: 6 line: (SourceLine line_num:1 content:'echo \\" \\\\ hi`' src:(source.MainFile path:'')) tval: '' ) --- ` --- (Token id: Id.Backtick_Right col: 0 length: 1 span_id: 0 line: (SourceLine line_num:1 content:'`' src:(source.MainFile path:'')) tval: '`' ) (Token id: Id.Eof_Real col: 1 length: 0 span_id: 1 line: (SourceLine line_num:1 content:'`' src:(source.MainFile path:'')) tval: '' ) --- --- (Token id: Id.Eof_Real col: 0 length: 0 span_id: 0 line: (SourceLine line_num:0 content:'' src:(source.MainFile path:'')) tval: '' ) (Token id: Id.Char_Literals col: 0 length: 7 span_id: 0 line: (SourceLine line_num: 1 content: 'foo bar\\n \\x00 \\000 \\u0065' src: (source.MainFile path:'') ) tval: 'foo bar' ) (Token id: Id.Char_OneChar col: 7 length: 2 span_id: 1 line: (SourceLine line_num: 1 content: 'foo bar\\n \\x00 \\000 \\u0065' src: (source.MainFile path:'') ) tval: '\\n' ) --- @[ ] --- (Token id: Id.Expr_Reserved col: 0 length: 2 span_id: 0 line: (SourceLine line_num:1 content:'@[ ]' src:(source.MainFile path:'')) tval: '@[' ) (Token id: Id.Ignored_Space col: 2 length: 1 span_id: 1 line: (SourceLine line_num:1 content:'@[ ]' src:(source.MainFile path:'')) tval: _ ) (Token id: Id.Op_RBracket col: 3 length: 1 span_id: 2 line: (SourceLine line_num:1 content:'@[ ]' src:(source.MainFile path:'')) tval: _ ) (Token id: Id.Eof_Real col: 4 length: 0 span_id: 3 line: (SourceLine line_num:1 content:'@[ ]' src:(source.MainFile path:'')) tval: '' ) --- hello %s\n --- (Token id: Id.Char_Literals col: 0 length: 6 span_id: 0 line: (SourceLine line_num:1 content:'hello %s\\n' src:(source.MainFile path:'')) tval: 'hello ' ) (Token id: Id.Format_Percent col: 6 length: 1 span_id: 1 line: (SourceLine line_num:1 content:'hello %s\\n' src:(source.MainFile path:'')) tval: '%' ) (Token id: Id.Char_Literals col: 7 length: 1 span_id: 2 line: (SourceLine line_num:1 content:'hello %s\\n' src:(source.MainFile path:'')) tval: s ) (Token id: Id.Char_OneChar col: 8 length: 2 span_id: 3 line: (SourceLine line_num:1 content:'hello %s\\n' src:(source.MainFile path:'')) tval: '\\n' ) (Token id: Id.Eof_Real col: 10 length: 0 span_id: 4 line: (SourceLine line_num:1 content:'hello %s\\n' src:(source.MainFile path:'')) tval: '' ) --- %% percent %%\377 --- (Token id: Id.Format_EscapedPercent col: 0 length: 2 span_id: 0 line: (SourceLine line_num: 1 content: '%% percent %%\\377' src: (source.MainFile path:'') ) tval: '%%............. ---------------------------------------------------------------------- Ran 22 tests in 0.010s OK ' ) (Token id: Id.Char_Literals col: 2 length: 9 span_id: 1 line: (SourceLine line_num: 1 content: '%% percent %%\\377' src: (source.MainFile path:'') ) tval: ' percent ' ) (Token id: Id.Format_EscapedPercent col: 11 length: 2 span_id: 2 line: (SourceLine line_num: 1 content: '%% percent %%\\377' src: (source.MainFile path:'') ) tval: '%%' ) (Token id: Id.Char_Octal3 col: 13 length: 4 span_id: 3 line: (SourceLine line_num: 1 content: '%% percent %%\\377' src: (source.MainFile path:'') ) tval: '\\377' ) (Token id: Id.Eof_Real col: 17 length: 0 span_id: 4 line: (SourceLine line_num: 1 content: '%% percent %%\\377' src: (source.MainFile path:'') ) tval: '' ) --- -3.3f --- (Token id: Id.Format_Flag col: 0 length: 1 span_id: 0 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: - ) (Token id: Id.Format_Num col: 1 length: 1 span_id: 1 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: 3 ) (Token id: Id.Format_Dot col: 2 length: 1 span_id: 2 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: . ) (Token id: Id.Format_Num col: 3 length: 1 span_id: 3 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: 3 ) (Token id: Id.Format_Type col: 4 length: 1 span_id: 4 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: f ) (Token id: Id.Eof_Real col: 5 length: 0 span_id: 5 line: (SourceLine line_num:1 content:-3.3f src:(source.MainFile path:'')) tval: '' ) --- 03d --- (Token id: Id.Format_Zero col: 0 length: 1 span_id: 0 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:'')) tval: 0 ) (Token id: Id.Format_Num col: 1 length: 1 span_id: 1 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:'')) tval: 3 ) (Token id: Id.Format_Type col: 2 length: 1 span_id: 2 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:'')) tval: d ) (Token id: Id.Eof_Real col: 3 length: 0 span_id: 3 line: (SourceLine line_num:1 content:03d src:(source.MainFile path:'')) tval: '' ) (Token id: Id.Left_SingleQuote col: 0 length: 1 span_id: 0 line: (SourceLine line_num:1 content:'\'hi\'' src:(source.MainFile path:'')) tval: '\'' ) [(333, 'a'), (334, '..'), (333, 'z')] [(332, '100'), (334, '..'), (332, '300')] [(332, '-300'), (334, '..'), (332, '-100'), (334, '..'), (332, '1')] [(332, '1'), (335, '.'), (332, '3')] [(333, 'a'), (333, 'a')] [(170, 'newline '), (161, '\\n'), (170, ' NUL '), (161, '\\0'), (170, ' octal '), (165, '\\0377'), (170, ' hex '), (163, '\\x00')] [(170, 'unicode '), (166, '\\u0065'), (170, ' '), (167, '\\U00000065')] [(50, '\\'), (170, 'd '), (161, '\\e'), (170, ' '), (161, '\\f'), (170, ' '), (50, '\\'), (170, 'g')] [(96, '['), (96, '!'), (96, 'abc]')] [(96, '${'), (96, '!'), (96, 'indirect}')] [(96, '$'), (96, '!'), (96, 'x')] [(96, '!'), (96, '(foo|bar)')] [(96, 'echo hi')] [(96, 'echo '), (93, '!!'), (96, ' '), (93, '!*'), (96, ' '), (93, '!^'), (96, ' '), (93, '!$')] [(96, 'echo '), (96, '\\!'), (96, '!')] [(96, 'echo '), (94, '!3'), (96, '...')] [(96, 'echo '), (94, '!-5'), (96, '...')] [(96, 'echo '), (95, '!x/foo.py '), (96, 'bar')] --- [(96, 'echo '), (96, "'!!'"), (96, ' $'), (96, "'!!'"), (96, ' ')] [(96, 'echo '), (96, "'!! ")] [(96, 'echo '), (96, "\\'"), (96, ' '), (93, '!!'), (96, ' ')] [(330, 'foo')] [(326, '\\h'), (330, ' '), (326, '\\w'), (330, ' '), (326, '\\$')] P '[^\\\\\\0]+'