예제 #1
0
def EOL():		return _(r'$')

###########
##
## DATE
##
###########

def month():	return _(r'(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\w*')	# Month abreviations: Jan. Feb. Mar. Apr. May June July Aug. Sep. Oct. Nov. Dec.
예제 #2
0
def double_quoted_string():
    """Double quoted string literal."""
    return (
        '"',
        arpeggio.ZeroOrMore([
            r'\\',
            r'\"',
            _('[^"]')
        ]),
        '"',
    )
예제 #3
0
def single_quoted_string():
    """Single quoted string literal."""
    return (
        "'",
        arpeggio.ZeroOrMore([
            r"\\",
            r"\'",
            _("[^']")
        ]),
        "'",
    )
예제 #4
0
def number_element():
    """Any word that can be part of a number."""
    return [
        "ten",
        "eleven",
        "twelve",
        "thirteen",
        "fourteen",
        "fifteen",
        "sixteen",
        "seventeen",
        "eighteen",
        "nineteen",
        "twenty",
        "thirthy",
        "forty",
        "fourty",
        "fifty",
        "sixty",
        "seventy",
        "eighty",
        "ninety",
        "hundred",
        "thousand",
        "million",
        "billion",
        "trillion",
        "zero",
        "one",
        "two",
        "three",
        "four",
        "five",
        "six",
        "seven",
        "eight",
        "nine",
        _("[0-9]")]
예제 #5
0
def comment_block():
    return _(r'/\*(.|\n)*?\*/')
예제 #6
0
def string_value():
    return [_(r"'((\\')|[^'])*'"), _(r'"((\\")|[^"])*"')]
예제 #7
0
파일: csv.py 프로젝트: Amper/Arpeggio
def field_content_quoted():     return _(r'(("")|([^"]))+')
def csvfile():                  return OneOrMore([record, '\n']), EOF
예제 #8
0
def space_sequence():
    return _(r'\s+')
예제 #9
0
파일: peg.py 프로젝트: AdamSop/exgate
def identifier():       return _(r"[a-zA-Z_]([a-zA-Z_]|[0-9])*")
#def literal():          return [_(r"\'(\\\'|[^\'])*\'"),_(r'"[^"]*"')]
def literal():          return _(r'(\'(\\\'|[^\'])*\')|("[^"]*")')
예제 #10
0
def ordinal():
    return _('\d+(st|nd|rd|th)')
예제 #11
0
def _int():
    return _(r'[-+]?[0-9]+\b')
예제 #12
0
def number():
    return _(r"[0-9]+")
예제 #13
0
def operation():
    return _(r"\+|-")
예제 #14
0
파일: rrel.py 프로젝트: textX/textX
def rrel_id():
    return _(r'[^\d\W]\w*\b')  # from lang.py
예제 #15
0
파일: rrel.py 프로젝트: textX/textX
def rrel_expression():
    return Optional(_(r'\+[mp]+:')), rrel_sequence
예제 #16
0
파일: rrel.py 프로젝트: textX/textX
def rrel_dots():
    return _(r'\.+')
예제 #17
0
def fourth():       return _(r'\d+')


