some manual conversion of EBNF to LBNF - definitely a lot more work that needs to be done here, at least it's not ABNF!