branch : pmacs2
This commit is contained in:
moculus 2009-04-03 16:25:58 +00:00
parent 73127ae825
commit f7ceeb3dda
1 changed files with 8 additions and 0 deletions

View File

@ -37,6 +37,13 @@ class MacroGrammar(Grammar):
class CGrammar(Grammar): class CGrammar(Grammar):
rules = [ rules = [
PatternRule('spaces', r' +'), PatternRule('spaces', r' +'),
PatternMatchRule('x', r'(\()( *)(' + word + r')(\**)( *)(\))( *)(?=[a-zA-Z0-9_\(])',
'delimiter', 'spaces', 'type', 'operator', 'spaces', 'delimiter',
'spaces'),
#PatternMatchRule('x', r'(\()(' + word + r')(\))',
# 'delimiter', 'type', 'delimiter'),
PatternRule(r"delimiter", r"\.|\(|\)|\[|\]|{|}|@|,|:|`|;|=(?!=)|\?|->"), PatternRule(r"delimiter", r"\.|\(|\)|\[|\]|{|}|@|,|:|`|;|=(?!=)|\?|->"),
PatternRule('eol', r"\n$"), PatternRule('eol', r"\n$"),
PatternMatchRule('x', r'(struct|enum|union)( +)(' + word + ')', PatternMatchRule('x', r'(struct|enum|union)( +)(' + word + ')',
@ -56,6 +63,7 @@ class CGrammar(Grammar):
PatternMatchRule('x', '(' + word + ')(\*+)( +)(' + word + ')', PatternMatchRule('x', '(' + word + ')(\*+)( +)(' + word + ')',
'type', 'binop', 'spaces', 'identifier'), 'type', 'binop', 'spaces', 'identifier'),
PatternRule('function', word + r'(?= *\()'), PatternRule('function', word + r'(?= *\()'),
PatternRule('constant', "[A-Z_][A-Z0-9_]+(?!" + chr2 + ")"), PatternRule('constant', "[A-Z_][A-Z0-9_]+(?!" + chr2 + ")"),
PatternRule('label', word + '(?=:)'), PatternRule('label', word + '(?=:)'),