|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorc.ast.simple.Expression
public abstract class Expression
Base class for the simplified abstract syntax tree.
Constructor Summary | |
---|---|
Expression()
|
Method Summary | |
---|---|
Node |
compile(Node output)
Intermediate step to allow a one-step compile from the simple AST. |
abstract Expr |
convert(Env<Var> vars)
Converts abstract syntax tree into a serializable form, used to generate portable .oil (Orc Intermediate Language) files. |
Expression |
suball(java.util.Map<NamedVar,? extends Argument> m)
Perform a set of substitutions defined by a map. |
abstract Expression |
subst(Argument a,
NamedVar x)
Performs the substitution [a/x], replacing occurrences of the free variable x with the new argument a (which could be any argument, including another variable). |
abstract java.util.Set<Var> |
vars()
Find the set of all unbound Vars (note: not FreeVars) in this expression. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Expression()
Method Detail |
---|
public abstract Expr convert(Env<Var> vars) throws CompilationException
vars
- The vars environment, used in content addressable mode to
find the appropriate deBruijn index of a var.
CompilationException
public abstract Expression subst(Argument a, NamedVar x)
a
- The replacing variable or valuex
- The free variable whose occurrences will be replacedpublic Expression suball(java.util.Map<NamedVar,? extends Argument> m)
m
- public abstract java.util.Set<Var> vars()
public Node compile(Node output) throws CompilationException
CompilationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |