sdr 0.3

net.cscott.sdr.calls.ast
Class Part

java.lang.Object
  extended by net.cscott.sdr.calls.ast.AstNode
      extended by net.cscott.sdr.calls.ast.SeqCall
          extended by net.cscott.sdr.calls.ast.Part

public class Part
extends SeqCall

Part denotes an fractional part of a call. Iff isDivisible is false, calls can not be fractionalized below this Part. The Part also denotes timing: each part executes in the same amount of time (unless modified by In. Part has exactly one child, which is a Comp.

Version:
$Id: Part.java,v 1.5 2006-10-17 16:29:05 cananian Exp $
Author:
C. Scott Ananian

Field Summary
 Comp child
           
 boolean isDivisible
           
 
Fields inherited from class net.cscott.sdr.calls.ast.AstNode
type
 
Constructor Summary
Part(boolean isDivisible, Comp child)
           
 
Method Summary
<T> SeqCall
accept(TransformVisitor<T> v, T t)
          Visitor pattern implementation for transformations.
<RESULT,CLOSURE>
RESULT
accept(ValueVisitor<RESULT,CLOSURE> v, CLOSURE cl)
          Visitor pattern implementation for computations.
 String argsToString()
           
 Part build(boolean isDivisible, Comp child)
          Factory: creates new Part only if it would differ from this.
 
Methods inherited from class net.cscott.sdr.calls.ast.AstNode
toString, valueOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isDivisible

public final boolean isDivisible

child

public final Comp child
Constructor Detail

Part

public Part(boolean isDivisible,
            Comp child)
Method Detail

accept

public <T> SeqCall accept(TransformVisitor<T> v,
                          T t)
Description copied from class: AstNode
Visitor pattern implementation for transformations. Each AstNode accepts a TransformVisitor and a value, and returns an instance of its own type (ie, Seq.accept(tv, "A") returns a Seq). The 't' parameter is a closure.

Specified by:
accept in class SeqCall

accept

public <RESULT,CLOSURE> RESULT accept(ValueVisitor<RESULT,CLOSURE> v,
                                      CLOSURE cl)
Description copied from class: AstNode
Visitor pattern implementation for computations. Each AstNode accepts a ValueVisitor and a closure, and returns an object of the appropriate result type.

Specified by:
accept in class AstNode

build

public Part build(boolean isDivisible,
                  Comp child)
Factory: creates new Part only if it would differ from this.


argsToString

public String argsToString()
Overrides:
argsToString in class AstNode

sdr 0.3

Copyright © 2006-2009 C. Scott Ananian