I am working on a python based parser of the Qlik Script Language in Lark. I was able to reconstruct the BNF from the JSON representation, however some of the Terminal definitions are just there as placeholders and not with their values. I imagine the Terminal definitions are loaded at runtime, and that's why they're not in the BaseBNF. I was wondering if anybody knew what Qlik considers the definitions of the following terminals:
UNKNOWN
SCANNER_TOKEN_MATCH_ANYTHING
LITERAL_NUMBER
IDENTIFIER
LITERAL_STRING
LITERAL_FIELD
I have a fairly good idea of what these could be, but wanted my parser to be as faithful as possible.
For what it's worth, there appear to be a few mistakes in the BaseBNF representation, with some of the other terminals not having the appropriate flags for isBNFLiteral present in their object, but they're relatively easy to spot.