protected boolean isIdentifierChar(char c) {
		//TODO need improve from http://www.cs.indiana.edu/scheme-repository/R4RS/r4rs_9.html#SEC67
		return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
				|| (c >= '0' && c <= '9') || (c == '_') || (c == '-') || (c == '?') || (c == '!');
	}