public void next(byte nextState) { currentState = nextState; { if (MeanCS.debug) { MeanCS.verbosen("Next state: ").print(stateNames[(int)currentState]).print("\n"); } }; }
public void printError() { MeanCS.printn("ERROR: parser state [").print(stateNames[(int)currentState]).print("]").print("\n"); MeanCS.printn("Line ").print(lineNumber).print(": \""); // print nearby code int start = index - 1; while (start > 0 && index - start < BUFFER_SIZE && (char)buffer[start % BUFFER_SIZE] != '\n') { start--; } while (++start < index) { MeanCS.verbosen((char)(buffer[start % BUFFER_SIZE])); } MeanCS.print("\""); }
private static void addToken(int tokenType) { string data = automata.getString(lastStart, automata.getIndex() - lastStart); MeanCS.verbosen("NEW TOKEN: ").print(data).print("\n"); MNode token = new MNode(currentExpr, tokenType, data); if (currentToken == null) { currentExpr.child = token; } else { currentToken.next = token; } currentExpr.numChildren++; currentToken = token; lastStart = automata.getIndex(); }
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); } }