org.kahina.tralesld.bridge
Class TraleSLDBridge

java.lang.Object
  extended by org.kahina.core.bridge.KahinaBridge
      extended by org.kahina.lp.bridge.LogicProgrammingBridge
          extended by org.kahina.tralesld.bridge.TraleSLDBridge
All Implemented Interfaces:
KahinaListener

public class TraleSLDBridge
extends LogicProgrammingBridge


Field Summary
static boolean VERBOSE
           
 
Fields inherited from class org.kahina.lp.bridge.LogicProgrammingBridge
bridgeState, currentID, parentCandidateID, selectedID, skipFlag, skipID, stepIDConv, waitingForReturnFromSkip
 
Fields inherited from class org.kahina.core.bridge.KahinaBridge
kahina
 
Constructor Summary
TraleSLDBridge(TraleSLDInstance kahina)
           
 
Method Summary
 void fail(int externalStepID)
          Called to indicate that the fail port of the procedure box with the given ID has been reached.
 void finished(int extID)
           
 TraleSLDStep generateStep()
           
 void registerAppropriateFeature(String type, String feature, String typeRest)
           
 void registerChartEdge(int externalEdgeID, int left, int right, String ruleName)
           
 void registerEdgeDependency(int motherID, int daughterID)
           
 void registerEdgeRetrieval(int daughterID)
           
 void registerMessage(int extID, String key, String grisuMessage)
           
 void registerMessage(int extID, String key, String varName, String type, String grisuMessage)
           
 void registerMessage(int extID, String key, String varName, String tag, String type, String grisuMessage)
           
 void registerProspectiveEdge(int ruleApplicationExtID, String ruleName, int leftmostDaughter)
          Called by registerRuleApplication(int, String, int, String) to register the first prospective edge of a rule application, and directly via the Jasper interface to register any subsequent prospective edge of that rule application.
 void registerRuleApplication(int extID, String ruleName, int leftmostDaughter, String consoleMessage)
           
 void registerSubtype(String type, String subtype)
           
 void signatureFinished()
           
 void step(int extID, String stepType, String nodeLabel, String consoleMessage)
          For each new procedure box that is created, this method or one of its variants must first be called.
 
Methods inherited from class org.kahina.lp.bridge.LogicProgrammingBridge
call, canSkipOrAutocomplete, convertStepID, end, exception, exit, exit, exit, getAction, isQueryRoot, linkNodes, processBreakPointMatch, processControlEvent, processCreepPointMatch, processFailPointMatch, processSelectionEvent, processSkipPointMatch, processSystemEvent, processWarnEvent, redo, registerLayer, registerStepSourceCodeLocation, select, selectIfPaused, step, step, warning
 
Methods inherited from class org.kahina.core.bridge.KahinaBridge
processEvent, processEvent, processProfilePointMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERBOSE

public static final boolean VERBOSE
See Also:
Constant Field Values
Constructor Detail

TraleSLDBridge

public TraleSLDBridge(TraleSLDInstance kahina)
Method Detail

registerSubtype

public void registerSubtype(String type,
                            String subtype)

registerAppropriateFeature

public void registerAppropriateFeature(String type,
                                       String feature,
                                       String typeRest)

signatureFinished

public void signatureFinished()

step

public void step(int extID,
                 String stepType,
                 String nodeLabel,
                 String consoleMessage)
Description copied from class: LogicProgrammingBridge
For each new procedure box that is created, this method or one of its variants must first be called. It is separate from LogicProgrammingBridge.call(int) for historic reasons and for flexibility, e.g. it can be overloaded with various arguments representing all kinds of information about a step without touching the call method. Note however that information about a step that is not absolutely central, such as source code locations, should be sent to Kahina using specialized methods following the call to the step method.

Overrides:
step in class LogicProgrammingBridge
Parameters:
extID - An ID identifying the procedure box uniquely.
stepType - A string identifying the type of the step, e.g. a Prolog predicate identifier such as append/3. Will be used for categorizing and counting steps in the profiler.
nodeLabel - A full description of the step, such as append([1,2],[3,4],X). Will be used for labeling nodes in the control flow graph.
consoleMessage - A more extensive description of the (type of) the step, such as a prose description of what append/3 does. Will be displayed in the message console.

registerProspectiveEdge

public void registerProspectiveEdge(int ruleApplicationExtID,
                                    String ruleName,
                                    int leftmostDaughter)
Called by registerRuleApplication(int, String, int, String) to register the first prospective edge of a rule application, and directly via the Jasper interface to register any subsequent prospective edge of that rule application.

Parameters:
leftmostDaughter - pass -1 to not register a leftmost daughter

registerEdgeRetrieval

public void registerEdgeRetrieval(int daughterID)

registerRuleApplication

public void registerRuleApplication(int extID,
                                    String ruleName,
                                    int leftmostDaughter,
                                    String consoleMessage)

registerChartEdge

public void registerChartEdge(int externalEdgeID,
                              int left,
                              int right,
                              String ruleName)

registerEdgeDependency

public void registerEdgeDependency(int motherID,
                                   int daughterID)

registerMessage

public void registerMessage(int extID,
                            String key,
                            String grisuMessage)

registerMessage

public void registerMessage(int extID,
                            String key,
                            String varName,
                            String type,
                            String grisuMessage)

registerMessage

public void registerMessage(int extID,
                            String key,
                            String varName,
                            String tag,
                            String type,
                            String grisuMessage)

fail

public void fail(int externalStepID)
Description copied from class: LogicProgrammingBridge
Called to indicate that the fail port of the procedure box with the given ID has been reached.

Overrides:
fail in class LogicProgrammingBridge

finished

public void finished(int extID)

generateStep

public TraleSLDStep generateStep()
Overrides:
generateStep in class LogicProgrammingBridge