FRR simply puts CLI commands into its config
FWIW: in VAST, we already have a parser framework that implements the majority of this proposal: nested data, symbol table parsers, type checks, etc. Unfortunately it's reliant on C++14, otherwise we could have "migrated" it easily. I know that we have too many C++11-only users at this point, but perhaps some of the code translates without too much headaches, saving scarce developer time.