instaparse

If you're not trampolining your parser, why bother getting up in the morning?
aengelberg 2018-08-24T15:58:34.000100Z

aengelberg 2018-08-24T15:58:59.000100Z

@jeroenvandijk that grammar doesn't appear to be valid BNF; many of the string tokens are not properly quoted

aengelberg 2018-08-24T16:00:19.000100Z

Also, instaparse has adopted the angle brackets <> to mean "hiding tags" (not an EBNF standard) but this AWS grammar uses them in all of the rule names, which might result in weird behavior

aengelberg 2018-08-24T16:00:41.000100Z

for example

<condition_block> = "Condition" : { <condition_map> }
should be
condition_block = "Condition" ":" "{" condition_map "}"

2018-08-24T16:22:12.000100Z

my experience with instaparse, and other parsers for that matter, and external grammars, is pretty much no one provides complete grammars that are machine parseable.

☝️ 1
2018-08-24T16:24:56.000100Z

it is incredibly frustrating to find out that, for example, the only grammar for the version 3 of the protobuf type description language available is incomplete and only published as fragments in <pre> blocks on the protobuf website