my $grammar = q { select : /SELECT/i select_list /FROM/i table_source select_list : column(s /,/) column : identifier /=/ col_name | col_name /AS/i alias | col_name alias(?) | string | number table_source : table alias(?) with_hint(?) table_join(s?) | table alias(?) table_join(s) | table alias(?) /,/ table_list | table alias(?) yada...yada... #### select colA, colB, colC from customer x