.........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.020s 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')] [(171, 'newline '), (162, '\\n'), (171, ' NUL '), (162, '\\0'), (171, ' octal '), (166, '\\0377'), (171, ' hex '), (164, '\\x00')] [(171, 'unicode '), (167, '\\u0065'), (171, ' '), (168, '\\U00000065')] [(50, '\\'), (171, 'd '), (162, '\\e'), (171, ' '), (162, '\\f'), (171, ' '), (50, '\\'), (171, '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, ' ')] [(330, 'foo')] [(326, '\\h'), (330, ' '), (326, '\\w'), (330, ' '), (326, '\\$')] P '[^\\\\\\0]+'