Ejemplo n.º 1
0
category_info = {
    2: CategoryInfo('NAME', -2),
    3: CategoryInfo('BLANK', -3, 'skip'),
    4: CategoryInfo('EQ', -4),
    5: CategoryInfo('ALT_DELIM', -5)
}

NAME = 2
BLANK = 3
EQ = 4
ALT_DELIM = 5

a = re_utils.char_range('a', 'z')
b = re_utils.char_range('A', 'Z')
c = re_utils.char_member('_')
markers, accept = re_utils.merge_members([a, b, c])
first = re_utils.char_set(markers, accept, NAME)

digits = re_utils.char_range('0', '9')
markers, accept = re_utils.merge_members([a, b, c, digits])
following = re_utils.char_set(markers, accept, NAME)
following = re_utils.k_closure(following)
name = re_utils.cat([first, following])

blank = re_utils.alt([
    re_utils.atom(' ', BLANK),
    re_utils.atom('\n', BLANK),
    re_utils.atom('\t', BLANK)
])

eq = re_utils.atom('=', EQ)
Ejemplo n.º 2
0
def rule_remaining(data_list, repo):
    data_list[1] = re_utils.char_member(data_list[1])
    if data_list[0] is None:
        return data_list[1]
    else:
        return re_utils.merge_members(data_list)
Ejemplo n.º 3
0
def rule_pos_lang_range(data_list, repo):
    if data_list[1] is None:
        return data_list[0]
    else:
        return re_utils.merge_members(data_list)
Ejemplo n.º 4
0
def rule_remaining_char_range(data_list, repo):
    if data_list[0] is None:
        return data_list[1]
    else:
        return re_utils.merge_members(data_list)
Ejemplo n.º 5
0
def rule_pos_lang(data_list, repo):
    data_list[0] = re_utils.char_member(data_list[0])
    if data_list[1] is None:
        return data_list[0]
    else:
        return re_utils.merge_members(data_list)