Beispiel #1
0
def CK(string, **kwargs): # Caseless Keyword
    re = ''.join(["[%s%s]" % (c.lower(), c.upper()) for c in string])
    cdict = make_classdict(REGrammar, (), kwargs, regexp=re, grammar_name="CK({0!r})".format(string))
    instance = GrammarClass("CK<%s>" % string, (REGrammar,), cdict)
    instance.keyword = '%s ' % string
    instance.type = 'keyword'
    return instance
Beispiel #2
0
def BALANCED_UNTIL_TOKENS( ending_chars, use_templates = False, **kwargs ):
    bracket_pairs = [ ( "{", "}" ),
                      ( "(", ")" ),
                      ( "[", "]" ) ]

    independent_bracket_pair = ( "<", ">" ) if use_templates else ()
    
    cdict = util.make_classdict( BalancedUntilGrammar, (), kwargs, ending_chars = ending_chars, bracket_pairs = bracket_pairs, independent_bracket_pair = independent_bracket_pair )
    return GrammarClass( "<BalancedUntilGrammar>", ( BalancedUntilGrammar, ), cdict )
Beispiel #3
0
def BALANCED_UNTIL_TOKENS(ending_chars, use_templates=False, **kwargs):
    bracket_pairs = [("{", "}"), ("(", ")"), ("[", "]")]

    independent_bracket_pair = ("<", ">") if use_templates else ()

    cdict = util.make_classdict(
        BalancedUntilGrammar, (),
        kwargs,
        ending_chars=ending_chars,
        bracket_pairs=bracket_pairs,
        independent_bracket_pair=independent_bracket_pair)
    return GrammarClass("<BalancedUntilGrammar>", (BalancedUntilGrammar, ),
                        cdict)
Beispiel #4
0
def BALANCED_TOKENS( opening_char, closing_char, **kwargs ):
    cdict = util.make_classdict( BalancedGrammar, (), kwargs, opening_char = opening_char, closing_char = closing_char )
    return GrammarClass( "<BalancedGrammar>", ( BalancedGrammar, ), cdict )
Beispiel #5
0
def BALANCED_TOKENS(opening_char, closing_char, **kwargs):
    cdict = util.make_classdict(BalancedGrammar, (),
                                kwargs,
                                opening_char=opening_char,
                                closing_char=closing_char)
    return GrammarClass("<BalancedGrammar>", (BalancedGrammar, ), cdict)
Beispiel #6
0
def OP(string, **kwargs): # Operator
    cdict = make_classdict(Literal, (), kwargs, string=string, grammar_name="OP({0!r})".format(string))
    instance = GrammarClass("<OPERATOR>", (Literal,), cdict)
    instance.keyword = string
    instance.type = 'operator'
    return instance
Beispiel #7
0
def RE(regexp, **kwargs):
    cdict = util.make_classdict(REGrammar, (), kwargs, regexp=regexp)
    return GrammarClass("<RE>", (REGrammar,), cdict)
def CaselessKeyword(string, keyword_chars=DEFAULT_KEYWORD_CHARACTERS, **kwargs):
    kwargs['grammar_name'] = kwargs.get('grammar_name', "CaselessKeyword({0!r})".format(string))
    cdict = make_classdict(_CaselessKeyword, (), kwargs, string=string, keyword_chars=keyword_chars)
    return GrammarClass("<Keyword>", (_CaselessKeyword, ), cdict)
def CaselessLiteral(string, **kwargs):
    kwargs['grammar_name'] = kwargs.get('grammar_name', "CaselessLiteral({0!r})".format(string))
    cdict = make_classdict(_CaselessLiteral, (), kwargs, string=string)
    return GrammarClass("<CaselessLiteral>", (_CaselessLiteral, ), cdict)
Beispiel #10
0
def RE(regexp, **kwargs):
    cdict = util.make_classdict(REGrammar, (), kwargs, regexp=regexp)
    return GrammarClass("<RE>", (REGrammar, ), cdict)