From 2fbb286647fac2014abdf2fbf6c7b4134be91602 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 Mar 2015 11:48:34 -0400 Subject: Clean up the mess from => patch. Commit 865f14a2d31af23a05bbf2df04c274629c5d5c4d was quite a few bricks shy of a load: psql, ecpg, and plpgsql were all left out-of-step with the core lexer. Of these only the last was likely to be a fatal problem; but still, a minimal amount of grepping, or even just reading the comments adjacent to the places that were changed, would have found the other places that needed to be changed. --- src/interfaces/ecpg/preproc/parse.pl | 3 ++- src/interfaces/ecpg/preproc/pgc.l | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/interfaces') diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl index 36dce803863..7ae7acc6130 100644 --- a/src/interfaces/ecpg/preproc/parse.pl +++ b/src/interfaces/ecpg/preproc/parse.pl @@ -46,7 +46,8 @@ my %replace_string = ( 'WITH_LA' => 'with', 'TYPECAST' => '::', 'DOT_DOT' => '..', - 'COLON_EQUALS' => ':=',); + 'COLON_EQUALS' => ':=', + 'EQUALS_GREATER' => '=>',); # specific replace_types for specific non-terminals - never include the ':' # ECPG-only replace_types are defined in ecpg-replace_types diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index 530712efac6..a8cc3d877c0 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -236,6 +236,7 @@ array ({ident_cont}|{whitespace}|[\[\]\+\-\*\%\/\(\)\>\.])* typecast "::" dot_dot \.\. colon_equals ":=" +equals_greater "=>" /* * "self" is the set of chars that should be returned as single-character @@ -620,6 +621,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})(.*\\{space})*. {typecast} { return TYPECAST; } {dot_dot} { return DOT_DOT; } {colon_equals} { return COLON_EQUALS; } +{equals_greater} { return EQUALS_GREATER; } {informix_special} { /* are we simulating Informix? */ if (INFORMIX_MODE) -- cgit v1.2.3