Esempio n. 1
0
 /** Returns true if there is a matched path between node1 and node2. */
 public boolean checkReaches(DyckNode node1, DyckNode node2) {
   return cflEngine.checkReaches(node1.nodeID, node2.nodeID);
 }
Esempio n. 2
0
 /** Make an edge (_{index} between two nodes. */
 public void makeOpenEdge(DyckNode node1, DyckNode node2, int index) {
   cflEngine.makeOpenEdge(node1.nodeID, node2.nodeID, index);
 }
Esempio n. 3
0
 public void makeContraCloseEdge(DyckNode node1, DyckNode node2, int index) {
   cflEngine.makeContraCloseEdge(node1.nodeID, node2.nodeID, index);
 }
Esempio n. 4
0
 /** Make a subtype edge between two nodes. */
 public void makeSubtypeEdge(DyckNode node1, DyckNode node2) {
   cflEngine.makeSubtypeEdge(node1.nodeID, node2.nodeID);
 }
Esempio n. 5
0
 /** Marks a node global. */
 public void markNodeGlobal(DyckNode node) {
   cflEngine.markNodeGlobal(node.nodeID);
 }
Esempio n. 6
0
 /**
  * Creates an untagged node with the given name.
  *
  * <p>Untagged nodes aren't tracked; therefore one cannot ask what nodes an untagged node reaches.
  * Untagged nodes are more efficient as a result.
  */
 public DyckNode makeUntaggedNode(String name) {
   long id = cflEngine.makeUntaggedNode(name);
   return new DyckNode(name, id);
 }
Esempio n. 7
0
 /** Toggles constraint printing. */
 public void printDyckConstraints(boolean value) {
   cflEngine.printDyckConstraints(value);
 }
Esempio n. 8
0
 private DyckCFL() {
   cflEngine = UnsafeDyckCFL.v();
 }