\d, \dd (less than 3 digits decimal escape sequences):
$ cat testcase.lua
"\97"
$ luajit run-lexer.lua testcase.lua
luajit: LLT-ERRORtestcase.lua:1: unfinished string near '"a'
stack traceback:
[C]: in function 'error'
./lexer.lua:33: in function 'error_lex'
./lexer.lua:43: in function 'lex_error'
./lexer.lua:306: in function 'read_string'
./lexer.lua:426: in function 'llex'
./lexer.lua:459: in function 'next'
run-lexer.lua:8: in main chunk
[C]: at 0x0804be80
Hello! It seems that there are some off-by-one errors in lexer which result in characters being dropped or added near some escape sequences.
\z
:(expected TK_string foobar)
\\n
:(expected TK_string foo bar)
\d
,\dd
(less than 3 digits decimal escape sequences):(expected TK_string a)