orc.ast.extended.declaration
Class DefsDeclaration

java.lang.Object
  extended by orc.ast.extended.declaration.Declaration
      extended by orc.ast.extended.declaration.DefsDeclaration
All Implemented Interfaces:
ASTNode, Locatable, Located

public class DefsDeclaration
extends Declaration

A group of defined expressions, together as a declaration. Any contiguous sequence of definitions is assumed to be mutually recursive. The simplification of a group of definitions is complicated by the mutually recursive binding, which requires that each definition bind its name in all of the other definitions.

Author:
dkitchin

Field Summary
 java.util.List<DefMember> defs
           
 
Fields inherited from class orc.ast.extended.declaration.Declaration
location
 
Constructor Summary
DefsDeclaration(java.util.List<DefMember> defs)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 Expression bindto(Expression target)
           
 java.lang.String toString()
           
 
Methods inherited from class orc.ast.extended.declaration.Declaration
getSourceLocation, setSourceLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defs

public java.util.List<DefMember> defs
Constructor Detail

DefsDeclaration

public DefsDeclaration(java.util.List<DefMember> defs)
Method Detail

bindto

public Expression bindto(Expression target)
                  throws CompilationException
Specified by:
bindto in class Declaration
Throws:
CompilationException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

accept

public <E> E accept(Visitor<E> visitor)