mirror of
https://github.com/davidhalter/parso.git
synced 2026-08-15 04:21:03 +08:00
Try to add rules for normalizers.
This commit is contained in:
+20
-2
@@ -1,4 +1,16 @@
|
|||||||
class Normalizer():
|
class Normalizer(object):
|
||||||
|
@classmethod
|
||||||
|
def register_rule(cls, rule):
|
||||||
|
"""
|
||||||
|
Use it as a class decorator:
|
||||||
|
|
||||||
|
>>> normalizer = Normalizer()
|
||||||
|
>>> @normalizer.register_rule
|
||||||
|
>>> class MyRule(Rule):
|
||||||
|
>>> error_code = 42
|
||||||
|
"""
|
||||||
|
return rule
|
||||||
|
|
||||||
def normalize(self, leaf):
|
def normalize(self, leaf):
|
||||||
return leaf.prefix + leaf.value
|
return leaf.prefix + leaf.value
|
||||||
|
|
||||||
@@ -6,8 +18,14 @@ class Normalizer():
|
|||||||
return iter([])
|
return iter([])
|
||||||
|
|
||||||
|
|
||||||
class Error():
|
class Error(object):
|
||||||
def __init__(self, leaf, code, message):
|
def __init__(self, leaf, code, message):
|
||||||
self._leaf = leaf
|
self._leaf = leaf
|
||||||
self.code = code
|
self.code = code
|
||||||
self.message = message
|
self.message = message
|
||||||
|
|
||||||
|
|
||||||
|
class Rule(object):
|
||||||
|
error_code = None
|
||||||
|
message = None
|
||||||
|
type = None
|
||||||
|
|||||||
Reference in New Issue
Block a user