class RubyRTL::Visitor

Public Instance Methods

visit(circuit) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 5
def visit circuit
  circuit.ast.each{|node| node.accept(self)}
end
visitAssign(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 51
def visitAssign node,args=nil
  node.lhs.accept(self)
  node.rhs.accept(self)
end
visitBinary(node,args=nil) click to toggle source

expr ===

# File lib/ruby_rtl/visitor.rb, line 95
def visitBinary node,args=nil
  node.lhs.accept(self)
  node.rhs.accept(self)
end
visitBitLit(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 113
def visitBitLit node,args=nil
  node
end
visitBitType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 140
def visitBitType node,args=nil
end
visitBitVectorType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 143
def visitBitVectorType node,args=nil
end
visitBody(body,args=nil) click to toggle source

statements

# File lib/ruby_rtl/visitor.rb, line 47
def visitBody body,args=nil
  body.each{|stmt| stmt.accept(self,args)}
end
visitCase(case_,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 72
def visitCase case_,args=nil
  case_.cond.accept(self)
  case_.body.accept(self)
end
visitCircuitPart(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 33
def visitCircuitPart node,args=nil
end
visitCombinatorial(comb,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 36
def visitCombinatorial comb,args=nil
  puts comb.body.class
  comb.body.accept(self)
end
visitComment(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 9
def visitComment node,args=nil
end
visitCompDecl(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 30
def visitCompDecl node,args=nil
end
visitElse(else_,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 63
def visitElse else_,args=nil
  else_.body.accept(self)
end
visitElsif(elsif_,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 67
def visitElsif elsif_,args=nil
  elsif_.cond.accept(self)
  elsif_.body.accept(self)
end
visitFsm(fsm,args=nil) click to toggle source

fsm

# File lib/ruby_rtl/visitor.rb, line 83
def visitFsm fsm,args=nil
  fsm.body.accept(self)
end
visitIf(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 56
def visitIf node,args=nil
  node.cond.accept(self)
  node.body.accept(self)
  node.elsifs.each{|elsif_| elsif_.accept(self)}
  node.else.accept(self) if node.else
end
visitIndexed(indexed,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 104
def visitIndexed indexed,args=nil
  lhs=indexed.lhs.accept(self)
  rhs=indexed.rhs.accept(self)
end
visitInput(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 18
def visitInput node,args=nil
end
visitIntLit(lit,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 117
def visitIntLit lit,args=nil
  lit
end
visitIntType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 146
def visitIntType node,args=nil
end
visitInteger(int,args=nil) click to toggle source

types ===

# File lib/ruby_rtl/visitor.rb, line 133
def visitInteger int,args=nil
  int
end
visitLiteral(node,args=nil) click to toggle source

literals ===

# File lib/ruby_rtl/visitor.rb, line 109
def visitLiteral node,args=nil
  node
end
visitNext(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 91
def visitNext node,args=nil
end
visitOutput(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 21
def visitOutput node,args=nil
end
visitPort(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 15
def visitPort node,args=nil
end
visitRIntLit(lit,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 125
def visitRIntLit lit,args=nil
  lit
end
visitRIntType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 153
def visitRIntType node,args=nil
end
visitRUIntLit(lit,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 129
def visitRUIntLit lit,args=nil
  lit
end
visitRUintType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 156
def visitRUintType node,args=nil
end
visitRecordType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 159
def visitRecordType node,args=nil
end
visitSequential(seq,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 41
def visitSequential seq,args=nil
  puts seq.body.class
  seq.body.accept(self)
end
visitSig(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 12
def visitSig node,args=nil
end
visitSigDecl(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 27
def visitSigDecl node,args=nil
end
visitState(state,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 87
def visitState state,args=nil
  state.body.accept(self)
end
visitType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 137
def visitType node,args=nil
end
visitTypeDecl(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 24
def visitTypeDecl node,args=nil
end
visitUIntLit(lit,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 121
def visitUIntLit lit,args=nil
  lit
end
visitUIntType(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 150
def visitUIntType node,args=nil
end
visitUnary(node,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 100
def visitUnary node,args=nil
  node.expr.accept(self)
end
visitWhen(when_,args=nil) click to toggle source
# File lib/ruby_rtl/visitor.rb, line 77
def visitWhen when_,args=nil
  when_.value.accept(self) unless when_.value.is_a?(Symbol)
  when_.body.accept(self)
end