一个的小packrat解析器发电机。
IronMeta是一个方便,易于使用的亚历山德罗·瓦特OMeta元编程系统在C#中实现。它提供了packrat的分析器生成器,生成解析器解析表达式语法上运行任意的对象流。
下面是一些主要特点“IronMeta”:
·虽然是最常见的
神器出山:www.shenqi73.com用途IronMeta构建解析器,编译或其他文字处理文本流,IronMeta产生的任何输入和输出类型的模式匹配(更准确的说,换能器)。您可以使用C#的语法的语法规则来指定对象的匹配。
·IronMeta生成的分析器是严格的解析表达式语法,这是贪婪的,不走回头路。
·生成C#部分类,让您保持在一个单独的
文件中的辅助代码的语法解析器的实现。
·无限制的使用C#中的语义条件和匹配行动。
·高阶规则:你可以作为参数传递规则,然后使用它们的模式。
模式匹配的规则参数:你可以适用不同的规则机构的数量和类型的参数。
灵活的变量:变量在IronMeta规则可用于:
·表达他们必然要输入的。
得到的结果或结果列表就必然要表达的。
·匹配规则作为参数传递。
·通过另一个规则的规则。
·作为提高在基础OMeta,IronMeta允许无限制的左递归,使用S?ergio奎罗斯的梅德罗斯的未发表的所有规则的算法,即使在参数匹配。