bnf2xml
simple BNF parser makes xml markup of matches
bnf2xml a simple BNF parser that takes text as input, searches according to a BNF query file, and outputs text marked up by the xml labels that show context.
bnf2xml is as simple to use as any text binary ie, awk(1) grep(1). bnf2xml does not require C API because it outputs simple xml labeling.
README is visible on file dl page.
EXAMPLE: $ echo "hi" | bnf2xml patternfile
<word><alph>h</alph><alph>i</alph></word>
or
<gas>hydrogen iodide</gas>
patternfile says how to find needle in haystack and what to show, ie:
<alph> ::= a | b | c | d ...
<word> ::= <alph>+
bnf2xml is a top down recursive parser. Unlike buttom up parsers like gcc(1) or some top downs, bnf2xml is completely unambiguous / resolves ALL conflicts. Slower on ave. for parsing C or than sed(1) for simple searches. Far easier than using flex/C to create a parser.
caveate: I do not suggest it's worth while to make a new gcc(1) using bnf2xml. bnf2xml an nth BETA release, but no complains yet.