Exemplo n.º 1
0
def _mult_expand(start, end, context):
    
    start.connect(fork(
                       tn(MULT_ZERO_TO_ONE, 'mult-1'),
                       tn(MULT_ZERO_TO_MANY, 'mult-2'),
                       tn(MULT_ONE_TO_MANY, 'mult-3'),
                       )).connect(end)
Exemplo n.º 2
0
def _branch_elem_expand(start, end, context):
    
    token = sequence(zeroToOne(sequence(tn(ID, 'id'), tn(ASSIGN))), 
                     tn(TOKEN_ID, 'token'),
                     zeroToOne(_MultRule('mult'))
                     )
    keyword = sequence(zeroToOne(sequence(tn(ID, 'id'), tn(ASSIGN))), 
                       tn(KEYWORD_NAME, 'keyword'),
                       zeroToOne(_MultRule('mult'))
                       )

    rule = sequence(zeroToOne(sequence(tn(ID, 'id'), tn(ASSIGN))), 
                    tn(RULE_ID, 'rule'),
                    zeroToOne(_MultRule('mult'))
                    )
    
    group = sequence(zeroToOne(sequence(tn(ID, 'id'), tn(ASSIGN))),
                    _GroupRule('group'),
                    zeroToOne(_MultRule('mult')) 
                    )
    
    start.connect(fork(
                       token,
                       keyword,
                       rule,
                       group
                       )).connect(end)
Exemplo n.º 3
0
 def expand(self, start, end, context):
     
     start\
     .connect(zeroToMany(fork(
                              _CommentRule('comment-style'),
                              _EnableRule('enable'),
                              _TokensRule('tokens'),
                              _RuleRule('rule')
                              )))\
     .connect(end)
Exemplo n.º 4
0
def _tokens_expand(start, end, context):
    
    start.connect(fork(
                       _TokenRule(KEYWORD),
                       _TokenRule(WORD),
                       _TokenRule(PREFIX),
                       _TokenRule(POSTFIX),
                       _TokenRule(SEPARATOR),
                       _TokenRule(LITERAL),
                       _TokenRule(TEXT_BLOCK)
                       )).connect(end)