.....PrintfOuter lexing ''

PrintfOuter lexing '\x00'

PrintfOuter lexing 'x\x00'

..
----------------------------------------------------------------------
Ran 7 tests in 0.001s

OK
(Token
  id: Id.Lit_Chars
  length: 4
  col: 0
  line: 
    (SourceLine
      line_num: 1
      content: "echo \"hi $name\""
      src: (source.MainFile path:"<lexer_test.py>")
    )
)
(Token
  id: Id.Lit_VarLike
  length: 5
  col: 0
  line: (SourceLine line_num:1 content:"foo+=b\"" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token
  id: Id.Lit_VarLike
  length: 4
  col: 0
  line: (SourceLine line_num:1 content:"foo=b\"" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token
  id: Id.Op_LParen
  length: 1
  col: 0
  line: (SourceLine line_num:1 content:"()" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token
  id: Id.Op_RParen
  length: 1
  col: 1
  line: (SourceLine line_num:1 content:"()" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token
  id: Id.Right_CasePat
  length: 1
  col: 1
  line: (SourceLine line_num:1 content:"()" src:(source.MainFile path:"<lexer_test.py>"))
)
=== Printing all tokens
        Id.Lit_Chars None
         Id.WS_Space None
       Id.Lit_LBrace None
       Id.Op_Newline None
       Id.Lit_RBrace None
         Id.Eof_Real None
()
=== MoveToNextLine() and LookAheadOne()
        Id.Lit_Chars None
         Id.WS_Space None
       Id.Lit_LBrace None
       Id.Op_Newline None
Lookahead
Lookahead 2
       Id.Lit_RBrace None
         Id.Eof_Real None
(126, 23)
(118, 3)
(92, 6)
(69, 11)
(37, 15)
(33, 14)
(33, 18)
(31, 12)
(26, 16)
(21, 8)
(16, 17)
(14, 13)
(11, 9)
(9, 21)
(8, 22)
(7, 10)
(5, 5)
(2, 7)
(2, 20)
(1, 2)
Number of lex states: 20
Number of token dispatches: 661
(Token
  id: Id.Eof_Real
  length: 0
  col: 0
  line: (SourceLine line_num:0 content:"" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token id:Id.Eol_Tok length:-1 col:-1 tval:"")
(Token
  id: Id.Lit_Chars
  length: 1
  col: 0
  line: (SourceLine line_num:1 content:"x\u0000" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token
  id: Id.Eof_Real
  length: 0
  col: 1
  line: (SourceLine line_num:1 content:"x\u0000" src:(source.MainFile path:"<lexer_test.py>"))
)
(Token id:Id.Lit_Chars length:-1 col:-1 tval:abc)
(Token id:Id.Lit_LBrace length:-1 col:-1 tval:"{")
(Token id:Id.Op_Semi length:-1 col:-1 tval:";")