-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
You don't need a separate grammar file. The set of datatypes defines the grammar. Take a look at the calculator exmample, the datatype Exp0 defines a grammar rule: Exp0 is one or more Exp1 separated by "+" or "-".
In fact, defining recursive rules remains a headache in a lot of parser generators/combinators. Many of them construct rules as objects referencing other rules, thus recursive rules require cyclic object graph, which is often done by mutable references. Parboiled solves the problem with recursive function calls, where infinite recursion has to be terminated by some byte code weaving.
You could even bind to something like https://github.com/Chrriis/RRDiagram to automatically generate a railroad diagram from your exported grammar, could be neat.