This directory does more than tokenize and parse SQL queries. It also creates Query structures for the various complex queries that is passed to the optimizer and then executor. parser.c things start here scan.l break query into tokens scansup.c handle escapes in input keywords.c turn keywords into specific tokens gram.y parse the tokens and fill query-type-specific structures analyze.c one function for every complex query type like SELECT, INSERT... parse_clause.c handle clauses like WHERE, ORDER BY, GROUP BY, ... parse_expr.c handle expressions like col, col + 3, x = 3 or x = 4 parse_oper.c handle operations in expressions parse_agg.c handle aggregates, like SUM(col1), AVG(col2), ... parse_func.c handle functions like date_part(col3), trim(col4), ... parse_node.c create nodes for various structures parse_target.c handle the result list of the query parse_relation.c support routines for tables and column handling parse_type.c support routines for type handling