Пример #1
0
void Print::printTreeRecursive(Identifier *identifier) {
	char line[MAX_SOURCE_LINE_LENGTH + 32];

	if (identifier->getLeftChild() != NULL) {
		printTreeRecursive(identifier->getLeftChild());
	}
	sprintf(line, " %-16s %-s", identifier->getTokenString().c_str(), " ");
	printLine(line);

	LineNumberList *list = identifier->getLineNumberList();
	while (list != NULL) {
		cout << list->getLineNumber() << "\t";
		list = list->getNextLineNumber();
	}
	cout << "\n";
	if (identifier->getRightChild() != NULL) {
		printTreeRecursive(identifier->getRightChild());
	}
}