Пример #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);
 }
Пример #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);
 }
Пример #3
0
 public void makeContraCloseEdge(DyckNode node1, DyckNode node2, int index) {
   cflEngine.makeContraCloseEdge(node1.nodeID, node2.nodeID, index);
 }
Пример #4
0
 /** Make a subtype edge between two nodes. */
 public void makeSubtypeEdge(DyckNode node1, DyckNode node2) {
   cflEngine.makeSubtypeEdge(node1.nodeID, node2.nodeID);
 }
Пример #5
0
 /** Marks a node global. */
 public void markNodeGlobal(DyckNode node) {
   cflEngine.markNodeGlobal(node.nodeID);
 }
Пример #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);
 }
Пример #7
0
 /** Toggles constraint printing. */
 public void printDyckConstraints(boolean value) {
   cflEngine.printDyckConstraints(value);
 }
Пример #8
0
 private DyckCFL() {
   cflEngine = UnsafeDyckCFL.v();
 }