コード例 #1
0
ファイル: objectmodel.py プロジェクト: sdcloudt/TatSu
def _get_node_class_name(rule):
    if not rule.params:
        return None

    typespec = rule.params[0]
    if not re.match(NODE_NAME_PATTERN, typespec):
        return None
    if not typespec[0].isupper():
        return None
    return typespec
コード例 #2
0
def _get_node_class_name(rule):
    if not rule.params:
        return None

    typespec = rule.params[0]
    if not re.match(NODE_NAME_PATTERN, typespec):
        return None
    if not typespec[0].isupper():
        return None
    return typespec
コード例 #3
0
 def process_block(self, name, lines, index, **kwargs):
     i = 0
     while i < len(lines):
         line = lines[i]
         if re.match(PRAGMA_RE, line):
             directive, arg = line.split('#', 1)[1], ''
             if '::' in directive:
                 directive, arg = directive.split('::')
             directive, arg = directive.strip(), arg.strip()
             i = self.pragma(name, directive, arg, lines, index, i)
         else:
             i += 1
     return lines, index
コード例 #4
0
 def process_block(self, name, lines, index, **kwargs):
     i = 0
     while i < len(lines):
         line = lines[i]
         if re.match(PRAGMA_RE, line):
             directive, arg = line.split('#', 1)[1], ''
             if '::' in directive:
                 directive, arg = directive.split('::')
             directive, arg = directive.strip(), arg.strip()
             i = self.pragma(name, directive, arg, lines, index, i)
         else:
             i += 1
     return lines, index