示例#1
0
 def _compile(self, cont):
     # In words: take `x` and split to `x` and `cont`
     split = Split()
     x = self.x._compile(split)
     if self.greedy:
         split.next = x
         split.split = cont
     else:
         split.next = cont
         split.split = x
     # `Star` would return `split`
     return x
示例#2
0
 def _compile(self, cont):
     # In words: split to (`x` and return to split) and `cont`
     split = Split()
     x = self.x._compile(split)
     if self.greedy:
         split.next = x
         split.split = cont
     else:
         split.next = cont
         split.split = x
     # `Plus` would return `x`
     return split