orc.ast.extended.pattern
Class PatternSimplifier

java.lang.Object
  extended by orc.ast.extended.pattern.PatternSimplifier

public class PatternSimplifier
extends java.lang.Object

Used to help simplify patterns. This used to be called PatternVisitor, but it was renamed because it doesn't actually use the visitor pattern and we may want to someday introduce an actual abstract PatternVisitor.

Author:
dkitchin

Constructor Summary
PatternSimplifier()
           
 
Method Summary
 void ascribe(Variable s, Type t)
           
 void assign(Variable s, Expression e)
           
 Expression filter()
           
 void require(Variable s)
           
 void subst(Variable s, FreeVariable x)
           
 Expression target(Variable u, Expression g)
           
 java.util.Set<FreeVariable> vars()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PatternSimplifier

public PatternSimplifier()
Method Detail

assign

public void assign(Variable s,
                   Expression e)

ascribe

public void ascribe(Variable s,
                    Type t)

subst

public void subst(Variable s,
                  FreeVariable x)
           throws NonlinearPatternException
Throws:
NonlinearPatternException

require

public void require(Variable s)

vars

public java.util.Set<FreeVariable> vars()

filter

public Expression filter()

target

public Expression target(Variable u,
                         Expression g)