Updated with EclipseLink 2.4.0 M18
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/property_files/jpa_jpql_validation.properties b/jpa/plugins/org.eclipse.jpt.jpa.core/property_files/jpa_jpql_validation.properties
index 58cf483..fc6a510 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/property_files/jpa_jpql_validation.properties
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/property_files/jpa_jpql_validation.properties
@@ -53,6 +53,9 @@
 ADDITION_EXPRESSION_LEFT_EXPRESSION_WRONG_TYPE = The left side of the addition is not a valid arithmetic expression.
 ADDITION_EXPRESSION_RIGHT_EXPRESSION_WRONG_TYPE = The right side of the addition is not a valid arithmetic expression.
 
+# AggregateFunction - Grammar
+AGGREGATE_FUNCTION_WRONG_CLAUSE = The {0} function is only allowed in the SELECT, GROUP BY, ORDER BY and HAVING clauses.
+
 # AllOrAnyExpression - Grammar
 ALL_OR_ANY_EXPRESSION_INVALID_EXPRESSION = The encapsulated expression is not a valid expression.
 ALL_OR_ANY_EXPRESSION_MISSING_EXPRESSION = The subquery must be provided for an {0} expression.
@@ -79,6 +82,9 @@
 # AvgFunction - Semantic
 AVG_FUNCTION_INVALID_NUMERIC_EXPRESSION = The encapsulated expression is not a valid numeric expression.
 
+# BadExpression
+BAD_EXPRESSION_INVALID_EXPRESSION = The expression is invalid, which means it does not follow the JPQL grammar.
+
 # BetweenExpression - Grammar
 BETWEEN_EXPRESSION_MISSING_EXPRESSION = The result expression is missing from the BETWEEN expression.
 BETWEEN_EXPRESSION_MISSING_LOWER_BOUND_EXPRESSION = The lower bound expression is missing from the BETWEEN expression.
@@ -132,6 +138,9 @@
 COMPARISON_EXPRESSION_MISSING_LEFT_EXPRESSION = A comparison expression must define the left side of the comparison.
 COMPARISON_EXPRESSION_MISSING_RIGHT_EXPRESSION = A comparison expression must define the right side of the comparison.
 # ComparisonExpression - Semantic
+COMPARISON_EXPRESSION_ASSOCIATION_FIELD = The relationship mapping ''{0}'' cannot be used in conjunction with the {1} operator.
+COMPARISON_EXPRESSION_BASIC_FIELD = The basic mapping ''{0}'' cannot be used in conjunction with the {1} operator.
+COMPARISON_EXPRESSION_IDENTIFICATION_VARIABLE = The identification variable ''{0}'' cannot be used in conjunction with the {1} operator.
 COMPARISON_EXPRESSION_WRONG_COMPARISON_TYPE = The left and right expressions' type must be of the same type.
 
 # ConcatExpression - Grammar
@@ -219,8 +228,9 @@
 HAVING_CLAUSE_MISSING_CONDITIONAL_EXPRESSION = The conditional expression is missing from the HAVING clause.
 
 # HermesParser - Validation
-HERMES_PARSER_GRAMMAR_VALIDATOR_ERROR_MESSAGE = Syntax error parsing the query [{0}]. {1}
-HERMES_PARSER_SEMANTIC_VALIDATOR_ERROR_MESSAGE = Problem compiling the query [{0}]. {1}
+HERMES_PARSER_GRAMMAR_VALIDATOR_ERROR_MESSAGE = Syntax error parsing [{0}]. {1}
+HERMES_PARSER_SEMANTIC_VALIDATOR_ERROR_MESSAGE = Problem compiling [{0}]. {1}
+HERMES_PARSER_UNEXPECTED_EXCEPTION_ERROR_MESSAGE = Internal problem encountered while compiling [{0}].
 
 # IdentificationVariable - Grammar
 IDENTIFICATION_VARIABLE_INVALID_DUPLICATE = The identification variable ''{0}'' cannot be declared more than once.
@@ -248,7 +258,7 @@
 # InExpression - Grammar
 IN_EXPRESSION_IN_ITEM_ENDS_WITH_COMMA = The items cannot end with a comma.
 IN_EXPRESSION_IN_ITEM_IS_MISSING_COMMA = The IN expression has ''{0}'' and ''{1}'' that are not separated by a comma.
-IN_EXPRESSION_MALFORMED_EXPRESSION = The IN expression does not have a valid state field path expression or TYPE expression.
+IN_EXPRESSION_MALFORMED_EXPRESSION = The IN expression does not have a valid expression.
 IN_EXPRESSION_MISSING_IN_ITEMS = A least one item must be defined for the IN expression.
 IN_EXPRESSION_MISSING_LEFT_PARENTHESIS = The left parenthesis is missing from the IN expression.
 IN_EXPRESSION_MISSING_RIGHT_PARENTHESIS = The right parenthesis is missing from the IN expression.
@@ -378,7 +388,6 @@
 NUMERIC_LITERAL_INVALID = ''{0}'' is not a valid numeric value.
 
 # ObjectByItem - Grammar
-ORDER_BY_ITEM_INVALID_PATH = ''{0}'' is not a valid state field path expression.
 ORDER_BY_ITEM_MISSING_STATE_FIELD_PATH_EXPRESSION = A state field path expression must be specified.
 
 # ObjectExpression - Grammar
@@ -427,6 +436,7 @@
 
 # StateFieldPathExpression - Semantic
 STATE_FIELD_PATH_EXPRESSION_ASSOCIATION_FIELD = The association field ''{0}'' cannot be used as a state field path.
+STATE_FIELD_PATH_EXPRESSION_BASIC_FIELD = The basic field ''{0}'' cannot be used as a state field path.
 STATE_FIELD_PATH_EXPRESSION_COLLECTION_TYPE = The state field path ''{0}'' cannot be resolved to a collection type.
 STATE_FIELD_PATH_EXPRESSION_INVALID_ENUM_CONSTANT = ''{0}'' cannot be resolved to an Enum constant.
 STATE_FIELD_PATH_EXPRESSION_NO_MAPPING = No mapping is associated with the state field path ''{0}''.