The Meta-Environment API

toolbus
Class TBTermFactory

java.lang.Object
  extended by shared.SharedObjectFactory
      extended by aterm.pure.PureFactory
          extended by toolbus.TBTermFactory
All Implemented Interfaces:
aterm.ATermFactory

public class TBTermFactory
extends aterm.pure.PureFactory


Nested Class Summary
private static class TBTermFactory.InstanceKeeper
           
 
Field Summary
 aterm.ATerm BlobPlaceholder
           
 aterm.ATerm BlobType
           
 aterm.ATerm BoolPlaceholder
           
 aterm.ATerm BoolType
           
 aterm.ATermList EmptyList
           
 aterm.ATerm False
           
private  aterm.AFun fun_TBTermVar
           
 aterm.ATerm IntPlaceholder
           
 aterm.ATerm IntType
           
 aterm.ATerm ListPlaceholder
           
 aterm.ATerm ListType
           
 aterm.ATerm RealPlaceholder
           
 aterm.ATerm RealType
           
 aterm.ATerm StrPlaceholder
           
 aterm.ATerm StrType
           
 aterm.ATerm TermPlaceholder
           
 aterm.ATerm TermType
           
 aterm.ATerm True
           
 aterm.ATerm Undefined
           
static int VAR
          A term of type VAR
 
Fields inherited from interface aterm.ATermFactory
START_OF_SHARED_TEXT_FILE
 
Constructor Summary
protected TBTermFactory()
           
 
Method Summary
 aterm.ATerm concat(aterm.ATerm s1, aterm.ATerm s2)
           
 aterm.ATermList delete(aterm.ATerm l, aterm.ATerm e)
           
 aterm.ATerm diff(aterm.ATerm l1, aterm.ATerm l2)
           
 aterm.ATerm first(aterm.ATerm l)
           
 aterm.ATerm fullSubstitute(aterm.ATerm t, Environment env)
          Replaces all variables in an ATerm by their value.
 aterm.ATerm get(aterm.ATerm l, aterm.ATerm k)
           
 aterm.ATerm getArgs(aterm.ATerm t)
           
static TBTermFactory getInstance()
           
 aterm.ATerm index(aterm.ATerm l, int i)
           
 aterm.ATerm inter(aterm.ATerm l1, aterm.ATerm l2)
           
 boolean isAnyVar(aterm.ATerm t)
           
 boolean isAppl(aterm.ATerm t)
           
 boolean isBlob(aterm.ATerm t)
           
 boolean isBoolean(aterm.ATerm t)
           
 boolean isFalse(aterm.ATerm t)
           
 boolean isInt(aterm.ATerm t)
           
 boolean isList(aterm.ATerm t)
           
 boolean isReal(aterm.ATerm t)
           
 boolean isResultVar(aterm.ATerm t)
           
 boolean isStr(aterm.ATerm t)
           
 boolean isTrue(aterm.ATerm t)
           
 boolean isVar(aterm.ATerm t)
           
 aterm.ATerm join(aterm.ATerm l1, aterm.ATerm l2)
           
 aterm.ATerm makePattern(aterm.ATerm t)
          Transform a term into a pattern that can be used by tool interfaces.
 TBTermVar makeTBTermResVar(java.lang.String name, aterm.ATerm type)
           
 TBTermVar makeTBTermVar(java.lang.String name, aterm.ATerm type)
           
 TBTermVar makeTBTermVar(java.lang.String name, aterm.ATerm type, aterm.ATerm isResVar)
           
 TBTermVar makeTBTermVar(java.lang.String name, aterm.ATerm type, aterm.ATerm isResult, aterm.ATermList annos)
           
 boolean match(aterm.ATerm left, Environment leftEnv, aterm.ATerm right, Environment rightEnv)
           
private  boolean matchListPlaceholder(aterm.ATermList terma, aterm.ATermPlaceholder tb, boolean swapargs)
           
 boolean matchPatternToValue(aterm.ATerm left, Environment leftEnv, aterm.ATerm right)
           
private  boolean matchPlaceholder(aterm.ATermAppl ta, aterm.ATermPlaceholder tb, boolean swapargs)
           
 boolean member(aterm.ATerm e, aterm.ATerm l)
           
 boolean mightMatch(aterm.ATerm terma, aterm.ATerm termb)
           
 TBTermVar mkResVar(aterm.ATerm name, java.lang.String processName, aterm.ATerm type)
           
 TBTermVar mkVar(aterm.ATerm name, java.lang.String processName, aterm.ATerm type)
           
 aterm.ATerm next(aterm.ATerm l)
           
 boolean patternMatchesToValue(aterm.ATerm pattern, Environment patternEnv, aterm.ATerm value)
           