first_sar = None
예제 #18
0
def number():     return _(r'\d*\.\d*|\d+')
def factor():     return Optional(["+","-"]), [number,
예제 #19
0
def header():
    return _(r'[^\n]*')
예제 #20
0
def ident():
    return _(r'[^\d\W]\w*\b')
예제 #21
0
def pollNumber():	return _(r'\d')
def pollString(): return '"', None, '"'
예제 #22
0
def synset(): return _(r'\d{8}\-[v|r|n|a]')

def node(): return [q_id, statement, synset]
예제 #23
0
def number():
    return _(r'\d*\.\d*|\d+')
예제 #24
0
def integer():
    return _("\d+")
예제 #25
0
파일: calc.py 프로젝트: Sciumo/arpeggio
def number():          return _(r'\d*\.\d*|\d+')
def factor():           return [number, ("(", expression, ")")]
예제 #26
0
파일: peg.py 프로젝트: AdamSop/exgate
def comment():          return "//", _(".*\n")


# ------------------------------------------------------------------
# PEG Semantic Actions
class PEGSemanticAction(SemanticAction):
예제 #27
0
def str_match():    return [("'", _(r"((\\')|[^'])*"),"'"),\
            ('"', _(r'((\\")|[^"])*'),'"')]


def re_match():
예제 #28
0
def fourth():
    return _(r'\d+')
예제 #29
0
def ident():
    return _(r'\w+')
예제 #30
0
# Comments
def comment():
    return [comment_line, comment_block]


def comment_line():
    return _(r'//.*?$')


def comment_block():
    return _(r'/\*(.|\n)*?\*/')


# Special rules - primitive types
ID = _(r'[^\d\W]\w*\b', rule_name='ID', root=True)
BOOL = _(r'(True|true|False|false|0|1)\b', rule_name='BOOL', root=True)
INT = _(r'[-+]?[0-9]+\b', rule_name='INT', root=True)
FLOAT = _(r'[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\b', 'FLOAT', root=True)
STRING = _(r'("(\\"|[^"])*")|(\'(\\\'|[^\'])*\')', 'STRING', root=True)
NUMBER = OrderedChoice(nodes=[FLOAT, INT], rule_name='NUMBER', root=True)
BASETYPE = OrderedChoice(nodes=[NUMBER, BOOL, ID, STRING],
                         rule_name='BASETYPE',
                         root=True)

BASE_TYPE_RULES = {
    rule.rule_name: rule
    for rule in [ID, BOOL, INT, FLOAT, STRING, NUMBER, BASETYPE]
}
BASE_TYPE_NAMES = BASE_TYPE_RULES.keys()
예제 #31
0
def number():     return _(r'\d*\.\d*|\d+')
def jsonString():       return _('[^"]*')
예제 #32
0
def re_match():
    return "/", _(r"((\\/)|[^/])*"), "/"
예제 #33
0
def jsonString():       return _('[^"]*')
def jsonLine():         return [jsonString, number, jsonLine], '"'
예제 #34
0
def integer():
    return _(r'[-+]?[0-9]+')
예제 #35
0
def str_match():
    return _(r"""(?s)('[^'\\]*(?:\\.[^'\\]*)*')|""" r"""("[^"\\]*(?:\\.[^"\\]*)*")""")
예제 #36
0
def comment_line():
    return _(r'//.*?$')
예제 #37
0
def comment():
    return "//", _(".*\n")
예제 #38
0
def grammar_to_import():
    return _(r'(\w|\.)+')
예제 #39
0
def regex():
    return [("r'", _(r"""[^'\\]*(?:\\.[^'\\]*)*"""), "'"), ('r"', _(r"""[^"\\]*(?:\\.[^"\\]*)*"""), '"')]
예제 #40
0
def GUID():
    return 'GUID', _(r'[a-f0-9]*-[a-f0-9]*-[a-f0-9]*-[a-f0-9]*-[a-f0-9]*')
예제 #41
0
def rule_name():
    return _(r"[a-zA-Z_]([a-zA-Z_]|[0-9])*")
예제 #42
0
def _string():
    return _(r'("(\\"|[^"])*")|(\'(\\\'|[^\'])*\')')
def fourth():
    return _(r"\d+")
예제 #44
0
def _float():
    return _(r'[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\b')
예제 #45
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def comment_entry():            return "@comment", "{", _(r'[^}]*'), "}"
def bibentry():                 return bibtype, "{", bibkey, ",", field, ZeroOrMore(",", field), "}"
예제 #46
0
def numerical_id(): return _(r'\d+')

def q_id(): return "Q", numerical_id
예제 #47
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def fieldname():                return _(r'[-\w]+')
def comment():                  return _(r'[^@]+')
예제 #48
0
def punct():
    return _("[.,;:]")
예제 #49
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def comment():                  return _(r'[^@]+')
def bibtype():                  return _(r'@\w+')
예제 #50
0
파일: peg.py 프로젝트: AdamSop/exgate
def regex():            return "r", "'", _(r"(\\\'|[^\'])*"),"'"
def identifier():       return _(r"[a-zA-Z_]([a-zA-Z_]|[0-9])*")
예제 #51
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def bibtype():                  return _(r'@\w+')
def bibkey():                   return _(r'[^\s,]+')
예제 #52
0
파일: peg.py 프로젝트: AdamSop/exgate
def literal():          return _(r'(\'(\\\'|[^\'])*\')|("[^"]*")')

def LEFT_ARROW():       return "<-"
예제 #53
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def bibkey():                   return _(r'[^\s,]+')
def fieldvalue_quoted_content():    return _(r'((\\")|[^"])*')
예제 #54
0
def space():
    return _(r'\s')
예제 #55
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def fieldvalue_quoted_content():    return _(r'((\\")|[^"])*')
def fieldvalue_braced_content():    return Combine(
예제 #56
0
def not_space():
    return _(r'[^\s]')
예제 #57
0
파일: bibtex.py 프로젝트: Amper/Arpeggio
def fieldvalue_part():          return _(r'((\\")|[^{}])+')
def fieldvalue_inner():         return "{", fieldvalue_braced_content, "}"