pgsql: Align ECPG lexer more closely with the core and psql lexers.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Align ECPG lexer more closely with the core and psql lexers.
Date: 2018-11-13 18:04:23
Message-ID: E1gMd31-0006dg-Nn@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Align ECPG lexer more closely with the core and psql lexers.

Make a bunch of basically-cosmetic changes to reduce the diffs between
the flex rules in scan.l, psqlscan.l, and pgc.l. Reorder some code,
adjust a lot of whitespace, sync some comments, make use of flex start
condition scopes to do that.

There are a few non-cosmetic changes in the ECPG lexer:

* Bring over the decimalfail rule (and support function
process_integer_literal) so that ECPG will lex "1..10" into
the same tokens as the backend would. I'm not sure this makes any
visible difference to users, but I'm not sure it doesn't, either.

* <xdc><<EOF>> gets its own rule so as to produce a more on-point
error message.

* Remove duplicate <SQL>{xdstart} rule.

John Naylor, with a few additional changes by me

Discussion: https://postgr.es/m/CAJVSVGWGqY9YBs2EwtRUkbNv=hXkN8yRPOoD1wxE6COgvvrz5g@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ec937d0805b205e5b33ed4f3cb54f40230a826e3

Modified Files
--------------
src/backend/parser/scan.l | 23 +-
src/fe_utils/psqlscan.l | 22 +-
src/interfaces/ecpg/preproc/pgc.l | 991 ++++++++++++++++++++++----------------
3 files changed, 594 insertions(+), 442 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-11-13 19:54:48 pgsql: Fix realfailN lexer rules to not make assumptions about input fo
Previous Message Tom Lane 2018-11-13 14:39:45 Re: pgsql: Fix handling of HBA ldapserver with multiple hostnames.