private  boolean performMatch(aterm.ATerm left, Environment leftEnv, java.util.List<Binding> leftDeltaEnv, aterm.ATerm right, Environment rightEnv, java.util.List<Binding> rightDeltaEnv)
           
private  boolean performPatternMatch(aterm.ATerm pattern, Environment patternEnv, aterm.ATerm value, java.util.List<Binding> deltaEnv)
           
 aterm.ATerm put(aterm.ATerm l, aterm.ATerm k, aterm.ATerm v)
           
 aterm.ATerm replace(aterm.ATerm l, int n, aterm.ATerm e)
           
 TBTermVar replaceAssignableVar(TBTermVar v, Environment env)
           
 aterm.ATerm replaceFormals(aterm.ATerm t, Environment env)
          Replace the formals in ATerm t by their values using Environment env.
 int size(aterm.ATerm l)
           
 java.lang.String statistics()
           
 boolean subset(aterm.ATerm l1, aterm.ATerm l2)
           
 aterm.ATerm substitute(aterm.ATerm t, Environment env)
          Replace all variables in an ATerm by their value.
private  boolean swapMatch(aterm.ATerm ta, aterm.ATerm tb, boolean swapargs)
           
 
Methods inherited from class aterm.pure.PureFactory
abbrevSize, getEmpty, importTerm, isDeepEqual, make, make, make, make, make, make, make, make, make, make, makeAFun, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeAppl, makeApplList, makeApplList, makeBlob, makeBlob, makeInt, makeInt, makeList, makeList, makeList, makeList, makeLong, makeLong, makePlaceholder, makePlaceholder, makeReal, makeReal, parse, readFromBinaryFile, readFromFile, readFromFile, readFromSharedTextFile, readFromTextFile
 
Methods inherited from class shared.SharedObjectFactory
build, cleanup, contains, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VAR

public static final int VAR
A term of type VAR

See Also:
Constant Field Values

fun_TBTermVar

private final aterm.AFun fun_TBTermVar

True

public final aterm.ATerm True

False

public final aterm.ATerm False

BoolType

public final aterm.ATerm BoolType

IntType

public final aterm.ATerm IntType

RealType

public final aterm.ATerm RealType

StrType

public final aterm.ATerm StrType

TermType

public final aterm.ATerm TermType

ListType

public final aterm.ATerm ListType

BlobType

public final aterm.ATerm BlobType

Undefined

public final aterm.ATerm Undefined

BoolPlaceholder

public final aterm.ATerm BoolPlaceholder

IntPlaceholder

public final aterm.ATerm IntPlaceholder

RealPlaceholder

public final aterm.ATerm RealPlaceholder

StrPlaceholder

public final aterm.ATerm StrPlaceholder

TermPlaceholder

public final aterm.ATerm TermPlaceholder

ListPlaceholder

public final aterm.ATerm ListPlaceholder

BlobPlaceholder

public final aterm.ATerm BlobPlaceholder

EmptyList

public final aterm.ATermList EmptyList
Constructor Detail

TBTermFactory

protected TBTermFactory()
Method Detail

getInstance

public static TBTermFactory getInstance()

statistics

public java.lang.String statistics()

makeTBTermVar

public TBTermVar makeTBTermVar(java.lang.String name,
                               aterm.ATerm type,
                               aterm.ATerm isResult,
                               aterm.ATermList annos)

makeTBTermVar

public TBTermVar makeTBTermVar(java.lang.String name,
                               aterm.ATerm type)

makeTBTermVar

public TBTermVar makeTBTermVar(java.lang.String name,
                               aterm.ATerm type,
                               aterm.ATerm isResVar)

makeTBTermResVar

public TBTermVar makeTBTermResVar(java.lang.String name,
                                  aterm.ATerm type)

mkVar

public TBTermVar mkVar(aterm.ATerm name,
                       java.lang.String processName,
                       aterm.ATerm type)

mkResVar

public TBTermVar mkResVar(aterm.ATerm name,
                          java.lang.String processName,
                          aterm.ATerm type)

isTrue

public boolean isTrue(aterm.ATerm t)

isFalse

public boolean isFalse(aterm.ATerm t)

isBoolean

public boolean isBoolean(aterm.ATerm t)

isInt

public boolean isInt(aterm.ATerm t)

isStr

