fix to character

--HG--
branch : pmacs2
This commit is contained in:
Erik Osheim 2010-02-20 11:42:29 -05:00
parent 195bfd98c7
commit 8ab8c86bf4
1 changed files with 15 additions and 13 deletions

View File

@ -16,21 +16,23 @@ chr1 = '[a-zA-Z_]'
chr2 = '[a-zA-Z0-9_]'
word = chr1 + chr2 + '*'
class StringGrammar(Grammar):
rules = [
escaped = [
PatternRule('escaped', r'\\[abfnrtv\\\'"]'),
PatternRule('octal', r'\\[0-7]{3}'),
PatternRule('hex', r'\\x[a-fA-F0-9]{2}'),
PatternRule('unicode', r'\\u[a-fA-F0-9]{4}'),
PatternRule('unicode', r'\\U[a-fA-F0-9]{8}'),
PatternRule('illegal', r'\\.*'),
PatternRule('data', r'[^\\"]+'),
]
class StringGrammar(Grammar):
rules = escaped + [PatternRule('data', r'[^\\"]+')]
class CharGrammar(Grammar):
rules = escaped + [PatternRule('data', r"[^\\']+")]
class RawStringGrammar(Grammar):
rules = [
PatternRule('data', '[^`]+'),
]
rules = [PatternRule('data', '[^`]+')]
class GoGrammar(Grammar):
rules = [
@ -51,7 +53,7 @@ class GoGrammar(Grammar):
PatternRule('go.integer', r'(?:[1-9][0-9]*|0[0-9]*|0[xX][a-fA-F0-9]+)'),
RegionRule('go.char', "'", StringGrammar, "'"),
RegionRule('go.char', "'", CharGrammar, "'"),
RegionRule('go.string', '"', StringGrammar, '"'),
RegionRule('go.string', '`', RawStringGrammar, '`'),
]