トークンのリストとEBNFのような文法 (単純な文字列として渡される) を指定すると、解析されたツリーを返す構文パーサー モジュール (Ruby、Python、Javascript で作成されたもの) を知っていますか? これに最も近いのはSimpleParseです。これは優れたライブラリですが、残念ながら、単一ステップの解析 (トークン化なし) を使用しています。可能であれば、実装が言語自体と絡み合っているライブラリ ( pyparsing、treetop、...) は使用したくありません。
利用可能なライブラリがたくさんあるため (そして、独自のライブラリを作成することも非常に簡単です)、字句解析/トークン化については心配していませんが、ENBF パーサーの実装は簡単な作業ではありません。私はPython wiki LanguageParsingをチェックし、それらのいくつかを無駄にテストしました(探しているものを見落としている可能性があります。たくさんあります...)