Improve perl style in ecpg's parser-construction scripts.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Jul 2022 23:43:16 +0000 (19:43 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Jul 2022 23:43:16 +0000 (19:43 -0400)
commit0778eb79b1e2957743bbd577fc3d862a3dc007cf
treef0f559dab914ac1acfff14caa062bba5f6981ecd
parentd268d0f7a16e9e3c6de660b73543d875b8187def
Improve perl style in ecpg's parser-construction scripts.

parse.pl and check_rules.pl used "no warnings 'uninitialized'",
which doesn't seem like it measures up to current project standards.
Removing that shows that it was hiding various places that accessed
off the end of an array, which are easily protected by minor logic
adjustments.  There's no change in the script results.

While here, improve the Makefile rule that invokes these scripts.
It neglected to depend on check_rules.pl, so that editing that file
didn't result in re-running the check; and it ran check_rules.pl
after building preproc.y, so that if check_rules.pl did fail the
next "make" attempt would just bypass it.  check_rules.pl failures
are sufficiently un-heard-of that I don't feel a need to back-patch
this.

Discussion: https://postgr.es/m/838180.1658181982@sss.pgh.pa.us
src/interfaces/ecpg/preproc/Makefile
src/interfaces/ecpg/preproc/check_rules.pl
src/interfaces/ecpg/preproc/parse.pl