Open bskp opened 2 years ago
Those types come from the grammar, e.g. https://github.com/ClickHouse/ClickHouse/blob/d4a1b71b184a06f515fb3d8bb23f4c315528d815/utils/antlr/ClickHouseParser.g4#L127 Maybe the JS target works because it omits types altogether?
I am using antlr4ts
0.5.0-alpha.4
to generate a parser for the SQL dialect ClickHouse with the following Grammar:While the lexer is fine, to my surprise, the generated
ClickHouseParser.ts
(link to Gist) contains type references which look like C++-Sets to me (excerp from row 13035):This line up with the used methods on
clauses
,count()
andinsert()
which are both present in the C++ standard libraries' Set implementation, but not in the JavaScript built-in Set implementation, which uses
size
/add
.For comparison, I also generated a parser using the "standard" antlr, v. 4.9.3 which was able to produce a functioning Javascript parser. Is this issue linked to a bug in
antlr4ts
, or a problem with the grammar? Thank you for any pointers!