mike-lischke / antlr4-c3

A grammar agnostic code completion engine for ANTLR4 based parsers
MIT License
410 stars 62 forks source link

About Typescript Runtime (antlr4s) #78

Closed wewoor closed 1 year ago

wewoor commented 1 year ago

Hi @mike-lischke,

Our ANTLR4 grammar was generated from ANTLR4 v4.12.0. It supports targeting TypeScript directly. However, I noticed in your document that it requires the antlr4ts runtime. Therefore, I would like to know if it has any effect if we use ANTLR4 v4.12.0, or if it is necessary to use the antlr4ts runtime.

The antlr4ts runtime hasn't been updated for a long time, so we don't use it. I am looking forward to your reply. Thank you.

mike-lischke commented 1 year ago

The TS support in main ANTLR4 distribution is rather limited and can be used only for simple parsing tasks. The antlr4-c3 library needs functionality beyond that simple support and hence cannot be used with the TS target from the ANTLR4 distribution. The currently used lib (antlr4ts) is, despite its alpha status, pretty usable and works well. Unfortunately, it does not work with ANTLR 4.12. because a few things have changed there. So for now stay with ANTLR 4.11 if you want to use antlr4-ts.

I'm working on a new (full) TS runtime already to overcome this limitation.

wewoor commented 1 year ago

The antlr4ts v0.5.0-alpha.4 appears to be using ANTLR 4.9. TS runtime looks good. Is it ready to be used by others?

mike-lischke commented 1 year ago

No, this runtime is not ready for use. I'm currently porting tests for the underlying JRE emulation layer, but at least the lexer produced something in my first tests.