Class: OrigenVerilog::Verilog::Evaluator
- Inherits:
-
Processor
- Object
- Processor
- OrigenVerilog::Verilog::Evaluator
show all
- Defined in:
- lib/origen_verilog/verilog/evaluator.rb
Instance Method Summary
collapse
Methods inherited from Processor
#handler_missing, #inline, #process, #process_all
Instance Method Details
#on_constant_expression(node) ⇒ Object
8
9
10
11
12
13
|
# File 'lib/origen_verilog/verilog/evaluator.rb', line 8
def on_constant_expression(node)
nodes = process_all(node.children)
nodes = nodes.map { |n| n.is_a?(Node) ? process(n.value) : n }
eval(nodes.join(' '))
end
|
#on_constant_primary(node) ⇒ Object
19
20
21
|
# File 'lib/origen_verilog/verilog/evaluator.rb', line 19
def on_constant_primary(node)
process(node.value)
end
|
#on_decimal_number(node) ⇒ Object
15
16
17
|
# File 'lib/origen_verilog/verilog/evaluator.rb', line 15
def on_decimal_number(node)
process(node.value)
end
|
#run(ast) ⇒ Object
4
5
6
|
# File 'lib/origen_verilog/verilog/evaluator.rb', line 4
def run(ast)
ast.updated(nil, process_all(ast.children))
end
|