Expression Resolver
Expression Resolver.
ExprResolver
Bases: Object
Expression Resolver.
Maximum Parser Example
Basics:
>>> import ucdp as u
>>> idents = u.Idents([
... u.Signal(u.UintType(16), 'uint_s'),
... u.Signal(u.SintType(16), 'sint_s'),
... ])
>>> parser = u.ExprParser(namespace=idents)
>>> expr = parser.parse('uint_s') * parser.const(2)
>>> expr
Op(Signal(UintType(16), 'uint_s'), '*', ConstExpr(IntegerType(default=2)))
>>> resolver = u.ExprResolver(namespace=idents)
>>> resolver.resolve(expr)
'uint_s * 0x2'
>>> resolver.resolve(expr, brackets=True)
'(uint_s * 0x2)'