Derby SQL Parsing
The input to the parser is a Java string containing the text of the SQL statement. Since the statement is a Java String its character set is always Unicode.
The parser is generated by javacc and its source is in the file /trunk/java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj
Parsing creates a tree of query nodes, each represented by an instance of a sub-class of org.apache.derby.impl.sql.compile.QueryTreeNode class. Each node represents a database operation.
Currently the nodes are created indirectly through a NodeFactory, however DERBY-673 describes removing the factory.
Onto the bind phase: LanguageBind