

def ClauseC(self, rule, tokens, _parent=None):
    _context = self.Context(_parent, self._scanner, 'ClauseC', [PLUS, tokens])
    ClauseD = self.ClauseD(rule, tokens, _context)
    _token = self._peek('PLUS', 'STAR', 'QUEST', 'STR', 'ID', 'LP', 'LB', 'STMT', 'OR', 'RP', 'RB', '"rule"', 'EOF', context=_context)
    if (_token == 'PLUS'):
        PLUS = self._scan('PLUS', context=_context)
        return parsetree.Plus(rule, ClauseD)
    elif (_token == 'STAR'):
        STAR = self._scan('STAR', context=_context)
        return parsetree.Star(rule, ClauseD)
    elif (_token == 'QUEST'):
        QUEST = self._scan('QUEST', context=_context)
        return parsetree.Option(rule, ClauseD)
    else:
        return ClauseD

dataset/ETHPy150Open smurfix/yapps/yapps/grammar.py ParserDescription.ClauseC/VarMisuse@33/44 `rule`->`PLUS`