private SyntaxNode readNode() { if (currentCharacterStream.isNextCharDigit()) { return(readNumber()); } else if (currentCharacterStream.isNextCharEuler()) { return(readEuler()); } else if (currentCharacterStream.isNextCharVariable()) { return(readVariable()); } else { throw new UnknownSymbolException("Unrecognized Symbol " + currentCharacterStream.readAsString()); } }