} else {
expected("Identifier");
}
// assert this compiler is associated with an resident node
if (getNode() == null) {
throw new TableFunctionMalformedException("Node == null");
}
// check nodeName consistency: nodeName must be a parent
boolean found = false;
for (INode node : getNode().getParentNodes()) {
try {
if (node instanceof InputNode) {
InputNode inputNode = (InputNode) node;
if (inputNode.getResidentNodePointer().getResidentNode().getName().equals(nodeName)) {
found = true;
break;
}
}
if (node.getName().equals(nodeName)) {
found = true;
break;
}
} catch (Exception e) {
try {
Debug.println(getClass(), e.getMessage(), e);
} catch (Throwable t) {
e.printStackTrace();
t.printStackTrace();
}
}
}
if (!found) {
throw new TableFunctionMalformedException(nodeName + " is not a parent of " + getNode());
}
skipWhite();
return nodeName;
}