private static MNode lexInput(MInputStream input) { ByteAutomata ba = new ByteAutomata(); automata = ba; defineTransitions(ba); ba.next((byte)1); // set first state root = new MNode(null, 0, "<ROOT>"); currentExpr = root; currentBlock = null; currentToken = null; lastStart = 0; ba.run(input); ba.step((byte)' '); // ended cleanly: last white space if (currentBlock != null) { MeanCS.print("closing parenthesis missing at the end"); ba.ok = false; } if (!ba.ok) { ba.printError(); root = null; return(null); } MeanCS.verbose("\nFINISHED!"); return(root); }
public void printTree(bool deep) { printTree(this, 0, deep); if (!deep) { MeanCS.verbose(""); } }
public void print() { for (int i = 0; i <= stateCounter; i++) { MeanCS.verbosen("state: ").print(i).print("\n"); for (int n = 0; n < 256; n++) { byte foo = tr[(i * 256) + n]; if (foo == 0xff) { MeanCS.verbosen("."); } else { MeanCS.verbosen(foo); } } MeanCS.verbose(""); } }
public void printTree(MNode _node, int depth, bool deep) { System.Diagnostics.Debug.Assert(_node != null, "<printTree: empty node>"); MNode node = _node; for (int i = 0; i < depth; i++) { MeanCS.verbosen(" "); } MeanCS.verbosen("[").print(node.data).print("]"); // if (node.numChildren > 0) { VR(" + ")X(node.numChildren); } if (deep) { MeanCS.verbose(""); } if (node.child != null && deep) { printTree(node.child, depth + 1, deep); } if (node.next != null) { printTree(node.next, depth, deep); } }