Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 03f9e5a

Browse files
author
Michael Meskes
committed
Added some more C constructs to the parser.
1 parent 157ff4e commit 03f9e5a

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

src/interfaces/ecpg/ChangeLog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,5 +982,8 @@ Sun Oct 22 15:35:53 CEST 2000
982982

983983
- Fixed typos in descriptor.c.
984984

985+
Wed Oct 25 08:53:07 CEST 2000
986+
987+
- Added some more C constructs to the parser.
985988
- Set ecpg version to 2.8.0.
986989
- Set library version to 3.2.0.

src/interfaces/ecpg/preproc/pgc.l

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*
1313
*
1414
* IDENTIFICATION
15-
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.65 2000/10/17 15:38:25 meskes Exp $
15+
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.66 2000/10/25 07:00:33 meskes Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -681,6 +681,17 @@ cppline {space}*#(.*\\{line_end})*.*
681681
<C>"<<" { return(S_LSHIFT); }
682682
<C>"||" { return(S_OR); }
683683
<C>"&&" { return(S_AND); }
684+
<C>"++" { return(S_INC); }
685+
<C>"--" { return(S_DEC); }
686+
<C>"==" { return(S_EQUAL); }
687+
<C>"!=" { return(S_NEQUAL); }
688+
<C>"+=" { return(S_ADD); }
689+
<C>"-=" { return(S_SUB); }
690+
<C>"*=" { return(S_MUL); }
691+
<C>"/=" { return(S_DIV); }
692+
<C>"%=" { return(S_MOD); }
693+
<C>"->*" { return(S_MEMPOINT); }
694+
<C>".*" { return(S_DOTPOINT); }
684695
<C>{other} { return S_ANYTHING; }
685696

686697
<C>{exec_sql}{define}{space_or_nl}* { BEGIN(def_ident); }

src/interfaces/ecpg/preproc/preproc.y

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,10 @@ make_name(void)
174174
%token SQL_VALUE SQL_VAR SQL_WHENEVER
175175

176176
/* C token */
177-
%token S_AND S_ANYTHING S_AUTO S_CONST S_EXTERN S_LSHIFT
178-
%token S_MEMBER S_OR S_REGISTER S_RSHIFT S_STATIC S_VOLATILE
177+
%token S_ADD S_AND S_ANYTHING S_AUTO S_CONST S_DEC S_DIV S_DOTPOINT
178+
%token S_EQUAL S_EXTERN S_INC S_LSHIFT
179+
%token S_MEMPOINT S_MEMBER S_MOD S_MUL S_NEQUAL S_OR
180+
%token S_REGISTER S_RSHIFT S_STATIC S_SUB S_VOLATILE
179181

180182
/* I need this and don't know where it is defined inside the backend */
181183
%token TYPECAST
@@ -5298,17 +5300,28 @@ c_anything: IDENT { $$ = $1; }
52985300
| '-' { $$ = make_str("-"); }
52995301
| '/' { $$ = make_str("/"); }
53005302
| '%' { $$ = make_str("%"); }
5303+
| NULL_P { $$ = make_str("NULL"); }
5304+
| S_ADD { $$ = make_str("+="); }
53015305
| S_AND { $$ = make_str("&&"); }
53025306
| S_ANYTHING { $$ = make_name(); }
53035307
| S_AUTO { $$ = make_str("auto"); }
53045308
| S_CONST { $$ = make_str("const"); }
5309+
| S_DEC { $$ = make_str("--"); }
5310+
| S_DIV { $$ = make_str("/="); }
5311+
| S_DOTPOINT { $$ = make_str(".*"); }
5312+
| S_EQUAL { $$ = make_str("=="); }
53055313
| S_EXTERN { $$ = make_str("extern"); }
5314+
| S_INC { $$ = make_str("++"); }
53065315
| S_LSHIFT { $$ = make_str("<<"); }
53075316
| S_MEMBER { $$ = make_str("->"); }
5317+
| S_MEMPOINT { $$ = make_str("->*"); }
5318+
| S_MUL { $$ = make_str("*="); }
5319+
| S_NEQUAL { $$ = make_str("!="); }
53085320
| S_OR { $$ = make_str("||"); }
53095321
| S_REGISTER { $$ = make_str("register"); }
53105322
| S_RSHIFT { $$ = make_str(">>"); }
53115323
| S_STATIC { $$ = make_str("static"); }
5324+
| S_SUB { $$ = make_str("-="); }
53125325
| SQL_BOOL { $$ = make_str("bool"); }
53135326
| SQL_ENUM { $$ = make_str("enum"); }
53145327
| SQL_INT { $$ = make_str("int"); }

0 commit comments

Comments
 (0)