hdl.xfrm: Abstract*Transformer→*Visitor

This commit is contained in:
whitequark 2018-12-22 06:03:38 +00:00
parent 37b81309d3
commit 98a9744be4
2 changed files with 10 additions and 10 deletions

View file

@ -7,7 +7,7 @@ from vcd.gtkw import GTKWSave
from ..tools import flatten from ..tools import flatten
from ..hdl.ast import * from ..hdl.ast import *
from ..hdl.xfrm import AbstractValueTransformer, AbstractStatementTransformer from ..hdl.xfrm import ValueVisitor, StatementVisitor
__all__ = ["Simulator", "Delay", "Tick", "Passive", "DeadlineError"] __all__ = ["Simulator", "Delay", "Tick", "Passive", "DeadlineError"]
@ -71,7 +71,7 @@ class _State:
normalize = Const.normalize normalize = Const.normalize
class _RHSValueCompiler(AbstractValueTransformer): class _RHSValueCompiler(ValueVisitor):
def __init__(self, signal_slots, sensitivity=None, mode="rhs"): def __init__(self, signal_slots, sensitivity=None, mode="rhs"):
self.signal_slots = signal_slots self.signal_slots = signal_slots
self.sensitivity = sensitivity self.sensitivity = sensitivity
@ -201,7 +201,7 @@ class _RHSValueCompiler(AbstractValueTransformer):
return eval return eval
class _LHSValueCompiler(AbstractValueTransformer): class _LHSValueCompiler(ValueVisitor):
def __init__(self, signal_slots, rhs_compiler): def __init__(self, signal_slots, rhs_compiler):
self.signal_slots = signal_slots self.signal_slots = signal_slots
self.rhs_compiler = rhs_compiler self.rhs_compiler = rhs_compiler
@ -275,7 +275,7 @@ class _LHSValueCompiler(AbstractValueTransformer):
return eval return eval
class _StatementCompiler(AbstractStatementTransformer): class _StatementCompiler(StatementVisitor):
def __init__(self, signal_slots): def __init__(self, signal_slots):
self.sensitivity = SignalSet() self.sensitivity = SignalSet()
self.rrhs_compiler = _RHSValueCompiler(signal_slots, self.sensitivity, mode="rhs") self.rrhs_compiler = _RHSValueCompiler(signal_slots, self.sensitivity, mode="rhs")

View file

@ -9,13 +9,13 @@ from .cd import *
from .ir import * from .ir import *
__all__ = ["AbstractValueTransformer", "ValueTransformer", __all__ = ["ValueVisitor", "ValueTransformer",
"AbstractStatementTransformer", "StatementTransformer", "StatementVisitor", "StatementTransformer",
"FragmentTransformer", "FragmentTransformer",
"DomainRenamer", "DomainLowerer", "ResetInserter", "CEInserter"] "DomainRenamer", "DomainLowerer", "ResetInserter", "CEInserter"]
class AbstractValueTransformer(metaclass=ABCMeta): class ValueVisitor(metaclass=ABCMeta):
@abstractmethod @abstractmethod
def on_Const(self, value): def on_Const(self, value):
pass # :nocov: pass # :nocov:
@ -91,7 +91,7 @@ class AbstractValueTransformer(metaclass=ABCMeta):
return self.on_value(value) return self.on_value(value)
class ValueTransformer(AbstractValueTransformer): class ValueTransformer(ValueVisitor):
def on_Const(self, value): def on_Const(self, value):
return value return value
@ -124,7 +124,7 @@ class ValueTransformer(AbstractValueTransformer):
self.on_value(value.index)) self.on_value(value.index))
class AbstractStatementTransformer(metaclass=ABCMeta): class StatementVisitor(metaclass=ABCMeta):
@abstractmethod @abstractmethod
def on_Assign(self, stmt): def on_Assign(self, stmt):
pass # :nocov: pass # :nocov:
@ -155,7 +155,7 @@ class AbstractStatementTransformer(metaclass=ABCMeta):
return self.on_statement(value) return self.on_statement(value)
class StatementTransformer(AbstractStatementTransformer): class StatementTransformer(StatementVisitor):
def on_value(self, value): def on_value(self, value):
return value return value