public boolean isStr(aterm.ATerm t)

isReal

public boolean isReal(aterm.ATerm t)

isAppl

public boolean isAppl(aterm.ATerm t)

isList

public boolean isList(aterm.ATerm t)

isBlob

public boolean isBlob(aterm.ATerm t)

getArgs

public aterm.ATerm getArgs(aterm.ATerm t)

size

public int size(aterm.ATerm l)

first

public aterm.ATerm first(aterm.ATerm l)

next

public aterm.ATerm next(aterm.ATerm l)

member

public boolean member(aterm.ATerm e,
                      aterm.ATerm l)

subset

public boolean subset(aterm.ATerm l1,
                      aterm.ATerm l2)

delete

public aterm.ATermList delete(aterm.ATerm l,
                              aterm.ATerm e)

diff

public aterm.ATerm diff(aterm.ATerm l1,
                        aterm.ATerm l2)

inter

public aterm.ATerm inter(aterm.ATerm l1,
                         aterm.ATerm l2)

join

public aterm.ATerm join(aterm.ATerm l1,
                        aterm.ATerm l2)

concat

public aterm.ATerm concat(aterm.ATerm s1,
                          aterm.ATerm s2)

index

public aterm.ATerm index(aterm.ATerm l,
                         int i)

replace

public aterm.ATerm replace(aterm.ATerm l,
                           int n,
                           aterm.ATerm e)

put

public aterm.ATerm put(aterm.ATerm l,
                       aterm.ATerm k,
                       aterm.ATerm v)

get

public aterm.ATerm get(aterm.ATerm l,
                       aterm.ATerm k)

isVar

public boolean isVar(aterm.ATerm t)

isResultVar

public boolean isResultVar(aterm.ATerm t)

isAnyVar

public boolean isAnyVar(aterm.ATerm t)

replaceAssignableVar

public TBTermVar replaceAssignableVar(TBTermVar v,
                                      Environment env)
                               throws ToolBusException
Throws:
ToolBusException

replaceFormals

public aterm.ATerm replaceFormals(aterm.ATerm t,
                                  Environment env)
                           throws ToolBusException
Replace the formals in ATerm t by their values using Environment env.

Parameters:
t - Aterm containing formals
env - environment to be used.
Throws:
ToolBusException

makePattern

public aterm.ATerm makePattern(aterm.ATerm t)
Transform a term into a pattern that can be used by tool interfaces.


substitute

public aterm.ATerm substitute(aterm.ATerm t,
                              Environment env)
Replace all variables in an ATerm by their value.


fullSubstitute

public aterm.ATerm fullSubstitute(aterm.ATerm t,
                                  Environment env)
Replaces all variables in an ATerm by their value. If a variable result variable is present the full substitute can not be completed and null will be returned instead.

Parameters:
t - The term in which variables need to be substituted.
env - The environment from which the variable values can be retrieved.
Returns:
A complete ATerm tree that doesn't contain any variables; null if the substitute could not be completed.

match

public boolean match(aterm.ATerm left,
                     Environment leftEnv,
                     aterm.ATerm right,
                     Environment rightEnv)

matchPatternToValue

public boolean matchPatternToValue(aterm.ATerm left,
                                   Environment leftEnv,
                                   aterm.ATerm right)

patternMatchesToValue

public boolean patternMatchesToValue(aterm.ATerm pattern,
                                     Environment patternEnv,
                                     aterm.ATerm value)

performPatternMatch

private boolean performPatternMatch(aterm.ATerm pattern,
                                    Environment patternEnv,
                                    aterm.ATerm value,
                                    java.util.List<Binding> deltaEnv)

performMatch

private boolean performMatch(aterm.ATerm left,
                             Environment leftEnv,
                             java.util.List<Binding> leftDeltaEnv,
                             aterm.ATerm right,
                             Environment rightEnv,
                             java.util.List<Binding> rightDeltaEnv)

mightMatch

public boolean mightMatch(aterm.ATerm terma,
                          aterm.ATerm termb)

matchListPlaceholder

private boolean matchListPlaceholder(aterm.ATermList terma,
                                     aterm.ATermPlaceholder tb,
                                     boolean swapargs)

matchPlaceholder

private boolean matchPlaceholder(aterm.ATermAppl ta,
                                 aterm.ATermPlaceholder tb,
                                 boolean swapargs)

swapMatch

private boolean swapMatch(aterm.ATerm ta,
                          aterm.ATerm tb,
                          boolean swapargs)

The Meta-Environment API