class Sexpir::Circuit

Attributes

body[RW]
inputs[RW]
name[RW]
outputs[RW]
signals[RW]

Public Class Methods

new() click to toggle source
# File lib/sexpir/ast.rb, line 12
def initialize
  @signals=[]
  @inputs,@outputs=[],[]
  @body=Body.new
end

Public Instance Methods

sexp() click to toggle source
# File lib/sexpir/ast_sexp.rb, line 17
def sexp
  code=Code.new
  code << "(circuit #{name}"
  code.indent=2
  signals.each{|sig| code << sig.sexp}
  inputs.each{|input | code << input.sexp}
  outputs.each{|output| code << output.sexp}
  code.newline
  code << body.sexp
  code.indent=0
  code << ")"
  code.finalize
end