@@ -387,6 +387,7 @@ prog: statements;
387387
388388statements :/* EMPTY*/
389389| statements statement
390+ ;
390391
391392statement :ecpgstart opt_at stmt ' ;' { connection =NULL ; }
392393| ecpgstart stmt ' ;'
@@ -1150,9 +1151,11 @@ key_actions: key_delete{ $$ = $1; }
11501151
11511152key_delete :ON DELETE key_reference
11521153{$$ = cat2_str(make_str(" on delete" ),$3 ); }
1154+ ;
11531155
11541156key_update :ON UPDATE key_reference
11551157{$$ = cat2_str(make_str(" on update" ),$3 ); }
1158+ ;
11561159
11571160key_reference :NO ACTION {$$ = make_str(" no action" ); }
11581161| RESTRICT {$$ = make_str(" restrict" ); }
@@ -1751,6 +1754,7 @@ func_as: StringConst
17511754{$$ =$1 ; }
17521755| StringConst ' ,' StringConst
17531756{$$ = cat_str(3 ,$1 , make_str(" ," ),$3 ); }
1757+ ;
17541758
17551759func_return :func_type
17561760{
@@ -3246,6 +3250,7 @@ attrs: attr_name
32463250
32473251opt_empty_parentheses :' (' ' )' {$$ = make_str(" ()" ); }
32483252| /* EMPTY*/ {$$ = EMPTY; }
3253+ ;
32493254
32503255
32513256/* ****************************************************************************
@@ -3412,6 +3417,7 @@ ECPGConnect: SQL_CONNECT TO connection_target opt_connection_name opt_user
34123417/* also allow ORACLE syntax*/
34133418| SQL_CONNECT ora_user
34143419{$$ = cat_str(3 , make_str(" NULL," ),$2 , make_str(" ,NULL" )); }
3420+ ;
34153421
34163422connection_target :database_name opt_server opt_port
34173423{
@@ -3470,6 +3476,7 @@ connection_target: database_name opt_server opt_port
34703476else
34713477$$ = make3_str(make_str(" \" " ),$1 , make_str(" \" " ));
34723478}
3479+ ;
34733480
34743481db_prefix :ident cvariable
34753482{
@@ -3487,6 +3494,7 @@ db_prefix: ident cvariable
34873494
34883495$$ = make3_str($1 , make_str(" :" ),$2 );
34893496}
3497+ ;
34903498
34913499server :Op server_name
34923500{
@@ -3498,22 +3506,28 @@ server: Op server_name
34983506
34993507$$ = make2_str($1 ,$2 );
35003508}
3509+ ;
35013510
35023511opt_server :server {$$ =$1 ; }
35033512| /* EMPTY*/ {$$ = EMPTY; }
3513+ ;
35043514
35053515server_name :ColId {$$ =$1 ; }
35063516| ColId ' .' server_name {$$ = make3_str($1 , make_str(" ." ),$3 ); }
35073517| IP {$$ = make_name(); }
3518+ ;
35083519
35093520opt_port :' :' PosIntConst {$$ = make2_str(make_str(" :" ),$2 ); }
35103521| /* EMPTY*/ {$$ = EMPTY; }
3522+ ;
35113523
35123524opt_connection_name :AS connection_target {$$ =$2 ; }
35133525| /* EMPTY*/ {$$ = make_str(" NULL" ); }
3526+ ;
35143527
35153528opt_user :USER ora_user {$$ =$2 ; }
3516- | /* EMPTY*/ {$$ = make_str(" NULL,NULL" ); }
3529+ | /* EMPTY*/ {$$ = make_str(" NULL,NULL" ); }
3530+ ;
35173531
35183532ora_user :user_name
35193533{$$ = cat2_str($1 , make_str(" , NULL" )); }
@@ -3993,6 +4007,7 @@ ECPGDeclare: DECLARE STATEMENT ident
39934007 * the exec sql disconnect statement: disconnect from the given database
39944008*/
39954009ECPGDisconnect :SQL_DISCONNECT dis_name {$$ =$2 ; }
4010+ ;
39964011
39974012dis_name :connection_object {$$ =$1 ; }
39984013| CURRENT {$$ = make_str(" \" CURRENT\" " ); }
@@ -4081,6 +4096,7 @@ opt_ecpg_into: /*EMPTY*/{ $$ = EMPTY; }
40814096;
40824097
40834098variable :civarind | civar
4099+ ;
40844100variablelist :variable | variable ' ,' variablelist ;
40854101
40864102/*
@@ -4906,6 +4922,7 @@ civar: cvariable
49064922;
49074923
49084924cvariable :CVARIABLE {$$ =$1 ; }
4925+ ;
49094926
49104927indicator :CVARIABLE { check_indicator((find_variable($1 ))->type);$$ =$1 ; }
49114928| SQL_INDICATOR cvariable { check_indicator((find_variable($2 ))->type);$$ =$2 ; }