Parboiled2 PopRule示例

时间:2015-06-25 14:48:01

标签: scala parsing parboiled2

在阅读https://github.com/sirthias/parboiled2上的文档后,我发现我可以使用规则从堆栈中弹出一些内容:

type PopRule[-L <: HList] = Rule[L, HNil]

但是当L不是String时,我找不到这种规则的实例。

例如,supose我有以下规则:

case class A()
case class B()
def foo = rule { push(A) }
def pop_rule:PopRule[A, HNil] = rule { pop(A)}

为证明这一点,有一个parboiled2规则的一般定义:

class Rule[-I <: HList, +O <: HList]

它表示一个规则,它从堆栈中弹出I的值,并将值从O放入堆栈。

到目前为止,我无法想到以下规则类型的示例实现:

def rule_of_interest:Rule[A, B] = rule { pops(A) ~> push(B)}

0 个答案:

没有答案