Formalize new HQL parse phase

Description

An undocumented prerequisite to this is the creation of a basic set of SQL tokens and a basic SQL lexer.

Some specific improvements I want to keep in mind:
1) make distinction between different types of paths as we are parsing them. This could mean either by referencing a SessionFactory, etc (for entity-name resolution e.g.) or by asserting what we are expecting according to the current syntax elements. I chose the latter as it kept this phase cleaner w/o needing to inject SessionFactory etc.
2) Better alignment with SQL specs in terms of AST. This is a general goal for all the phases.
3) verboseness over succinctness where applicable for maintainability.

Environment

None

Status

Assignee

Steve Ebersole

Reporter

Steve Ebersole

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Affects versions

antlr-rework

Priority

Major