Closed mingodad closed 7 months ago
@mingodad thank you for the feedback. It's hard for me to take a look at the problem with this large grammar. Could you make the smallest possible grammar file to reveal this problem? Thanks a lot.
To start with the dictionary not accepting case insensitive strings, see bellow we can't use reserved_word_list_d_nok
:
start <-
(o name o)+
name <-
! reserved_word_list_d_ok <[A-Z_]i[A-Z0-9_]i*>
reserved_word_list_d_ok <-
"ABORT" | "ACTION"
#reserved_word_list_d_nok <-
# "ABORT"i | "ACTION"i
~o <-
[\n\v\f\r\t ]*
@mingodad it's now out in v1.8.6. Thanks for your suggestion!
While trying to convert this grammar https://github.com/codeschool/sqlite-parser/blob/master/src/grammar.pegjs to test with this project I found that
dictionay
doesn't accept case insensitive strings.Would be nice to fix the bad performance and add this grammar to the
grammar
examples (the original license is MIT).Any help improving the performance is welcome !
Profile:
Input:
Grammar: