Class: Sexpir::Visitor
- Inherits:
-
Object
show all
- Defined in:
- lib/sexpir/visitor.rb
Instance Method Summary
collapse
-
#visitAssign(assign, args = nil) ⇒ Object
-
#visitBinary(binary, args = nil) ⇒ Object
-
#visitBody(body, args = nil) ⇒ Object
-
#visitCircuit(circuit, args = nil) ⇒ Object
-
#visitComponent(component, args = nil) ⇒ Object
-
#visitConnect(connect, args = nil) ⇒ Object
-
#visitExpression(expr, args = nil) ⇒ Object
.
-
#visitInput(input, args = nil) ⇒ Object
-
#visitIo(io, args = nil) ⇒ Object
-
#visitOutput(output, args = nil) ⇒ Object
-
#visitPort(port, args = nil) ⇒ Object
-
#visitSignal(sig, args = nil) ⇒ Object
-
#visitTerm(term, args = nil) ⇒ Object
-
#visitVar(var, args = nil) ⇒ Object
Instance Method Details
#visitAssign(assign, args = nil) ⇒ Object
42
43
44
45
|
# File 'lib/sexpir/visitor.rb', line 42
def visitAssign assign,args=nil
assign.lhs.accept(self)
assign.rhs.accept(self)
end
|
#visitBinary(binary, args = nil) ⇒ Object
62
63
64
65
|
# File 'lib/sexpir/visitor.rb', line 62
def visitBinary binary,args=nil
binary.lhs.accept(self)
binary.rhs.accept(self)
end
|
#visitBody(body, args = nil) ⇒ Object
38
39
40
|
# File 'lib/sexpir/visitor.rb', line 38
def visitBody body,args=nil
body.stmts.each{|stmt| stmt.accept(self)}
end
|
#visitCircuit(circuit, args = nil) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/sexpir/visitor.rb', line 5
def visitCircuit circuit,args=nil
circuit.name
circuit.inputs.each{|input| input.accept(self)}
circuit.outputs.each{|output| output.accept(self)}
circuit.signals.each{|signal| signal.accept(self)}
circuit.body.accept(self)
end
|
#visitComponent(component, args = nil) ⇒ Object
47
48
49
50
51
|
# File 'lib/sexpir/visitor.rb', line 47
def visitComponent component,args=nil
name=component.name
type=component.type
"component #{name} => #{type}"
end
|
#visitConnect(connect, args = nil) ⇒ Object
53
54
55
56
|
# File 'lib/sexpir/visitor.rb', line 53
def visitConnect connect,args=nil
connect.source
connect.sink
end
|
#visitExpression(expr, args = nil) ⇒ Object
59
60
|
# File 'lib/sexpir/visitor.rb', line 59
def visitExpression expr,args=nil
end
|
28
29
30
31
|
# File 'lib/sexpir/visitor.rb', line 28
def visitInput input,args=nil
input.name
input.type
end
|
#visitIo(io, args = nil) ⇒ Object
18
19
20
21
|
# File 'lib/sexpir/visitor.rb', line 18
def visitIo io,args=nil
io.name
io.type
end
|
#visitOutput(output, args = nil) ⇒ Object
33
34
35
36
|
# File 'lib/sexpir/visitor.rb', line 33
def visitOutput output,args=nil
output.name
output.type
end
|
#visitPort(port, args = nil) ⇒ Object
23
24
25
26
|
# File 'lib/sexpir/visitor.rb', line 23
def visitPort port,args=nil
port.name
port.type
end
|
#visitSignal(sig, args = nil) ⇒ Object
13
14
15
16
|
# File 'lib/sexpir/visitor.rb', line 13
def visitSignal sig,args=nil
signal.name
signal.type
end
|
#visitTerm(term, args = nil) ⇒ Object
67
68
69
|
# File 'lib/sexpir/visitor.rb', line 67
def visitTerm term,args=nil
term
end
|
#visitVar(var, args = nil) ⇒ Object
71
72
73
|
# File 'lib/sexpir/visitor.rb', line 71
def visitVar var,args=nil
var.name
end
|