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
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 )
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)
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 )
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)
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
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)
def RE(regexp, **kwargs): cdict = util.make_classdict(REGrammar, (), kwargs, regexp=regexp) return GrammarClass("<RE>", (REGrammar, ), cdict)