org.deri.iris.compiler
Class TreeWalker

java.lang.Object
  extended by DepthFirstAdapter
      extended by org.deri.iris.compiler.TreeWalker

public class TreeWalker
extends DepthFirstAdapter

Traverses the abstract syntax tree generated by SableCC and constructs the components of a logic program, i.e. facts, rules and queries.


Constructor Summary
TreeWalker(BuiltinRegister builtinRegister)
           
 
Method Summary
 Map<IPredicate,IRelation> getFacts()
           
 List<IQuery> getQueries()
           
 List<IRule> getRuleBase()
           
 void inABuiltinLiteral(ABuiltinLiteral l)
           
 void inAFact(AFact f)
           
 void inAFunctionTerm(AFunctionTerm t)
           
 void inALiteral(ALiteral l)
           
 void inALitlist(ALitlist l)
           
 void inANegatedbuiltinLiteral(ANegatedbuiltinLiteral l)
           
 void inANegatedLiteral(ANegatedLiteral l)
           
 void inAPredicate(APredicate arg0)
           
 void inAQuery(AQuery q)
           
 void inARule(ARule r)
           
 void outABase64binaryTerm(ABase64binaryTerm b)
           
 void outABinaryBuiltin(ABinaryBuiltin b)
           
 void outABooleanTerm(ABooleanTerm b)
           
 void outADateTerm(ADateTerm d)
           
 void outADatetimefsTerm(ADatetimefsTerm d)
           
 void outADatetimefstzTerm(ADatetimefstzTerm d)
           
 void outADatetimeisTerm(ADatetimeisTerm d)
           
 void outADatetimeistzTerm(ADatetimeistzTerm d)
           
 void outADatetimemsTerm(ADatetimemsTerm d)
           
 void outADatetimemstzTerm(ADatetimemstzTerm d)
           
 void outADatetzTerm(ADatetzTerm d)
           
 void outADaytimedurationfsTerm(ADaytimedurationfsTerm node)
           
 void outADaytimedurationmsTerm(ADaytimedurationmsTerm node)
           
 void outADecimallTerm(ADecimallTerm dt)
           
 void outADecimalTerm(ADecimalTerm dt)
           
 void outADoubleTerm(ADoubleTerm d)
           
 void outADurationfsTerm(ADurationfsTerm d)
           
 void outADurationisTerm(ADurationisTerm d)
           
 void outADurationmsTerm(ADurationmsTerm d)
           
 void outAEqualsBuiltin(AEqualsBuiltin b)
           
 void outAFact(AFact f)
           
 void outAFloatTerm(AFloatTerm f)
           
 void outAFunctionTerm(AFunctionTerm ft)
           
 void outAGdayTerm(AGdayTerm g)
           
 void outAGmonthdayTerm(AGmonthdayTerm g)
           
 void outAGmonthTerm(AGmonthTerm g)
           
 void outAGyearmonthTerm(AGyearmonthTerm g)
           
 void outAGyearTerm(AGyearTerm g)
           
 void outAHexbinaryTerm(AHexbinaryTerm h)
           
 void outAIntegerlTerm(AIntegerlTerm it)
           
 void outAIntegerTerm(AIntegerTerm it)
           
 void outAIrilTerm(AIrilTerm i)
           
 void outAIriTerm(AIriTerm i)
           
 void outANegatedbuiltinLiteral(ANegatedbuiltinLiteral arg0)
           
 void outANegatedLiteral(ANegatedLiteral _l)
           
 void outAPredicate(APredicate p)
           
 void outAQuery(AQuery _q)
           
 void outARdftextTerm(ARdftextTerm node)
           
 void outARule(ARule r)
           
 void outASqnamelTerm(ASqnamelTerm st)
           
 void outASqnameTerm(ASqnameTerm st)
           
 void outAStringlTerm(AStringlTerm st)
           
 void outAStringTerm(AStringTerm st)
           
 void outATernaryBuiltin(ATernaryBuiltin b)
           
 void outATimefsTerm(ATimefsTerm t)
           
 void outATimefstzTerm(ATimefstzTerm t)
           
 void outATimeisTerm(ATimeisTerm t)
           
 void outATimeistzTerm(ATimeistzTerm t)
           
 void outATimemsTerm(ATimemsTerm t)
           
 void outATimemstzTerm(ATimemstzTerm t)
           
 void outAVarTerm(AVarTerm v)
           
 void outAXmlliterallangTerm(AXmlliterallangTerm node)
           
 void outAXmlliteralTerm(AXmlliteralTerm node)
           
 void outAYearmonthdurationTerm(AYearmonthdurationTerm node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeWalker

public TreeWalker(BuiltinRegister builtinRegister)
Method Detail

getFacts

public Map<IPredicate,IRelation> getFacts()

getRuleBase

public List<IRule> getRuleBase()

getQueries

public List<IQuery> getQueries()

inALitlist

public void inALitlist(ALitlist l)

inALiteral

public void inALiteral(ALiteral l)

inAPredicate

public void inAPredicate(APredicate arg0)

inABuiltinLiteral

public void inABuiltinLiteral(ABuiltinLiteral l)

inANegatedLiteral

public void inANegatedLiteral(ANegatedLiteral l)

inANegatedbuiltinLiteral

public void inANegatedbuiltinLiteral(ANegatedbuiltinLiteral l)

inAFunctionTerm

public void inAFunctionTerm(AFunctionTerm t)

inAFact

public void inAFact(AFact f)

inAQuery

public void inAQuery(AQuery q)

inARule

public void inARule(ARule r)

outARule

public void outARule(ARule r)

outAFact

public void outAFact(AFact f)

outAQuery

public void outAQuery(AQuery _q)

outANegatedLiteral

public void outANegatedLiteral(ANegatedLiteral _l)

outANegatedbuiltinLiteral

public void outANegatedbuiltinLiteral(ANegatedbuiltinLiteral arg0)

outABinaryBuiltin

public void outABinaryBuiltin(ABinaryBuiltin b)

outAEqualsBuiltin

public void outAEqualsBuiltin(AEqualsBuiltin b)

outATernaryBuiltin

public void outATernaryBuiltin(ATernaryBuiltin b)

outAPredicate

public void outAPredicate(APredicate p)

outAVarTerm

public void outAVarTerm(AVarTerm v)

outAFunctionTerm

public void outAFunctionTerm(AFunctionTerm ft)

outAStringTerm

public void outAStringTerm(AStringTerm st)

outAStringlTerm

public void outAStringlTerm(AStringlTerm st)

outAIntegerTerm

public void outAIntegerTerm(AIntegerTerm it)

outAIntegerlTerm

public void outAIntegerlTerm(AIntegerlTerm it)

outADecimalTerm

public void outADecimalTerm(ADecimalTerm dt)

outADecimallTerm

public void outADecimallTerm(ADecimallTerm dt)

outASqnameTerm

public void outASqnameTerm(ASqnameTerm st)

outASqnamelTerm

public void outASqnamelTerm(ASqnamelTerm st)

outAIriTerm

public void outAIriTerm(AIriTerm i)

outAIrilTerm

public void outAIrilTerm(AIrilTerm i)

outABooleanTerm

public void outABooleanTerm(ABooleanTerm b)

outADoubleTerm

public void outADoubleTerm(ADoubleTerm d)

outAFloatTerm

public void outAFloatTerm(AFloatTerm f)

outABase64binaryTerm

public void outABase64binaryTerm(ABase64binaryTerm b)

outAHexbinaryTerm

public void outAHexbinaryTerm(AHexbinaryTerm h)

outADateTerm

public void outADateTerm(ADateTerm d)

outADatetzTerm

public void outADatetzTerm(ADatetzTerm d)

outATimeisTerm

public void outATimeisTerm(ATimeisTerm t)

outATimeistzTerm

public void outATimeistzTerm(ATimeistzTerm t)

outATimefsTerm

public void outATimefsTerm(ATimefsTerm t)

outATimefstzTerm

public void outATimefstzTerm(ATimefstzTerm t)

outATimemsTerm

public void outATimemsTerm(ATimemsTerm t)

outATimemstzTerm

public void outATimemstzTerm(ATimemstzTerm t)

outADurationisTerm

public void outADurationisTerm(ADurationisTerm d)

outADurationfsTerm

public void outADurationfsTerm(ADurationfsTerm d)

outADurationmsTerm

public void outADurationmsTerm(ADurationmsTerm d)

outADatetimeisTerm

public void outADatetimeisTerm(ADatetimeisTerm d)

outADatetimeistzTerm

public void outADatetimeistzTerm(ADatetimeistzTerm d)

outADatetimefsTerm

public void outADatetimefsTerm(ADatetimefsTerm d)

outADatetimefstzTerm

public void outADatetimefstzTerm(ADatetimefstzTerm d)

outADatetimemsTerm

public void outADatetimemsTerm(ADatetimemsTerm d)

outADatetimemstzTerm

public void outADatetimemstzTerm(ADatetimemstzTerm d)

outADaytimedurationfsTerm

public void outADaytimedurationfsTerm(ADaytimedurationfsTerm node)

outADaytimedurationmsTerm

public void outADaytimedurationmsTerm(ADaytimedurationmsTerm node)

outAYearmonthdurationTerm

public void outAYearmonthdurationTerm(AYearmonthdurationTerm node)

outAGyearTerm

public void outAGyearTerm(AGyearTerm g)

outAGmonthTerm

public void outAGmonthTerm(AGmonthTerm g)

outAGdayTerm

public void outAGdayTerm(AGdayTerm g)

outAGyearmonthTerm

public void outAGyearmonthTerm(AGyearmonthTerm g)

outAGmonthdayTerm

public void outAGmonthdayTerm(AGmonthdayTerm g)

outARdftextTerm

public void outARdftextTerm(ARdftextTerm node)

outAXmlliteralTerm

public void outAXmlliteralTerm(AXmlliteralTerm node)

outAXmlliterallangTerm

public void outAXmlliterallangTerm(AXmlliterallangTerm node)