Skip to content

[post] How ANTLR and its runtime works #53

@at15

Description

@at15

Type

  • request post from @at15

Related

Description

While working on gce4, a lot of time is spent on parser, it's not the main focus for RDBMS.
But writing ast in unit test kills productivity, and hand written parser requires too much work for large language like SQL.
Besides gce4 is implemented in multiple languages.

It's not that straight forward to use ANTLR. For example:

  • Rust runtime is not official yet, and the author seems to be inactive for a while. Besides we had a proposal for rust target [idea] Rust target for ANTLR mos#20 back in 2017
  • Go generator and runtime can be optimized by using type switch
  • Cpp generator have some small problem w/ cpp20 (sign ... cpp

In order to work on the rust runtime, I need to know ANTLR works. Though writing a runtime and generator template is not that hard because the algo is in ANLTR itself and one can reference other language's runtime.

Update

  • change issue type from request to discuss

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions