aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2003-06-08 15:56:35 +0200
committerAndreas Jaeger <aj@gcc.gnu.org>2003-06-08 15:56:35 +0200
commitb4fac6a0c4bb7bf4e0d31999ecdf4e43804f6a81 (patch)
tree48a8ec9baf376efc98ef78561e02832ab59dd531 /gcc
parent56f0c0d82938d7936db265849b75065787b0c102 (diff)
downloadgcc-b4fac6a0c4bb7bf4e0d31999ecdf4e43804f6a81.zip
gcc-b4fac6a0c4bb7bf4e0d31999ecdf4e43804f6a81.tar.gz
gcc-b4fac6a0c4bb7bf4e0d31999ecdf4e43804f6a81.tar.bz2
std.c: Remove #if 0'ed functions.
* std.c: Remove #if 0'ed functions. * sta.c: Remove usage of HARD_F90, FFESTR_F90 and FFESTR_VXT. * stb.c: Likewise. * stb.h: Likewise. * stc.c: Likewise. * stc.h: Likewise. * std.c: Likewise. * std.h: Likewise. * ste.c: Likewise. * ste.h: Likewise. * str.h (FFESTR_F90): Remove macro. (FFESTR_VXT): Remove macro. From-SVN: r67625
Diffstat (limited to 'gcc')
-rw-r--r--gcc/f/ChangeLog15
-rw-r--r--gcc/f/sta.c284
-rw-r--r--gcc/f/stb.c7413
-rw-r--r--gcc/f/stb.h78
-rw-r--r--gcc/f/stc.c3438
-rw-r--r--gcc/f/stc.h128
-rw-r--r--gcc/f/std.c1636
-rw-r--r--gcc/f/std.h106
-rw-r--r--gcc/f/ste.c144
-rw-r--r--gcc/f/ste.h22
-rw-r--r--gcc/f/str.h7
11 files changed, 31 insertions, 13240 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index ee65c0d..764fcad 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,5 +1,20 @@
2003-06-08 Andreas Jaeger <aj@suse.de>
+ * std.c: Remove #if 0'ed functions.
+
+ * sta.c: Remove usage of HARD_F90, FFESTR_F90 and FFESTR_VXT.
+ * stb.c: Likewise.
+ * stb.h: Likewise.
+ * stc.c: Likewise.
+ * stc.h: Likewise.
+ * std.c: Likewise.
+ * std.h: Likewise.
+ * ste.c: Likewise.
+ * ste.h: Likewise.
+
+ * str.h (FFESTR_F90): Remove macro.
+ (FFESTR_VXT): Remove macro.
+
* bld.c: Remove usage of FFETARGET_okCHARACTER2,
FFETARGET_okCHARACTER3, FFETARGET_okCHARACTER4,
FFETARGET_okCHARACTER5, FFETARGET_okCHARACTER6,
diff --git a/gcc/f/sta.c b/gcc/f/sta.c
index db3207f..765425a 100644
--- a/gcc/f/sta.c
+++ b/gcc/f/sta.c
@@ -592,29 +592,6 @@ ffesta_second_ (ffelexToken t)
switch (ffesta_first_kw)
{
-#if FFESTR_VXT
- case FFESTR_firstACCEPT:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V019);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstALLOCATABLE:
- ffestb_args.dimlist.len = FFESTR_firstlALLOCATABLE;
- ffestb_args.dimlist.badname = "ALLOCATABLE";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_dimlist);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstALLOCATE:
- ffestb_args.heap.len = FFESTR_firstlALLOCATE;
- ffestb_args.heap.badname = "ALLOCATE";
- ffestb_args.heap.ctx = FFEEXPR_contextALLOCATE;
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_heap);
- break;
-#endif
-
case FFESTR_firstASSIGN:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R838);
break;
@@ -666,12 +643,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_gentype);
break;
-#if FFESTR_F90
- case FFESTR_firstCONTAINS:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R1228);
- break;
-#endif
-
case FFESTR_firstCONTINUE:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R841);
break;
@@ -687,32 +658,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R528);
break;
-#if FFESTR_F90
- case FFESTR_firstDEALLOCATE:
- ffestb_args.heap.len = FFESTR_firstlDEALLOCATE;
- ffestb_args.heap.badname = "DEALLOCATE";
- ffestb_args.heap.ctx = FFEEXPR_contextDEALLOCATE;
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_heap);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstDECODE:
- ffestb_args.vxtcode.len = FFESTR_firstlDECODE;
- ffestb_args.vxtcode.badname = "DECODE";
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_vxtcode);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstDEFINEFILE:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V025);
- break;
-
- case FFESTR_firstDELETE:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V021);
- break;
-#endif
case FFESTR_firstDIMENSION:
ffestb_args.R524.len = FFESTR_firstlDIMENSION;
ffestb_args.R524.badname = "DIMENSION";
@@ -752,21 +697,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_elsexyz);
break;
-#if FFESTR_F90
- case FFESTR_firstELSEWHERE:
- ffestb_args.elsexyz.second = FFESTR_secondWHERE;
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_elsexyz);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstENCODE:
- ffestb_args.vxtcode.len = FFESTR_firstlENCODE;
- ffestb_args.vxtcode.badname = "ENCODE";
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_vxtcode);
- break;
-#endif
-
case FFESTR_firstEND:
if ((ffelex_token_type (ffesta_token_0_) == FFELEX_typeNAMES)
|| (ffelex_token_type (t) != FFELEX_typeNAME))
@@ -781,15 +711,9 @@ ffesta_second_ (ffelexToken t)
case FFESTR_secondFILE:
case FFESTR_secondFUNCTION:
case FFESTR_secondIF:
-#if FFESTR_F90
- case FFESTR_secondMODULE:
-#endif
case FFESTR_secondPROGRAM:
case FFESTR_secondSELECT:
case FFESTR_secondSUBROUTINE:
-#if FFESTR_F90
- case FFESTR_secondWHERE:
-#endif
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_end);
break;
@@ -836,30 +760,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_endxyz);
break;
-#if FFESTR_F90
- case FFESTR_firstENDINTERFACE:
- ffestb_args.endxyz.len = FFESTR_firstlENDINTERFACE;
- ffestb_args.endxyz.second = FFESTR_secondINTERFACE;
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstENDMAP:
- ffestb_args.endxyz.len = FFESTR_firstlENDMAP;
- ffestb_args.endxyz.second = FFESTR_secondMAP;
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstENDMODULE:
- ffestb_args.endxyz.len = FFESTR_firstlENDMODULE;
- ffestb_args.endxyz.second = FFESTR_secondMODULE;
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
case FFESTR_firstENDPROGRAM:
ffestb_args.endxyz.len = FFESTR_firstlENDPROGRAM;
ffestb_args.endxyz.second = FFESTR_secondPROGRAM;
@@ -872,44 +772,12 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_endxyz);
break;
-#if FFESTR_VXT
- case FFESTR_firstENDSTRUCTURE:
- ffestb_args.endxyz.len = FFESTR_firstlENDSTRUCTURE;
- ffestb_args.endxyz.second = FFESTR_secondSTRUCTURE;
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
case FFESTR_firstENDSUBROUTINE:
ffestb_args.endxyz.len = FFESTR_firstlENDSUBROUTINE;
ffestb_args.endxyz.second = FFESTR_secondSUBROUTINE;
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_endxyz);
break;
-#if FFESTR_F90
- case FFESTR_firstENDTYPE:
- ffestb_args.endxyz.len = FFESTR_firstlENDTYPE;
- ffestb_args.endxyz.second = FFESTR_secondTYPE;
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstENDUNION:
- ffestb_args.endxyz.len = FFESTR_firstlENDUNION;
- ffestb_args.endxyz.second = FFESTR_secondUNION;
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstENDWHERE:
- ffestb_args.endxyz.len = FFESTR_firstlENDWHERE;
- ffestb_args.endxyz.second = FFESTR_secondWHERE;
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_endxyz);
- break;
-#endif
-
case FFESTR_firstENTRY:
ffestb_args.dummy.len = FFESTR_firstlENTRY;
ffestb_args.dummy.badname = "ENTRY";
@@ -931,12 +799,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_varlist);
break;
-#if FFESTR_VXT
- case FFESTR_firstFIND:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V026);
- break;
-#endif
-
/* WARNING: don't put anything that might cause an item to precede
FORMAT in the list of possible statements (it's added below) without
making sure FORMAT still is first. It has to run with
@@ -1008,20 +870,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_gentype);
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffestb_args.varlist.len = FFESTR_firstlINTENT;
- ffestb_args.varlist.badname = "INTENT";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_varlist);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstINTERFACE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R1202);
- break;
-#endif
-
case FFESTR_firstINTRINSIC:
ffestb_args.varlist.len = FFESTR_firstlINTRINSIC;
ffestb_args.varlist.badname = "INTRINSIC";
@@ -1034,40 +882,14 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_gentype);
break;
-#if FFESTR_VXT
- case FFESTR_firstMAP:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V012);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstMODULE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_module);
- break;
-#endif
-
case FFESTR_firstNAMELIST:
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R542);
break;
-#if FFESTR_F90
- case FFESTR_firstNULLIFY:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R624);
- break;
-#endif
-
case FFESTR_firstOPEN:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R904);
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestb_args.varlist.len = FFESTR_firstlOPTIONAL;
- ffestb_args.varlist.badname = "OPTIONAL";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_varlist);
- break;
-#endif
-
case FFESTR_firstPARAMETER:
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R537);
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V027);
@@ -1078,38 +900,14 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_halt);
break;
-#if FFESTR_F90
- case FFESTR_firstPOINTER:
- ffestb_args.dimlist.len = FFESTR_firstlPOINTER;
- ffestb_args.dimlist.badname = "POINTER";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_dimlist);
- break;
-#endif
-
case FFESTR_firstPRINT:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R911);
break;
-#if HARD_F90
- case FFESTR_firstPRIVATE:
- ffestb_args.varlist.len = FFESTR_firstlPRIVATE;
- ffestb_args.varlist.badname = "ACCESS";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_varlist);
- break;
-#endif
-
case FFESTR_firstPROGRAM:
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R1102);
break;
-#if HARD_F90
- case FFESTR_firstPUBLIC:
- ffestb_args.varlist.len = FFESTR_firstlPUBLIC;
- ffestb_args.varlist.badname = "ACCESS";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_varlist);
- break;
-#endif
-
case FFESTR_firstREAD:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R909);
break;
@@ -1120,18 +918,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_gentype);
break;
-#if FFESTR_VXT
- case FFESTR_firstRECORD:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V016);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstRECURSIVE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_recursive);
- break;
-#endif
-
case FFESTR_firstRETURN:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R1227);
break;
@@ -1142,12 +928,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_beru);
break;
-#if FFESTR_VXT
- case FFESTR_firstREWRITE:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V018);
- break;
-#endif
-
case FFESTR_firstSAVE:
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R522);
break;
@@ -1160,23 +940,11 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_R809);
break;
-#if HARD_F90
- case FFESTR_firstSEQUENCE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R423B);
- break;
-#endif
-
case FFESTR_firstSTOP:
ffestb_args.halt.len = FFESTR_firstlSTOP;
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_halt);
break;
-#if FFESTR_VXT
- case FFESTR_firstSTRUCTURE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V003);
- break;
-#endif
-
case FFESTR_firstSUBROUTINE:
ffestb_args.dummy.len = FFESTR_firstlSUBROUTINE;
ffestb_args.dummy.badname = "SUBROUTINE";
@@ -1184,50 +952,10 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_dummy);
break;
-#if FFESTR_F90
- case FFESTR_firstTARGET:
- ffestb_args.dimlist.len = FFESTR_firstlTARGET;
- ffestb_args.dimlist.badname = "TARGET";
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_dimlist);
- break;
-#endif
-
case FFESTR_firstTYPE:
ffesta_add_possible_exec_ ((ffelexHandler) ffestb_V020);
break;
-#if FFESTR_F90
- case FFESTR_firstTYPE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_type);
- break;
-#endif
-
-#if HARD_F90
- case FFESTR_firstTYPE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_decl_typetype);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstUNLOCK:
- ffestb_args.beru.len = FFESTR_firstlUNLOCK;
- ffestb_args.beru.badname = "UNLOCK";
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_beru);
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_firstUNION:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V009);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstUSE:
- ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_R1107);
- break;
-#endif
-
case FFESTR_firstVIRTUAL:
ffestb_args.R524.len = FFESTR_firstlVIRTUAL;
ffestb_args.R524.badname = "VIRTUAL";
@@ -1238,12 +966,6 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_nonexec_ ((ffelexHandler) ffestb_V014);
break;
-#if HARD_F90
- case FFESTR_firstWHERE:
- ffesta_add_possible_exec_ ((ffelexHandler) ffestb_where);
- break;
-#endif
-
case FFESTR_firstWORD:
ffestb_args.decl.len = FFESTR_firstlWORD;
ffestb_args.decl.type = FFESTP_typeWORD;
@@ -1290,13 +1012,7 @@ ffesta_second_ (ffelexToken t)
ffesta_add_possible_unnamed_exec_ ((ffelexHandler) ffestb_let);
break;
-#if FFESTR_F90
- case FFELEX_typePERCENT:
-#endif
case FFELEX_typeEQUALS:
-#if FFESTR_F90
- case FFELEX_typePOINTS:
-#endif
ffesta_add_possible_unnamed_exec_ ((ffelexHandler) ffestb_let);
break;
diff --git a/gcc/f/stb.c b/gcc/f/stb.c
index 57d7ac3..2264a70 100644
--- a/gcc/f/stb.c
+++ b/gcc/f/stb.c
@@ -1,5 +1,6 @@
/* stb.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2002, 2003
+ Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -216,13 +217,6 @@ union ffestb_local_u_
ffestrOther kw;
}
varlist;
-#if FFESTR_F90
- struct
- {
- ffestrOther kw;
- }
- type;
-#endif
struct
{
ffelexHandler next;
@@ -241,13 +235,6 @@ union ffestb_local_u_
bool complained; /* If run-time expr seen in nonexec context. */
}
format;
-#if FFESTR_F90
- struct
- {
- bool started;
- }
- moduleprocedure;
-#endif
struct
{
ffebld expr;
@@ -258,47 +245,11 @@ union ffestb_local_u_
ffesttCaseList cases;
}
case_stmt;
-#if FFESTR_F90
- struct
- {
- ffesttExprList exprs;
- ffebld expr;
- }
- heap;
-#endif
-#if FFESTR_F90
- struct
- {
- ffesttExprList exprs;
- }
- R624;
-#endif
-#if FFESTR_F90
- struct
- {
- ffestpDefinedOperator operator;
- bool assignment; /* TRUE for INTERFACE ASSIGNMENT, FALSE for
- ...OPERATOR. */
- bool slash; /* TRUE if OPEN_ARRAY, FALSE if OPEN_PAREN. */
- }
- interface;
-#endif
struct
{
bool is_cblock;
}
V014;
-#if FFESTR_VXT
- struct
- {
- bool started;
- ffebld u;
- ffebld m;
- ffebld n;
- ffebld asv;
- }
- V025;
-#endif
struct
{
ffestpBeruIx ix;
@@ -380,13 +331,6 @@ union ffestb_local_u_
ffeexprContext context;
}
write;
-#if FFESTR_F90
- struct
- {
- bool started;
- }
- structure;
-#endif
struct
{
bool started;
@@ -481,10 +425,6 @@ static ffelexHandler ffestb_decl_typeparams_2_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_decl_typeparams_3_ (ffelexToken ft, ffebld expr,
ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_decl_typetype1_ (ffelexToken t);
-static ffelexHandler ffestb_decl_typetype2_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_subr_label_list_ (ffelexToken t);
static ffelexHandler ffestb_subr_label_list_1_ (ffelexToken t);
static ffelexHandler ffestb_do1_ (ffelexToken t);
@@ -529,26 +469,8 @@ static ffelexHandler ffestb_let1_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_let2_ (ffelexToken ft, ffebld expr,
ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_type1_ (ffelexToken t);
-static ffelexHandler ffestb_type2_ (ffelexToken t);
-static ffelexHandler ffestb_type3_ (ffelexToken t);
-static ffelexHandler ffestb_type4_ (ffelexToken t);
-#endif
-#if FFESTR_F90
-static ffelexHandler ffestb_varlist1_ (ffelexToken t);
-static ffelexHandler ffestb_varlist2_ (ffelexToken t);
-static ffelexHandler ffestb_varlist3_ (ffelexToken t);
-static ffelexHandler ffestb_varlist4_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_varlist5_ (ffelexToken t);
static ffelexHandler ffestb_varlist6_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_where1_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_where2_ (ffelexToken t);
-static ffelexHandler ffestb_where3_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_R5221_ (ffelexToken t);
static ffelexHandler ffestb_R5222_ (ffelexToken t);
static ffelexHandler ffestb_R5223_ (ffelexToken t);
@@ -599,20 +521,6 @@ static ffelexHandler ffestb_R12271_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_construct1_ (ffelexToken t);
static ffelexHandler ffestb_construct2_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_heap1_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_heap2_ (ffelexToken t);
-static ffelexHandler ffestb_heap3_ (ffelexToken t);
-static ffelexHandler ffestb_heap4_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_heap5_ (ffelexToken t);
-#endif
-#if FFESTR_F90
-static ffelexHandler ffestb_module1_ (ffelexToken t);
-static ffelexHandler ffestb_module2_ (ffelexToken t);
-static ffelexHandler ffestb_module3_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_R8091_ (ffelexToken t);
static ffelexHandler ffestb_R8092_ (ffelexToken ft, ffebld expr,
ffelexToken t);
@@ -645,48 +553,12 @@ static ffelexHandler ffestb_R100117_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_R100118_ (ffelexToken ft, ffebld expr,
ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_R11071_ (ffelexToken t);
-static ffelexHandler ffestb_R11072_ (ffelexToken t);
-static ffelexHandler ffestb_R11073_ (ffelexToken t);
-static ffelexHandler ffestb_R11074_ (ffelexToken t);
-static ffelexHandler ffestb_R11075_ (ffelexToken t);
-static ffelexHandler ffestb_R11076_ (ffelexToken t);
-static ffelexHandler ffestb_R11077_ (ffelexToken t);
-static ffelexHandler ffestb_R11078_ (ffelexToken t);
-static ffelexHandler ffestb_R11079_ (ffelexToken t);
-static ffelexHandler ffestb_R110710_ (ffelexToken t);
-static ffelexHandler ffestb_R110711_ (ffelexToken t);
-static ffelexHandler ffestb_R110712_ (ffelexToken t);
-#endif
-#if FFESTR_F90
-static ffelexHandler ffestb_R12021_ (ffelexToken t);
-static ffelexHandler ffestb_R12022_ (ffelexToken t);
-static ffelexHandler ffestb_R12023_ (ffelexToken t);
-static ffelexHandler ffestb_R12024_ (ffelexToken t);
-static ffelexHandler ffestb_R12025_ (ffelexToken t);
-static ffelexHandler ffestb_R12026_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_S3P41_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_V0141_ (ffelexToken t);
static ffelexHandler ffestb_V0142_ (ffelexToken t);
static ffelexHandler ffestb_V0143_ (ffelexToken t);
static ffelexHandler ffestb_V0144_ (ffelexToken t);
-#if FFESTR_VXT
-static ffelexHandler ffestb_V0251_ (ffelexToken t);
-static ffelexHandler ffestb_V0252_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0253_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0254_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0255_ (ffelexToken t);
-static ffelexHandler ffestb_V0256_ (ffelexToken t);
-static ffelexHandler ffestb_V0257_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0258_ (ffelexToken t);
-#endif
#if FFESTB_KILL_EASY_
static void ffestb_subr_kill_easy_ (ffestpInquireIx max);
#else
@@ -717,23 +589,6 @@ static ffelexHandler ffestb_beru7_ (ffelexToken ft, ffebld expr,
static ffelexHandler ffestb_beru8_ (ffelexToken t);
static ffelexHandler ffestb_beru9_ (ffelexToken t);
static ffelexHandler ffestb_beru10_ (ffelexToken t);
-#if FFESTR_VXT
-static ffelexHandler ffestb_vxtcode1_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_vxtcode2_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_vxtcode3_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_vxtcode4_ (ffelexToken t);
-static ffelexHandler ffestb_vxtcode5_ (ffelexToken t);
-static ffelexHandler ffestb_vxtcode6_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_vxtcode7_ (ffelexToken t);
-static ffelexHandler ffestb_vxtcode8_ (ffelexToken t);
-static ffelexHandler ffestb_vxtcode9_ (ffelexToken t);
-static ffelexHandler ffestb_vxtcode10_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-#endif
static ffelexHandler ffestb_R9041_ (ffelexToken t);
static ffelexHandler ffestb_R9042_ (ffelexToken t);
static ffelexHandler ffestb_R9043_ (ffelexToken ft, ffebld expr,
@@ -814,63 +669,10 @@ static ffelexHandler ffestb_R9239_ (ffelexToken t);
static ffelexHandler ffestb_R92310_ (ffelexToken t);
static ffelexHandler ffestb_R92311_ (ffelexToken ft, ffebld expr,
ffelexToken t);
-#if FFESTR_VXT
-static ffelexHandler ffestb_V0181_ (ffelexToken t);
-static ffelexHandler ffestb_V0182_ (ffelexToken t);
-static ffelexHandler ffestb_V0183_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0184_ (ffelexToken t);
-static ffelexHandler ffestb_V0185_ (ffelexToken t);
-static ffelexHandler ffestb_V0186_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0187_ (ffelexToken t);
-static ffelexHandler ffestb_V0188_ (ffelexToken t);
-static ffelexHandler ffestb_V0189_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V01810_ (ffelexToken t);
-static ffelexHandler ffestb_V01811_ (ffelexToken t);
-static ffelexHandler ffestb_V01812_ (ffelexToken t);
-static ffelexHandler ffestb_V01813_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0191_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0192_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-#endif
static ffelexHandler ffestb_V0201_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_V0202_ (ffelexToken ft, ffebld expr,
ffelexToken t);
-#if FFESTR_VXT
-static ffelexHandler ffestb_V0211_ (ffelexToken t);
-static ffelexHandler ffestb_V0212_ (ffelexToken t);
-static ffelexHandler ffestb_V0213_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0214_ (ffelexToken t);
-static ffelexHandler ffestb_V0215_ (ffelexToken t);
-static ffelexHandler ffestb_V0216_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0217_ (ffelexToken t);
-static ffelexHandler ffestb_V0218_ (ffelexToken t);
-static ffelexHandler ffestb_V0219_ (ffelexToken t);
-static ffelexHandler ffestb_V0261_ (ffelexToken t);
-static ffelexHandler ffestb_V0262_ (ffelexToken t);
-static ffelexHandler ffestb_V0263_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0264_ (ffelexToken t);
-static ffelexHandler ffestb_V0265_ (ffelexToken t);
-static ffelexHandler ffestb_V0266_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_V0267_ (ffelexToken t);
-static ffelexHandler ffestb_V0268_ (ffelexToken t);
-static ffelexHandler ffestb_V0269_ (ffelexToken t);
-#endif
-#if FFESTR_F90
-static ffelexHandler ffestb_dimlist1_ (ffelexToken t);
-static ffelexHandler ffestb_dimlist2_ (ffelexToken t);
-static ffelexHandler ffestb_dimlist3_ (ffelexToken t);
-static ffelexHandler ffestb_dimlist4_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_dummy1_ (ffelexToken t);
static ffelexHandler ffestb_dummy2_ (ffelexToken t);
static ffelexHandler ffestb_R5241_ (ffelexToken t);
@@ -884,30 +686,13 @@ static ffelexHandler ffestb_R5474_ (ffelexToken t);
static ffelexHandler ffestb_R5475_ (ffelexToken t);
static ffelexHandler ffestb_R5476_ (ffelexToken t);
static ffelexHandler ffestb_R5477_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_R6241_ (ffelexToken ft, ffebld expr,
- ffelexToken t);
-static ffelexHandler ffestb_R6242_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_R12291_ (ffelexToken t);
static ffelexHandler ffestb_R12292_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_decl_chartype1_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_decl_recursive1_ (ffelexToken t);
-static ffelexHandler ffestb_decl_recursive2_ (ffelexToken t);
-static ffelexHandler ffestb_decl_recursive3_ (ffelexToken t);
-static ffelexHandler ffestb_decl_recursive4_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_decl_attrs_ (ffelexToken t);
static ffelexHandler ffestb_decl_attrs_1_ (ffelexToken t);
static ffelexHandler ffestb_decl_attrs_2_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_decl_attrs_3_ (ffelexToken t);
-static ffelexHandler ffestb_decl_attrs_4_ (ffelexToken t);
-static ffelexHandler ffestb_decl_attrs_5_ (ffelexToken t);
-static ffelexHandler ffestb_decl_attrs_6_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_decl_attrs_7_ (ffelexToken t);
static ffelexHandler ffestb_decl_attrsp_ (ffelexToken t);
static ffelexHandler ffestb_decl_ents_ (ffelexToken t);
@@ -936,9 +721,6 @@ static ffelexHandler ffestb_decl_entsp_5_ (ffelexToken t);
static ffelexHandler ffestb_decl_entsp_6_ (ffelexToken t);
static ffelexHandler ffestb_decl_entsp_7_ (ffelexToken t);
static ffelexHandler ffestb_decl_entsp_8_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_decl_func_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_decl_funcname_ (ffelexToken t);
static ffelexHandler ffestb_decl_funcname_1_ (ffelexToken t);
static ffelexHandler ffestb_decl_funcname_2_ (ffelexToken t);
@@ -950,29 +732,12 @@ static ffelexHandler ffestb_decl_funcname_6_ (ffelexToken t);
static ffelexHandler ffestb_decl_funcname_7_ (ffelexToken t);
static ffelexHandler ffestb_decl_funcname_8_ (ffelexToken t);
static ffelexHandler ffestb_decl_funcname_9_ (ffelexToken t);
-#if FFESTR_VXT
-static ffelexHandler ffestb_V0031_ (ffelexToken t);
-static ffelexHandler ffestb_V0032_ (ffelexToken t);
-static ffelexHandler ffestb_V0033_ (ffelexToken t);
-static ffelexHandler ffestb_V0034_ (ffelexToken t);
-static ffelexHandler ffestb_V0035_ (ffelexToken t);
-static ffelexHandler ffestb_V0036_ (ffelexToken t);
-static ffelexHandler ffestb_V0161_ (ffelexToken t);
-static ffelexHandler ffestb_V0162_ (ffelexToken t);
-static ffelexHandler ffestb_V0163_ (ffelexToken t);
-static ffelexHandler ffestb_V0164_ (ffelexToken t);
-static ffelexHandler ffestb_V0165_ (ffelexToken t);
-static ffelexHandler ffestb_V0166_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_V0271_ (ffelexToken t);
static ffelexHandler ffestb_V0272_ (ffelexToken ft, ffebld expr,
ffelexToken t);
static ffelexHandler ffestb_V0273_ (ffelexToken t);
static ffelexHandler ffestb_decl_R5391_ (ffelexToken t);
static ffelexHandler ffestb_decl_R5392_ (ffelexToken t);
-#if FFESTR_F90
-static ffelexHandler ffestb_decl_R5393_ (ffelexToken t);
-#endif
static ffelexHandler ffestb_decl_R5394_ (ffelexToken t);
static ffelexHandler ffestb_decl_R5395_ (ffelexToken t);
static ffelexHandler ffestb_decl_R539letters_ (ffelexToken t);
@@ -1737,67 +1502,6 @@ ffestb_decl_typeparams_3_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_decl_typetype1_ -- "TYPE" OPEN_PAREN
-
- return ffestb_decl_typetype1_; // to lexer
-
- Handle NAME. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_decl_typetype1_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffestb_local_.decl.kindt = ffelex_token_use (t);
- return (ffelexHandler) ffestb_decl_typetype2_;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM,
- ffestb_local_.decl.badname,
- t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_typetype2_ -- "TYPE" OPEN_PAREN NAME
-
- return ffestb_decl_typetype2_; // to lexer
-
- Handle CLOSE_PAREN. */
-
-static ffelexHandler
-ffestb_decl_typetype2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- ffelex_set_names (TRUE);
- return (ffelexHandler) ffestb_local_.decl.handler;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffelex_token_kill (ffestb_local_.decl.kindt);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM,
- ffestb_local_.decl.badname,
- t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_subr_label_list_ -- Collect a tokenlist of labels and close-paren
return ffestb_subr_label_list_; // to lexer after seeing OPEN_PAREN
@@ -2664,11 +2368,6 @@ ffestb_elsexyz (ffelexToken t)
p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlELSE);
ffesta_tokens[1]
= ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
-#if FFESTR_F90
- if ((ffestb_args.elsexyz.second == FFESTR_secondWHERE)
- && (ffelex_token_length (ffesta_tokens[1]) != FFESTR_secondlWHERE))
- ffestb_args.elsexyz.second = FFESTR_secondNone;
-#endif
return (ffelexHandler) ffestb_else1_ (t);
default:
@@ -2727,16 +2426,6 @@ ffestb_else1_ (ffelexToken t)
switch (ffestb_args.elsexyz.second)
{
-#if FFESTR_F90
- case FFESTR_secondWHERE:
- if (!ffesta_is_inhibited ())
- if ((ffesta_first_kw == FFESTR_firstELSEWHERE)
- && (ffelex_token_type (ffesta_tokens[0]) == FFELEX_typeNAME))
- ffestc_R744 ();
- else
- ffestc_elsewhere (ffesta_tokens[1]); /* R744 or R805. */
- break;
-#endif
default:
if (!ffesta_is_inhibited ())
@@ -2936,20 +2625,6 @@ ffestb_end (ffelexToken t)
case FFESTR_secondBLOCK:
return (ffelexHandler) ffestb_end1_;
-#if FFESTR_F90
- case FFESTR_secondINTERFACE:
-#endif
-#if FFESTR_VXT
- case FFESTR_secondMAP:
- case FFESTR_secondSTRUCTURE:
- case FFESTR_secondUNION:
-#endif
-#if FFESTR_F90
- case FFESTR_secondWHERE:
- ffesta_tokens[1] = NULL;
- return (ffelexHandler) ffestb_end3_;
-#endif
-
case FFESTR_secondNone:
goto bad_1; /* :::::::::::::::::::: */
@@ -3030,19 +2705,6 @@ ffestb_endxyz (ffelexToken t)
ffesta_confirmed ();
switch (ffestb_args.endxyz.second)
{
-#if FFESTR_F90
- case FFESTR_secondINTERFACE:
-#endif
-#if FFESTR_VXT
- case FFESTR_secondMAP:
- case FFESTR_secondSTRUCTURE:
- case FFESTR_secondUNION:
-#endif
-#if FFESTR_F90
- case FFESTR_secondWHERE:
- goto bad_1; /* :::::::::::::::::::: */
-#endif
-
case FFESTR_secondBLOCK:
if (ffesta_second_kw != FFESTR_secondDATA)
goto bad_1; /* :::::::::::::::::::: */
@@ -3086,24 +2748,6 @@ ffestb_endxyz (ffelexToken t)
{
p = ffelex_token_text (ffesta_tokens[0])
+ (i = ffestb_args.endxyz.len);
- switch (ffestb_args.endxyz.second)
- {
-#if FFESTR_F90
- case FFESTR_secondINTERFACE:
-#endif
-#if FFESTR_VXT
- case FFESTR_secondMAP:
- case FFESTR_secondSTRUCTURE:
- case FFESTR_secondUNION:
-#endif
-#if FFESTR_F90
- case FFESTR_secondWHERE:
- goto bad_i; /* :::::::::::::::::::: */
-#endif
-
- default:
- break;
- }
if (!ffesrc_is_name_init (*p))
goto bad_i; /* :::::::::::::::::::: */
ffesta_tokens[1]
@@ -3211,20 +2855,6 @@ ffestb_end3_ (ffelexToken t)
switch (ffestb_args.endxyz.second)
{
-#if FFESTR_F90
- case FFESTR_secondTYPE:
- if (!ffesta_is_inhibited ())
- ffestc_R425 (ffesta_tokens[1]);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_secondWHERE:
- if (!ffesta_is_inhibited ())
- ffestc_R745 ();
- break;
-#endif
-
case FFESTR_secondIF:
if (!ffesta_is_inhibited ())
ffestc_R806 (ffesta_tokens[1]);
@@ -3245,25 +2875,12 @@ ffestb_end3_ (ffelexToken t)
ffestc_R1103 (ffesta_tokens[1]);
break;
-#if FFESTR_F90
- case FFESTR_secondMODULE:
- if (!ffesta_is_inhibited ())
- ffestc_R1106 (ffesta_tokens[1]);
- break;
-#endif
case FFESTR_secondBLOCK:
case FFESTR_secondBLOCKDATA:
if (!ffesta_is_inhibited ())
ffestc_R1112 (ffesta_tokens[1]);
break;
-#if FFESTR_F90
- case FFESTR_secondINTERFACE:
- if (!ffesta_is_inhibited ())
- ffestc_R1203 ();
- break;
-#endif
-
case FFESTR_secondFUNCTION:
if (!ffesta_is_inhibited ())
ffestc_R1221 (ffesta_tokens[1]);
@@ -3274,27 +2891,6 @@ ffestb_end3_ (ffelexToken t)
ffestc_R1225 (ffesta_tokens[1]);
break;
-#if FFESTR_VXT
- case FFESTR_secondSTRUCTURE:
- if (!ffesta_is_inhibited ())
- ffestc_V004 ();
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_secondUNION:
- if (!ffesta_is_inhibited ())
- ffestc_V010 ();
- break;
-#endif
-
-#if FFESTR_VXT
- case FFESTR_secondMAP:
- if (!ffesta_is_inhibited ())
- ffestc_V013 ();
- break;
-#endif
-
default:
ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "END", ffesta_tokens[0]);
if (ffesta_tokens[1] != NULL)
@@ -3990,155 +3586,6 @@ ffestb_if3_ (ffelexToken t)
return (ffelexHandler) next;
}
-/* ffestb_where -- Parse a WHERE statement
-
- return ffestb_where; // to lexer
-
- Make sure the statement has a valid form for a WHERE statement.
- If it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_where (ffelexToken t)
-{
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstWHERE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstWHERE)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlWHERE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool, FFEEXPR_contextWHERE,
- (ffeexprCallback) ffestb_where1_);
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "WHERE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "WHERE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-#endif
-/* ffestb_where1_ -- "WHERE" OPEN_PAREN expr
-
- (ffestb_where1_) // to expression handler
-
- Make sure the next token is CLOSE_PAREN. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_where1_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- ffestb_local_.if_stmt.expr = expr;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffesta_tokens[1] = ffelex_token_use (ft);
- ffelex_set_names (TRUE);
- return (ffelexHandler) ffestb_where2_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "WHERE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_where2_ -- "WHERE" OPEN_PAREN expr CLOSE_PAREN
-
- return ffestb_where2_; // to lexer
-
- Make sure the next token is NAME. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_where2_ (ffelexToken t)
-{
- ffelex_set_names (FALSE);
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- case FFELEX_typeNAMES:
- ffesta_confirmed ();
- ffesta_tokens[2] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_where3_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R742 (ffestb_local_.if_stmt.expr, ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "WHERE", t);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_where3_ -- "WHERE" OPEN_PAREN expr CLOSE_PAREN NAME
-
- return ffestb_where3_; // to lexer
-
- Implement R742. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_where3_ (ffelexToken t)
-{
- ffelexHandler next;
- ffelexToken my_2 = ffesta_tokens[2];
-
- if (!ffesta_is_inhibited ())
- ffestc_R740 (ffestb_local_.if_stmt.expr, ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- next = (ffelexHandler) ffesta_two (my_2, t);
- ffelex_token_kill (my_2);
- return (ffelexHandler) next;
-}
-
-#endif
/* ffestb_let -- Parse an assignment statement
return ffestb_let; // to lexer
@@ -4220,9 +3667,6 @@ ffestb_let1_ (ffelexToken ft UNUSED, ffebld expr, ffelexToken t)
switch (ffelex_token_type (t))
{
-#if FFESTR_F90
- case FFELEX_typePOINTS:
-#endif
case FFELEX_typeEQUALS:
if (expr == NULL)
break;
@@ -4257,14 +3701,7 @@ ffestb_let2_ (ffelexToken ft, ffebld expr, ffelexToken t)
break;
ffesta_confirmed ();
if (!ffesta_is_inhibited ())
-#if FFESTR_F90
- if (ffelex_token_type (ffesta_tokens[1]) == FFELEX_typeEQUALS)
-#endif
- ffestc_let (ffestb_local_.let.dest, expr, ft);
-#if FFESTR_F90
- else
- ffestc_R738 (ffestb_local_.let.dest, expr, ft);
-#endif
+ ffestc_let (ffestb_local_.let.dest, expr, ft);
ffelex_token_kill (ffesta_tokens[1]);
return (ffelexHandler) ffesta_zero (t);
@@ -4280,251 +3717,6 @@ ffestb_let2_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_type -- Parse the TYPE statement
-
- return ffestb_type; // to lexer
-
- Make sure the statement has a valid form for the TYPE statement. If
- it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_type (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstTYPE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- return (ffelexHandler) ffestb_type1_;
-
- case FFELEX_typeNAME: /* No confirm here, because ambig w/V020 VXT
- TYPE. */
- ffesta_tokens[1] = NULL;
- ffesta_tokens[2] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_type4_;
- }
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstTYPE)
- goto bad_0; /* :::::::::::::::::::: */
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlTYPE);
- switch (ffelex_token_type (t))
- {
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOMMA:
- if (*p != '\0')
- goto bad_i; /* :::::::::::::::::::: */
- ffesta_confirmed ();
- ffelex_set_names (TRUE);
- return (ffelexHandler) ffestb_type1_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- break;
- }
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ffesta_tokens[1] = NULL;
- ffesta_tokens[2]
- = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- return (ffelexHandler) ffestb_type4_ (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "TYPE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_type1_ -- "TYPE" COMMA
-
- return ffestb_type1_; // to lexer
-
- Make sure the next token is a NAME. */
-
-static ffelexHandler
-ffestb_type1_ (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
-
- ffelex_set_names (FALSE);
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- ffestb_local_.type.kw = ffestr_other (t);
- switch (ffestb_local_.varlist.kw)
- {
- case FFESTR_otherPUBLIC:
- case FFESTR_otherPRIVATE:
- return (ffelexHandler) ffestb_type2_;
-
- default:
- ffelex_token_kill (ffesta_tokens[1]);
- break;
- }
- break;
-
- case FFELEX_typeNAMES:
- ffesta_tokens[1] = ffelex_token_use (t);
- ffestb_local_.type.kw = ffestr_other (t);
- switch (ffestb_local_.varlist.kw)
- {
- case FFESTR_otherPUBLIC:
- p = ffelex_token_text (t) + (i = FFESTR_otherlPUBLIC);
- if (*p == '\0')
- return (ffelexHandler) ffestb_type2_;
- if (!ffesrc_is_name_init (*p))
- goto bad_i1; /* :::::::::::::::::::: */
- ffesta_tokens[2] = ffelex_token_name_from_names (t, i, 0);
- return (ffelexHandler) ffestb_type4_;
-
- case FFESTR_otherPRIVATE:
- p = ffelex_token_text (t) + (i = FFESTR_otherlPRIVATE);
- if (*p == '\0')
- return (ffelexHandler) ffestb_type2_;
- if (!ffesrc_is_name_init (*p))
- goto bad_i1; /* :::::::::::::::::::: */
- ffesta_tokens[2] = ffelex_token_name_from_names (t, i, 0);
- return (ffelexHandler) ffestb_type4_;
-
- default:
- ffelex_token_kill (ffesta_tokens[1]);
- break;
- }
- break;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_i1: /* :::::::::::::::::::: */
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "TYPE", t, i, NULL);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_type2_ -- "TYPE" COMMA NAME
-
- return ffestb_type2_; // to lexer
-
- Handle COLONCOLON or NAME. */
-
-static ffelexHandler
-ffestb_type2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOLONCOLON:
- return (ffelexHandler) ffestb_type3_;
-
- case FFELEX_typeNAME:
- return (ffelexHandler) ffestb_type3_ (t);
-
- default:
- break;
- }
-
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_type3_ -- "TYPE" [COMMA NAME [COLONCOLON]]
-
- return ffestb_type3_; // to lexer
-
- Make sure the next token is a NAME. */
-
-static ffelexHandler
-ffestb_type3_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[2] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_type4_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", t);
- break;
- }
-
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_type4_ -- "TYPE" [COMMA NAME [COLONCOLON]] NAME
-
- return ffestb_type4_; // to lexer
-
- Make sure the next token is an EOS or SEMICOLON. */
-
-static ffelexHandler
-ffestb_type4_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R424 (ffesta_tokens[1], ffestb_local_.type.kw,
- ffesta_tokens[2]);
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "TYPE", t);
- break;
- }
-
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_varlist -- Parse EXTERNAL/INTENT/INTRINSIC/OPTIONAL/PUBLIC/PRIVATE
statement
@@ -4549,23 +3741,7 @@ ffestb_varlist (ffelexToken t)
case FFELEX_typeEOS:
case FFELEX_typeSEMICOLON:
ffesta_confirmed ();
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521A ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_private (); /* Either R523A or R521B. */
- return (ffelexHandler) ffesta_zero (t);
-#endif
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
+ goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeCOMMA:
ffesta_confirmed (); /* Error, but clearly intended. */
@@ -4573,45 +3749,14 @@ ffestb_varlist (ffelexToken t)
case FFELEX_typeCOLONCOLON:
ffesta_confirmed ();
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- if (!ffesta_is_inhibited ())
- ffestc_R520_start ();
- break;
-
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521Astart ();
- break;
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_R521Bstart ();
- break;
-#endif
-
- default:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
- }
- return (ffelexHandler) ffestb_varlist5_;
+ ffesta_confirmed (); /* Error, but clearly intended. */
+ goto bad_1; /* :::::::::::::::::::: */
default:
goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeOPEN_PAREN:
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- return (ffelexHandler) ffestb_varlist1_;
-#endif
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
+ goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeNAME:
ffesta_confirmed ();
@@ -4622,35 +3767,11 @@ ffestb_varlist (ffelexToken t)
ffestc_R1207_start ();
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- goto bad_1; /* :::::::::::::::::::: */
-#endif
-
case FFESTR_firstINTRINSIC:
if (!ffesta_is_inhibited ())
ffestc_R1208_start ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- if (!ffesta_is_inhibited ())
- ffestc_R520_start ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521Astart ();
- break;
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_R521Bstart ();
- break;
-#endif
-
default:
break;
}
@@ -4664,93 +3785,23 @@ ffestb_varlist (ffelexToken t)
case FFELEX_typeEOS:
case FFELEX_typeSEMICOLON:
ffesta_confirmed ();
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- goto bad_1; /* :::::::::::::::::::: */
-#endif
-
- default:
- break;
- }
if (*p != '\0')
break;
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521A ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_private (); /* Either R423A or R521B. */
- return (ffelexHandler) ffesta_zero (t);
-#endif
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
+ goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeCOMMA:
ffesta_confirmed (); /* Error, but clearly intended. */
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- goto bad_1; /* :::::::::::::::::::: */
-#endif
- default:
- break;
- }
if (*p != '\0')
break;
goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeCOLONCOLON:
ffesta_confirmed ();
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- if (!ffesta_is_inhibited ())
- ffestc_R520_start ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521Astart ();
- break;
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_R521Bstart ();
- break;
-#endif
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
- return (ffelexHandler) ffestb_varlist5_;
+ goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeOPEN_PAREN:
- switch (ffesta_first_kw)
- {
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- if (*p != '\0')
- goto bad_1; /* :::::::::::::::::::: */
- return (ffelexHandler) ffestb_varlist1_;
-#endif
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
+ goto bad_1; /* :::::::::::::::::::: */
case FFELEX_typeNAME:
ffesta_confirmed ();
@@ -4761,35 +3812,11 @@ ffestb_varlist (ffelexToken t)
ffestc_R1207_start ();
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- goto bad_1; /* :::::::::::::::::::: */
-#endif
-
case FFESTR_firstINTRINSIC:
if (!ffesta_is_inhibited ())
ffestc_R1208_start ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- if (!ffesta_is_inhibited ())
- ffestc_R520_start ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_R521Astart ();
- break;
-
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_R521Bstart ();
- break;
-#endif
-
default:
break;
}
@@ -4819,22 +3846,6 @@ ffestb_varlist (ffelexToken t)
ffestc_R1208_start ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestc_R520_start ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- ffestc_R521Astart ();
- break;
-
- case FFESTR_firstPRIVATE:
- ffestc_R521Bstart ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -4861,139 +3872,6 @@ bad_i: /* :::::::::::::::::::: */
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_varlist1_ -- "INTENT" OPEN_PAREN
-
- return ffestb_varlist1_; // to lexer
-
- Handle NAME. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_varlist1_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- ffestb_local_.varlist.kw = ffestr_other (t);
- switch (ffestb_local_.varlist.kw)
- {
- case FFESTR_otherIN:
- return (ffelexHandler) ffestb_varlist2_;
-
- case FFESTR_otherINOUT:
- return (ffelexHandler) ffestb_varlist3_;
-
- case FFESTR_otherOUT:
- return (ffelexHandler) ffestb_varlist3_;
-
- default:
- ffelex_token_kill (ffesta_tokens[1]);
- break;
- }
- break;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.varlist.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_varlist2_ -- "INTENT" OPEN_PAREN "IN"
-
- return ffestb_varlist2_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_varlist2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- switch (ffestr_other (t))
- {
- case FFESTR_otherOUT:
- ffestb_local_.varlist.kw = FFESTR_otherINOUT;
- return (ffelexHandler) ffestb_varlist3_;
-
- default:
- break;
- }
- break;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_varlist4_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.varlist.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_varlist3_ -- "INTENT" OPEN_PAREN NAME ["OUT"]
-
- return ffestb_varlist3_; // to lexer
-
- Handle CLOSE_PAREN. */
-
-static ffelexHandler
-ffestb_varlist3_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_varlist4_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.varlist.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_varlist4_ -- "INTENT" OPEN_PAREN NAME ["OUT"] CLOSE_PAREN
-
- return ffestb_varlist4_; // to lexer
-
- Handle COLONCOLON or NAME. */
-
-static ffelexHandler
-ffestb_varlist4_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R519_start (ffesta_tokens[1], ffestb_local_.varlist.kw);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_varlist5_;
-
- case FFELEX_typeNAME:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R519_start (ffesta_tokens[1], ffestb_local_.varlist.kw);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_varlist5_ (t);
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.varlist.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_varlist5_ -- Handles the list of variable names
return ffestb_varlist5_; // to lexer
@@ -5022,32 +3900,10 @@ ffestb_varlist5_ (ffelexToken t)
ffestc_R1207_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffestc_R519_finish ();
- break;
-#endif
-
case FFESTR_firstINTRINSIC:
ffestc_R1208_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestc_R520_finish ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- ffestc_R521Afinish ();
- break;
-
- case FFESTR_firstPRIVATE:
- ffestc_R521Bfinish ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -5075,32 +3931,10 @@ ffestb_varlist6_ (ffelexToken t)
ffestc_R1207_item (ffesta_tokens[1]);
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffestc_R519_item (ffesta_tokens[1]);
- break;
-#endif
-
case FFESTR_firstINTRINSIC:
ffestc_R1208_item (ffesta_tokens[1]);
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestc_R520_item (ffesta_tokens[1]);
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- ffestc_R521Aitem (ffesta_tokens[1]);
- break;
-
- case FFESTR_firstPRIVATE:
- ffestc_R521Bitem (ffesta_tokens[1]);
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -5119,37 +3953,11 @@ ffestb_varlist6_ (ffelexToken t)
ffestc_R1207_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffestc_R519_item (ffesta_tokens[1]);
- ffestc_R519_finish ();
- break;
-#endif
-
case FFESTR_firstINTRINSIC:
ffestc_R1208_item (ffesta_tokens[1]);
ffestc_R1208_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestc_R520_item (ffesta_tokens[1]);
- ffestc_R520_finish ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- ffestc_R521Aitem (ffesta_tokens[1]);
- ffestc_R521Afinish ();
- break;
-
- case FFESTR_firstPRIVATE:
- ffestc_R521Bitem (ffesta_tokens[1]);
- ffestc_R521Bfinish ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -5170,32 +3978,10 @@ ffestb_varlist6_ (ffelexToken t)
ffestc_R1207_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffestc_R519_finish ();
- break;
-#endif
-
case FFESTR_firstINTRINSIC:
ffestc_R1208_finish ();
break;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- ffestc_R520_finish ();
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPUBLIC:
- ffestc_R521Afinish ();
- break;
-
- case FFESTR_firstPRIVATE:
- ffestc_R521Bfinish ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -5204,75 +3990,6 @@ ffestb_varlist6_ (ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_R423B -- Parse the SEQUENCE statement
-
- return ffestb_R423B; // to lexer
-
- Make sure the statement has a valid form for the SEQUENCE statement. If
- it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_R423B (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstSEQUENCE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstSEQUENCE)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlSEQUENCE)
- {
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlSEQUENCE);
- goto bad_i; /* :::::::::::::::::::: */
- }
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R423B ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "SEQUENCE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid first token. */
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "SEQUENCE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "SEQUENCE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_R522 -- Parse the SAVE statement
return ffestb_R522; // to lexer
@@ -7669,144 +6386,6 @@ ffestb_R12271_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_R1228 -- Parse the CONTAINS statement
-
- return ffestb_R1228; // to lexer
-
- Make sure the statement has a valid form for the CONTAINS statement. If
- it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_R1228 (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstCONTAINS)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstCONTAINS)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlCONTAINS)
- {
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlCONTAINS);
- goto bad_i; /* :::::::::::::::::::: */
- }
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R1228 ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "CONTAINS", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid first token. */
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "CONTAINS", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "CONTAINS", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_V009 -- Parse the UNION statement
-
- return ffestb_V009; // to lexer
-
- Make sure the statement has a valid form for the UNION statement. If
- it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V009 (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstUNION)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstUNION)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlUNION)
- {
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlUNION);
- goto bad_i; /* :::::::::::::::::::: */
- }
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V009 ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "UNION", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid first token. */
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "UNION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "UNION", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_construct -- Parse a construct name
return ffestb_construct; // to lexer
@@ -7924,505 +6503,6 @@ ffestb_construct2_ (ffelexToken t)
return (ffelexHandler) (*ffestb_local_.construct.next) (t);
}
-/* ffestb_heap -- Parse an ALLOCATE/DEALLOCATE statement
-
- return ffestb_heap; // to lexer
-
- Make sure the statement has a valid form for an ALLOCATE/DEALLOCATE
- statement. If it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_heap (ffelexToken t)
-{
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- break;
-
- case FFELEX_typeNAMES:
- if (ffelex_token_length (ffesta_tokens[0]) != ffestb_args.heap.len)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- ffestb_local_.heap.exprs = ffestt_exprlist_create ();
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_args.heap.ctx,
- (ffeexprCallback) ffestb_heap1_);
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_heap1_ -- "ALLOCATE/DEALLOCATE" OPEN_PAREN expr
-
- (ffestb_heap1_) // to expression handler
-
- Make sure the next token is COMMA. */
-
-static ffelexHandler
-ffestb_heap1_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- ffestt_exprlist_append (ffestb_local_.heap.exprs, expr,
- ffelex_token_use (t));
- return (ffelexHandler) ffestb_heap2_;
-
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestt_exprlist_append (ffestb_local_.heap.exprs, expr,
- ffelex_token_use (t));
- ffesta_tokens[1] = NULL;
- ffestb_local_.heap.expr = NULL;
- return (ffelexHandler) ffestb_heap5_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_heap2_ -- "ALLOCATE/DEALLOCATE" OPEN_PAREN expr COMMA
-
- return ffestb_heap2_; // to lexer
-
- Make sure the next token is NAME. */
-
-static ffelexHandler
-ffestb_heap2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_heap3_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_heap3_ -- "ALLOCATE/DEALLOCATE" OPEN_PAREN expr COMMA NAME
-
- return ffestb_heap3_; // to lexer
-
- If token is EQUALS, make sure NAME was "STAT" and handle STAT variable;
- else pass NAME and token to expression handler. */
-
-static ffelexHandler
-ffestb_heap3_ (ffelexToken t)
-{
- ffelexHandler next;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- ffesta_confirmed ();
- if (ffestr_other (ffesta_tokens[1]) != FFESTR_otherSTAT)
- break;
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextHEAPSTAT,
- (ffeexprCallback) ffestb_heap4_);
-
- default:
- next = (ffelexHandler)
- (*((ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_args.heap.ctx,
- (ffeexprCallback) ffestb_heap1_)))
- (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) (*next) (t);
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_heap4_ -- "ALLOCATE/DEALLOCATE" OPEN_PAREN ... COMMA "STAT" EQUALS
- expr
-
- (ffestb_heap4_) // to expression handler
-
- Make sure the next token is CLOSE_PAREN. */
-
-static ffelexHandler
-ffestb_heap4_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffesta_tokens[1] = ffelex_token_use (ft);
- ffestb_local_.heap.expr = expr;
- return (ffelexHandler) ffestb_heap5_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_heap5_ -- "ALLOCATE/DEALLOCATE" OPEN_PAREN ... CLOSE_PAREN
-
- return ffestb_heap5_; // to lexer
-
- Make sure the next token is EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_heap5_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- if (ffesta_first_kw == FFESTR_firstALLOCATE)
- ffestc_R620 (ffestb_local_.heap.exprs, ffestb_local_.heap.expr,
- ffesta_tokens[1]);
- else
- ffestc_R625 (ffestb_local_.heap.exprs, ffestb_local_.heap.expr,
- ffesta_tokens[1]);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.heap.badname, t);
- ffestt_exprlist_kill (ffestb_local_.heap.exprs);
- if (ffesta_tokens[1] != NULL)
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_module -- Parse the MODULEPROCEDURE statement
-
- return ffestb_module; // to lexer
-
- Make sure the statement has a valid form for the MODULEPROCEDURE statement.
- If it does, implement the statement.
-
- 31-May-90 JCB 1.1
- Confirm NAME==MODULE followed by standard four invalid tokens, so we
- get decent message if somebody forgets that MODULE requires a name. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_module (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
- ffelexToken nt;
- ffelexToken mt; /* Name in MODULE PROCEDUREname, i.e.
- includes "PROCEDURE". */
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstMODULE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- break;
-
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- goto bad_1m; /* :::::::::::::::::::: */
-
- default:
- goto bad_1m; /* :::::::::::::::::::: */
- }
-
- ffesta_confirmed ();
- if (ffesta_second_kw != FFESTR_secondPROCEDURE)
- {
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_module3_;
- }
- ffestb_local_.moduleprocedure.started = FALSE;
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_module1_;
-
- case FFELEX_typeNAMES:
- p = ffelex_token_text (ffesta_tokens[0])
- + (i = FFESTR_firstlMODULEPROCEDURE);
- if ((ffesta_first_kw == FFESTR_firstMODULE)
- || ((ffesta_first_kw == FFESTR_firstMODULEPROCEDURE)
- && !ffesrc_is_name_init (*p)))
- { /* Definitely not "MODULE PROCEDURE name". */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1m; /* :::::::::::::::::::: */
-
- default:
- goto bad_1m; /* :::::::::::::::::::: */
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- break;
- }
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlMODULE);
- if (!ffesrc_is_name_init (*p))
- goto bad_im; /* :::::::::::::::::::: */
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- if (!ffesta_is_inhibited ())
- ffestc_R1105 (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) ffesta_zero (t);
- }
-
- /* Here we know that we're indeed looking at a MODULEPROCEDURE
- statement rather than MODULE and that the character following
- MODULEPROCEDURE in the NAMES token is a valid first character for a
- NAME. This means that unless the second token is COMMA, we have an
- ambiguous statement that can be read either as MODULE PROCEDURE name
- or MODULE PROCEDUREname, the former being an R1205, the latter an
- R1105. */
-
- if (ffesta_first_kw != FFESTR_firstMODULEPROCEDURE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOMMA: /* Aha, clearly not MODULE PROCEDUREname. */
- ffesta_confirmed ();
- ffestb_local_.moduleprocedure.started = FALSE;
- ffesta_tokens[1]
- = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- return (ffelexHandler) ffestb_module2_ (t);
-
- case FFELEX_typeEOS: /* MODULE PROCEDURE name or MODULE
- PROCEDUREname. */
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- break;
- }
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- mt = ffelex_token_name_from_names (ffesta_tokens[0], FFESTR_firstlMODULE,
- 0);
- if (!ffesta_is_inhibited ())
- ffestc_module (mt, nt); /* Implement ambiguous statement. */
- ffelex_token_kill (nt);
- ffelex_token_kill (mt);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE PROCEDURE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE PROCEDURE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_1m: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_im: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "MODULE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_module1_ -- "MODULEPROCEDURE" or "MODULE" "PROCEDURE"
-
- return ffestb_module1_; // to lexer
-
- Make sure the statement has a valid form for the MODULEPROCEDURE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_module1_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- if (!ffestb_local_.moduleprocedure.started
- && (ffelex_token_type (ffesta_tokens[0]) == FFELEX_typeNAME))
- {
- ffesta_confirmed ();
- ffelex_token_kill (ffesta_tokens[1]);
- }
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_module2_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (ffestb_local_.moduleprocedure.started)
- break; /* Error if we've already seen NAME COMMA. */
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R1105 (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- break;
-
- default:
- break;
- }
-
- if (ffestb_local_.moduleprocedure.started && !ffesta_is_inhibited ())
- ffestc_R1205_finish ();
- else if (!ffestb_local_.moduleprocedure.started)
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE PROCEDURE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_module2_ -- "MODULE/PROCEDURE" NAME
-
- return ffestb_module2_; // to lexer
-
- Make sure the statement has a valid form for the MODULEPROCEDURE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_module2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffestb_local_.moduleprocedure.started)
- {
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R1205_start ();
- }
- if (!ffesta_is_inhibited ())
- {
- ffestc_R1205_item (ffesta_tokens[1]);
- ffestc_R1205_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- if (!ffestb_local_.moduleprocedure.started)
- {
- ffestb_local_.moduleprocedure.started = TRUE;
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R1205_start ();
- }
- if (!ffesta_is_inhibited ())
- ffestc_R1205_item (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_module1_;
-
- default:
- break;
- }
-
- if (ffestb_local_.moduleprocedure.started && !ffesta_is_inhibited ())
- ffestc_R1205_finish ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE PROCEDURE", t);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_module3_ -- "MODULE" NAME
-
- return ffestb_module3_; // to lexer
-
- Make sure the statement has a valid form for the MODULE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_module3_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_R1105 (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MODULE", t);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_R809 -- Parse the SELECTCASE statement
return ffestb_R809; // to lexer
@@ -10978,987 +9058,6 @@ ffestb_R100118_ (ffelexToken ft UNUSED, ffebld expr, ffelexToken t)
}
}
-/* ffestb_R1107 -- Parse the USE statement
-
- return ffestb_R1107; // to lexer
-
- Make sure the statement has a valid form for the USE statement.
- If it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_R1107 (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstUSE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
- ffesta_confirmed ();
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R11071_;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstUSE)
- goto bad_0; /* :::::::::::::::::::: */
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlUSE);
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- break;
- }
- ffesta_confirmed ();
- ffesta_tokens[1]
- = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- return (ffelexHandler) ffestb_R11071_ (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "USE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11071_ -- "USE" NAME
-
- return ffestb_R11071_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11071_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- ffestc_R1107_start (ffesta_tokens[1], FALSE);
- ffestc_R1107_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_R11072_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11072_ -- "USE" NAME COMMA
-
- return ffestb_R11072_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11072_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[2] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R11073_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11073_ -- "USE" NAME COMMA NAME
-
- return ffestb_R11073_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11073_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOLON:
- if (ffestr_other (ffesta_tokens[2]) != FFESTR_otherONLY)
- break;
- if (!ffesta_is_inhibited ())
- ffestc_R1107_start (ffesta_tokens[1], TRUE);
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- return (ffelexHandler) ffestb_R11074_;
-
- case FFELEX_typePOINTS:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_start (ffesta_tokens[1], FALSE);
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_tokens[1] = ffesta_tokens[2];
- return (ffelexHandler) ffestb_R110711_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11074_ -- "USE" NAME COMMA "ONLY" COLON
-
- return ffestb_R11074_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11074_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R11075_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11075_ -- "USE" NAME COMMA "ONLY" COLON NAME
-
- return ffestb_R11075_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11075_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- ffestc_R1107_item (NULL, ffesta_tokens[1]);
- ffestc_R1107_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_item (NULL, ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_R11078_;
-
- case FFELEX_typePOINTS:
- return (ffelexHandler) ffestb_R11076_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11076_ -- "USE" NAME COMMA "ONLY" COLON NAME POINTS
-
- return ffestb_R11076_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11076_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_item (ffesta_tokens[1], t);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_R11077_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11077_ -- "USE" NAME COMMA "ONLY" COLON NAME POINTS NAME
-
- return ffestb_R11077_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11077_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_R11078_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11078_ -- "USE" NAME COMMA "ONLY" COLON NAME POINTS NAME COMMA
-
- return ffestb_R11078_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11078_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R11075_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R11079_ -- "USE" NAME COMMA
-
- return ffestb_R11079_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R11079_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R110710_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R110710_ -- "USE" NAME COMMA NAME
-
- return ffestb_R110710_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R110710_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typePOINTS:
- return (ffelexHandler) ffestb_R110711_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R110711_ -- "USE" NAME COMMA NAME POINTS
-
- return ffestb_R110711_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R110711_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_item (ffesta_tokens[1], t);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_R110712_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R110712_ -- "USE" NAME COMMA NAME POINTS NAME
-
- return ffestb_R110712_; // to lexer
-
- Make sure the statement has a valid form for the USE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R110712_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_R1107_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_R11079_;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "USE", t);
- ffestc_R1107_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_R1202 -- Parse the INTERFACE statement
-
- return ffestb_R1202; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement.
- If it does, implement the statement.
-
- 15-May-90 JCB 1.1
- Allow INTERFACE by itself; missed this
- valid form when originally doing syntactic analysis code. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_R1202 (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstINTERFACE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNone, NULL);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- ffesta_confirmed ();
- switch (ffesta_second_kw)
- {
- case FFESTR_secondOPERATOR:
- ffestb_local_.interface.operator = FFESTP_definedoperatorOPERATOR;
- break;
-
- case FFESTR_secondASSIGNMENT:
- ffestb_local_.interface.operator = FFESTP_definedoperatorASSIGNMENT;
- break;
-
- default:
- ffestb_local_.interface.operator = FFESTP_definedoperatorNone;
- break;
- }
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R12021_;
-
- case FFELEX_typeNAMES:
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlINTERFACE);
- switch (ffesta_first_kw)
- {
- case FFESTR_firstINTERFACEOPERATOR:
- if (*(ffelex_token_text (ffesta_tokens[0])
- + FFESTR_firstlINTERFACEOPERATOR) == '\0')
- ffestb_local_.interface.operator
- = FFESTP_definedoperatorOPERATOR;
- break;
-
- case FFESTR_firstINTERFACEASSGNMNT:
- if (*(ffelex_token_text (ffesta_tokens[0])
- + FFESTR_firstlINTERFACEASSGNMNT) == '\0')
- ffestb_local_.interface.operator
- = FFESTP_definedoperatorASSIGNMENT;
- break;
-
- case FFESTR_firstINTERFACE:
- ffestb_local_.interface.operator = FFESTP_definedoperatorNone;
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- case FFELEX_typeOPEN_ARRAY: /* Sigh. */
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (*p == '\0')
- {
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNone, NULL);
- return (ffelexHandler) ffesta_zero (t);
- }
- break;
- }
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ffesta_tokens[1] = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- return (ffelexHandler) ffestb_R12021_ (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "INTERFACE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12021_ -- "INTERFACE" NAME
-
- return ffestb_R12021_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12021_ (ffelexToken t)
-{
- ffestb_local_.interface.slash = TRUE; /* Slash follows open paren. */
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNone, ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeOPEN_PAREN:
- ffestb_local_.interface.slash = FALSE; /* Slash doesn't follow. */
- /* Fall through. */
- case FFELEX_typeOPEN_ARRAY:
- switch (ffestb_local_.interface.operator)
- {
- case FFESTP_definedoperatorNone:
- break;
-
- case FFESTP_definedoperatorOPERATOR:
- ffestb_local_.interface.assignment = FALSE;
- return (ffelexHandler) ffestb_R12022_;
-
- case FFESTP_definedoperatorASSIGNMENT:
- ffestb_local_.interface.assignment = TRUE;
- return (ffelexHandler) ffestb_R12022_;
-
- default:
- assert (FALSE);
- }
- break;
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- break;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12022_ -- "INTERFACE" "OPERATOR/ASSIGNMENT" OPEN_PAREN
-
- return ffestb_R12022_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12022_ (ffelexToken t)
-{
- ffesta_tokens[2] = ffelex_token_use (t);
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typePERIOD:
- if (ffestb_local_.interface.slash)
- break;
- return (ffelexHandler) ffestb_R12023_;
-
- case FFELEX_typePOWER:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorPOWER;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeASTERISK:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorMULT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typePLUS:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorADD;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeCONCAT:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorCONCAT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeSLASH:
- if (ffestb_local_.interface.slash)
- {
- ffestb_local_.interface.operator = FFESTP_definedoperatorCONCAT;
- return (ffelexHandler) ffestb_R12025_;
- }
- ffestb_local_.interface.operator = FFESTP_definedoperatorDIVIDE;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeMINUS:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorSUBTRACT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeREL_EQ:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorEQ;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeREL_NE:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorNE;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeOPEN_ANGLE:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorLT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeREL_LE:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorLE;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeCLOSE_ANGLE:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorGT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeREL_GE:
- if (ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorGE;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeEQUALS:
- if (ffestb_local_.interface.slash)
- {
- ffestb_local_.interface.operator = FFESTP_definedoperatorNE;
- return (ffelexHandler) ffestb_R12025_;
- }
- ffestb_local_.interface.operator = FFESTP_definedoperatorASSIGNMENT;
- return (ffelexHandler) ffestb_R12025_;
-
- case FFELEX_typeCLOSE_ARRAY:
- if (!ffestb_local_.interface.slash)
- {
- ffestb_local_.interface.operator = FFESTP_definedoperatorDIVIDE;
- return (ffelexHandler) ffestb_R12026_;
- }
- ffestb_local_.interface.operator = FFESTP_definedoperatorCONCAT;
- return (ffelexHandler) ffestb_R12026_;
-
- case FFELEX_typeCLOSE_PAREN:
- if (!ffestb_local_.interface.slash)
- break;
- ffestb_local_.interface.operator = FFESTP_definedoperatorDIVIDE;
- return (ffelexHandler) ffestb_R12026_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12023_ -- "INTERFACE" NAME OPEN_PAREN PERIOD
-
- return ffestb_R12023_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12023_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_tokens[2] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_R12024_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12024_ -- "INTERFACE" NAME OPEN_PAREN PERIOD NAME
-
- return ffestb_R12024_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12024_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typePERIOD:
- return (ffelexHandler) ffestb_R12025_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12025_ -- "INTERFACE" NAME OPEN_PAREN operator
-
- return ffestb_R12025_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12025_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_R12026_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R12026_ -- "INTERFACE" NAME OPEN_PAREN operator CLOSE_PAREN
-
- return ffestb_R12026_; // to lexer
-
- Make sure the statement has a valid form for the INTERFACE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_R12026_ (ffelexToken t)
-{
- const char *p;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (ffestb_local_.interface.assignment
- && (ffestb_local_.interface.operator
- != FFESTP_definedoperatorASSIGNMENT))
- {
- ffebad_start (FFEBAD_INTERFACE_ASSIGNMENT);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[1]),
- ffelex_token_where_column (ffesta_tokens[1]));
- ffebad_here (1, ffelex_token_where_line (ffesta_tokens[2]),
- ffelex_token_where_column (ffesta_tokens[2]));
- ffebad_finish ();
- }
- switch (ffelex_token_type (ffesta_tokens[2]))
- {
- case FFELEX_typeNAME:
- switch (ffestr_other (ffesta_tokens[2]))
- {
- case FFESTR_otherNOT:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNOT, NULL);
- break;
-
- case FFESTR_otherAND:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorAND, NULL);
- break;
-
- case FFESTR_otherOR:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorOR, NULL);
- break;
-
- case FFESTR_otherEQV:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorEQV, NULL);
- break;
-
- case FFESTR_otherNEQV:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNEQV, NULL);
- break;
-
- case FFESTR_otherEQ:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorEQ, NULL);
- break;
-
- case FFESTR_otherNE:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorNE, NULL);
- break;
-
- case FFESTR_otherLT:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorLT, NULL);
- break;
-
- case FFESTR_otherLE:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorLE, NULL);
- break;
-
- case FFESTR_otherGT:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorGT, NULL);
- break;
-
- case FFESTR_otherGE:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorGE, NULL);
- break;
-
- default:
- for (p = ffelex_token_text (ffesta_tokens[2]); *p != '\0'; ++p)
- {
- if (! ISALPHA (*p))
- {
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1t (FFEBAD_INTERFACE_NONLETTER,
- ffesta_tokens[2]);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero);
- }
- }
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (FFESTP_definedoperatorOPERATOR,
- ffesta_tokens[2]);
- }
- break;
-
- case FFELEX_typeEQUALS:
- if (!ffestb_local_.interface.assignment
- && (ffestb_local_.interface.operator
- == FFESTP_definedoperatorASSIGNMENT))
- {
- ffebad_start (FFEBAD_INTERFACE_OPERATOR);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[1]),
- ffelex_token_where_column (ffesta_tokens[1]));
- ffebad_here (1, ffelex_token_where_line (ffesta_tokens[2]),
- ffelex_token_where_column (ffesta_tokens[2]));
- ffebad_finish ();
- }
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (ffestb_local_.interface.operator, NULL);
- break;
-
- default:
- if (!ffesta_is_inhibited ())
- ffestc_R1202 (ffestb_local_.interface.operator, NULL);
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "INTERFACE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_S3P4 -- Parse the INCLUDE line
return ffestb_S3P4; // to lexer
@@ -12092,75 +9191,6 @@ ffestb_S3P41_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_V012 -- Parse the MAP statement
-
- return ffestb_V012; // to lexer
-
- Make sure the statement has a valid form for the MAP statement. If
- it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V012 (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstMAP)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstMAP)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlMAP)
- {
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlMAP);
- goto bad_i; /* :::::::::::::::::::: */
- }
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V012 ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MAP", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid first token. */
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "MAP", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "MAP", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_V014 -- Parse the VOLATILE statement
return ffestb_V014; // to lexer
@@ -12394,344 +9424,6 @@ ffestb_V0144_ (ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_V025 -- Parse the DEFINEFILE statement
-
- return ffestb_V025; // to lexer
-
- Make sure the statement has a valid form for the DEFINEFILE statement.
- If it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V025 (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
- ffelexToken nt;
- ffelexHandler next;
-
- ffestb_local_.V025.started = FALSE;
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- switch (ffesta_first_kw)
- {
- case FFESTR_firstDEFINE:
- if ((ffelex_token_type (t) != FFELEX_typeNAME)
- || (ffesta_second_kw != FFESTR_secondFILE))
- goto bad_1; /* :::::::::::::::::::: */
- ffesta_confirmed ();
- return (ffelexHandler) ffestb_V0251_;
-
- case FFESTR_firstDEFINEFILE:
- return (ffelexHandler) ffestb_V0251_ (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstDEFINEFILE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- break;
- }
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlDEFINEFILE);
- if (ISDIGIT (*p))
- nt = ffelex_token_number_from_names (ffesta_tokens[0], i);
- else if (ffesrc_is_name_init (*p))
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- else
- goto bad_i; /* :::::::::::::::::::: */
- next = (ffelexHandler) ffestb_V0251_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0251_ -- "DEFINEFILE" or "DEFINE" "FILE"
-
- return ffestb_V0251_; // to lexer
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0251_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- case FFELEX_typeNUMBER:
- if (ffelex_token_type (ffesta_tokens[0]) == FFELEX_typeNAME)
- ffesta_confirmed ();
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEUNIT_DF, (ffeexprCallback) ffestb_V0252_)))
- (t);
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- break;
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0252_ -- "DEFINEFILE" expr
-
- (ffestb_V0252_) // to expression handler
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0252_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_local_.V025.u = expr;
- ffesta_tokens[1] = ffelex_token_use (ft);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0253_);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0253_ -- "DEFINEFILE" expr OPEN_PAREN expr
-
- (ffestb_V0253_) // to expression handler
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0253_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- ffestb_local_.V025.m = expr;
- ffesta_tokens[2] = ffelex_token_use (ft);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0254_);
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0254_ -- "DEFINEFILE" expr OPEN_PAREN expr COMMA expr
-
- (ffestb_V0254_) // to expression handler
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0254_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- ffestb_local_.V025.n = expr;
- ffesta_tokens[3] = ffelex_token_use (ft);
- return (ffelexHandler) ffestb_V0255_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0255_ -- "DEFINEFILE" expr OPEN_PAREN expr COMMA expr COMMA
-
- return ffestb_V0255_; // to lexer
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0255_ (ffelexToken t)
-{
- const char *p;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- p = ffelex_token_text (t);
- if (!ffesrc_char_match_init (*p, 'U', 'u') || (*++p != '\0'))
- break;
- return (ffelexHandler) ffestb_V0256_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffelex_token_kill (ffesta_tokens[3]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0256_ -- "DEFINEFILE" expr OPEN_PAREN expr COMMA expr COMMA "U"
-
- return ffestb_V0256_; // to lexer
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0256_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextFILEASSOC,
- (ffeexprCallback) ffestb_V0257_);
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffelex_token_kill (ffesta_tokens[3]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0257_ -- "DEFINEFILE" expr OPEN_PAREN expr COMMA expr COMMA "U"
- COMMA expr
-
- (ffestb_V0257_) // to expression handler
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0257_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- ffestb_local_.V025.asv = expr;
- ffesta_tokens[4] = ffelex_token_use (ft);
- return (ffelexHandler) ffestb_V0258_;
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffelex_token_kill (ffesta_tokens[3]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0258_ -- "DEFINEFILE" expr OPEN_PAREN expr COMMA expr COMMA "U"
- COMMA expr CLOSE_PAREN
-
- return ffestb_V0258_; // to lexer
-
- Make sure the statement has a valid form for the DEFINEFILE statement. If
- it does, implement the statement. */
-
-static ffelexHandler
-ffestb_V0258_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffestb_local_.V025.started)
- {
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V025_start ();
- ffestb_local_.V025.started = TRUE;
- }
- if (!ffesta_is_inhibited ())
- ffestc_V025_item (ffestb_local_.V025.u, ffesta_tokens[1],
- ffestb_local_.V025.m, ffesta_tokens[2],
- ffestb_local_.V025.n, ffesta_tokens[3],
- ffestb_local_.V025.asv, ffesta_tokens[4]);
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffelex_token_kill (ffesta_tokens[3]);
- ffelex_token_kill (ffesta_tokens[4]);
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEUNIT_DF, (ffeexprCallback) ffestb_V0252_);
- if (!ffesta_is_inhibited ())
- ffestc_V025_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[2]);
- ffelex_token_kill (ffesta_tokens[3]);
- ffelex_token_kill (ffesta_tokens[4]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DEFINE FILE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_subr_kill_easy_ -- Kill I/O statement data structure
ffestb_subr_kill_easy_();
@@ -13187,12 +9879,6 @@ ffestb_beru1_ (ffelexToken ft, ffebld expr, ffelexToken t)
ffestc_R921 ();
break;
-#if FFESTR_VXT
- case FFESTR_firstUNLOCK:
- ffestc_V022 ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -13549,12 +10235,6 @@ ffestb_beru10_ (ffelexToken t)
ffestc_R921 ();
break;
-#if FFESTR_VXT
- case FFESTR_firstUNLOCK:
- ffestc_V022 ();
- break;
-#endif
-
default:
assert (FALSE);
}
@@ -13571,504 +10251,6 @@ ffestb_beru10_ (ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_vxtcode -- Parse the VXT DECODE/ENCODE statement
-
- return ffestb_vxtcode; // to lexer
-
- Make sure the statement has a valid form for the VXT DECODE/ENCODE
- statement. If it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_vxtcode (ffelexToken t)
-{
- ffestpVxtcodeIx ix;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeNAME:
- case FFELEX_typeNUMBER:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- for (ix = 0; ix < FFESTP_vxtcodeix; ++ix)
- ffestp_file.vxtcode.vxtcode_spec[ix].kw_or_val_present = FALSE;
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_vxtcode1_);
- }
-
- case FFELEX_typeNAMES:
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- if (ffelex_token_length (ffesta_tokens[0])
- != ffestb_args.vxtcode.len)
- goto bad_0; /* :::::::::::::::::::: */
-
- for (ix = 0; ix < FFESTP_vxtcodeix; ++ix)
- ffestp_file.vxtcode.vxtcode_spec[ix].kw_or_val_present = FALSE;
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_vxtcode1_);
- }
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_vxtcode1_ -- "VXTCODE" OPEN_PAREN expr
-
- (ffestb_vxtcode1_) // to expression handler
-
- Handle COMMA here. */
-
-static ffelexHandler
-ffestb_vxtcode1_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].kw_or_val_present
- = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].kw_present = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].value_present = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].value_is_label
- = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].value
- = ffelex_token_use (ft);
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixC].u.expr = expr;
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEFORMAT, (ffeexprCallback) ffestb_vxtcode2_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode2_ -- "VXTCODE" OPEN_PAREN expr COMMA expr
-
- (ffestb_vxtcode2_) // to expression handler
-
- Handle COMMA here. */
-
-static ffelexHandler
-ffestb_vxtcode2_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].kw_or_val_present
- = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].kw_present = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].value_present = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].value_is_label
- = (expr == NULL);
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].value
- = ffelex_token_use (ft);
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixF].u.expr = expr;
- if (ffesta_first_kw == FFESTR_firstENCODE)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextFILEVXTCODE,
- (ffeexprCallback) ffestb_vxtcode3_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEVXTCODE,
- (ffeexprCallback) ffestb_vxtcode3_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode3_ -- "VXTCODE" OPEN_PAREN expr COMMA expr COMMA expr
-
- (ffestb_vxtcode3_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_vxtcode3_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].kw_or_val_present
- = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].kw_present = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].value_present = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].value_is_label
- = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].value
- = ffelex_token_use (ft);
- ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixB].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_vxtcode4_;
- return (ffelexHandler) ffestb_vxtcode9_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode4_ -- "VXTCODE" OPEN_PAREN ...
-
- return ffestb_vxtcode4_; // to lexer
-
- Handle NAME=expr construct here. */
-
-static ffelexHandler
-ffestb_vxtcode4_ (ffelexToken t)
-{
- ffestrGenio kw;
-
- ffestb_local_.vxtcode.label = FALSE;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- kw = ffestr_genio (t);
- switch (kw)
- {
- case FFESTR_genioERR:
- ffestb_local_.vxtcode.ix = FFESTP_vxtcodeixERR;
- ffestb_local_.vxtcode.label = TRUE;
- break;
-
- case FFESTR_genioIOSTAT:
- ffestb_local_.vxtcode.ix = FFESTP_vxtcodeixIOSTAT;
- ffestb_local_.vxtcode.left = TRUE;
- ffestb_local_.vxtcode.context = FFEEXPR_contextFILEINT;
- break;
-
- default:
- goto bad; /* :::::::::::::::::::: */
- }
- if (ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix]
- .kw_or_val_present)
- break; /* Can't specify a keyword twice! */
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix]
- .kw_or_val_present = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix]
- .kw_present = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix]
- .value_present = FALSE;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].value_is_label
- = ffestb_local_.vxtcode.label;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].kw
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_vxtcode5_;
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode5_ -- "VXTCODE" OPEN_PAREN [external-file-unit COMMA [format
- COMMA]] NAME
-
- return ffestb_vxtcode5_; // to lexer
-
- Make sure EQUALS here, send next token to expression handler. */
-
-static ffelexHandler
-ffestb_vxtcode5_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- ffesta_confirmed ();
- if (ffestb_local_.vxtcode.label)
- return (ffelexHandler) ffestb_vxtcode7_;
- if (ffestb_local_.vxtcode.left)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_local_.vxtcode.context,
- (ffeexprCallback) ffestb_vxtcode6_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- ffestb_local_.vxtcode.context,
- (ffeexprCallback) ffestb_vxtcode6_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode6_ -- "VXTCODE" OPEN_PAREN ... NAME EQUALS expr
-
- (ffestb_vxtcode6_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_vxtcode6_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].value_present
- = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].value
- = ffelex_token_use (ft);
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_vxtcode4_;
- return (ffelexHandler) ffestb_vxtcode9_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode7_ -- "VXTCODE" OPEN_PAREN ... NAME EQUALS
-
- return ffestb_vxtcode7_; // to lexer
-
- Handle NUMBER for label here. */
-
-static ffelexHandler
-ffestb_vxtcode7_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNUMBER:
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].value_present
- = TRUE;
- ffestp_file.vxtcode.vxtcode_spec[ffestb_local_.vxtcode.ix].value
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_vxtcode8_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode8_ -- "VXTCODE" OPEN_PAREN ... NAME EQUALS NUMBER
-
- return ffestb_vxtcode8_; // to lexer
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_vxtcode8_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_vxtcode4_;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_vxtcode9_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode9_ -- "VXTCODE" OPEN_PAREN ... CLOSE_PAREN
-
- return ffestb_vxtcode9_; // to lexer
-
- Handle EOS or SEMICOLON here.
-
- 07-Jun-90 JCB 1.1
- Context for ENCODE/DECODE expressions is now IOLISTDF instead of IOLIST
- since they apply to internal files. */
-
-static ffelexHandler
-ffestb_vxtcode9_ (ffelexToken t)
-{
- ffelexHandler next;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (ffesta_first_kw == FFESTR_firstENCODE)
- {
- ffestc_V023_start ();
- ffestc_V023_finish ();
- }
- else
- {
- ffestc_V024_start ();
- ffestc_V024_finish ();
- }
- }
- ffestb_subr_kill_vxtcode_ ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeNAME:
- case FFELEX_typeOPEN_PAREN:
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- if (ffesta_first_kw == FFESTR_firstENCODE)
- ffestc_V023_start ();
- else
- ffestc_V024_start ();
- ffestb_subr_kill_vxtcode_ ();
- if (ffesta_first_kw == FFESTR_firstDECODE)
- next = (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextIOLISTDF,
- (ffeexprCallback) ffestb_vxtcode10_);
- else
- next = (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextIOLISTDF,
- (ffeexprCallback) ffestb_vxtcode10_);
-
- /* EXTENSION: Allow an optional preceding COMMA here if not pedantic.
- (f2c provides this extension, as do other compilers, supposedly.) */
-
- if (!ffe_is_pedantic () && (ffelex_token_type (t) == FFELEX_typeCOMMA))
- return next;
-
- return (ffelexHandler) (*next) (t);
-
- default:
- break;
- }
-
- ffestb_subr_kill_vxtcode_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_vxtcode10_ -- "VXTCODE(...)" expr
-
- (ffestb_vxtcode10_) // to expression handler
-
- Handle COMMA or EOS/SEMICOLON here.
-
- 07-Jun-90 JCB 1.1
- Context for ENCODE/DECODE expressions is now IOLISTDF instead of IOLIST
- since they apply to internal files. */
-
-static ffelexHandler
-ffestb_vxtcode10_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- if (ffesta_first_kw == FFESTR_firstENCODE)
- ffestc_V023_item (expr, ft);
- else
- ffestc_V024_item (expr, ft);
- if (ffesta_first_kw == FFESTR_firstDECODE)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextIOLISTDF,
- (ffeexprCallback) ffestb_vxtcode10_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextIOLISTDF,
- (ffeexprCallback) ffestb_vxtcode10_);
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- {
- if (ffesta_first_kw == FFESTR_firstENCODE)
- {
- ffestc_V023_item (expr, ft);
- ffestc_V023_finish ();
- }
- else
- {
- ffestc_V024_item (expr, ft);
- ffestc_V024_finish ();
- }
- }
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- if (ffesta_first_kw == FFESTR_firstENCODE)
- ffestc_V023_finish ();
- else
- ffestc_V024_finish ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.vxtcode.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_R904 -- Parse an OPEN statement
return ffestb_R904; // to lexer
@@ -17183,728 +13365,6 @@ ffestb_R92311_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_V018 -- Parse the REWRITE statement
-
- return ffestb_V018; // to lexer
-
- Make sure the statement has a valid form for the REWRITE
- statement. If it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V018 (ffelexToken t)
-{
- ffestpRewriteIx ix;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstREWRITE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeNAME:
- case FFELEX_typeNUMBER:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- for (ix = 0; ix < FFESTP_rewriteix; ++ix)
- ffestp_file.rewrite.rewrite_spec[ix].kw_or_val_present = FALSE;
- return (ffelexHandler) ffestb_V0181_;
- }
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstREWRITE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeOPEN_PAREN:
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlREWRITE)
- goto bad_0; /* :::::::::::::::::::: */
-
- for (ix = 0; ix < FFESTP_rewriteix; ++ix)
- ffestp_file.rewrite.rewrite_spec[ix].kw_or_val_present = FALSE;
- return (ffelexHandler) ffestb_V0181_;
- }
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_V0181_ -- "REWRITE" OPEN_PAREN
-
- return ffestb_V0181_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0181_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0182_;
-
- default:
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0183_)))
- (t);
- }
-}
-
-/* ffestb_V0182_ -- "REWRITE" OPEN_PAREN NAME
-
- return ffestb_V0182_; // to lexer
-
- If EQUALS here, go to states that handle it. Else, send NAME and this
- token thru expression handler. */
-
-static ffelexHandler
-ffestb_V0182_ (ffelexToken t)
-{
- ffelexHandler next;
- ffelexToken nt;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) ffestb_V0187_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0183_)))
- (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
- }
-}
-
-/* ffestb_V0183_ -- "REWRITE" OPEN_PAREN expr [CLOSE_PAREN]
-
- (ffestb_V0183_) // to expression handler
-
- Handle COMMA or EOS/SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V0183_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].kw_or_val_present
- = TRUE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].kw_present = FALSE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].value_present = TRUE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].value_is_label
- = FALSE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].value
- = ffelex_token_use (ft);
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0184_;
- return (ffelexHandler) ffestb_V01812_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0184_ -- "REWRITE" OPEN_PAREN expr COMMA
-
- return ffestb_V0184_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0184_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0185_;
-
- default:
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEFORMAT, (ffeexprCallback) ffestb_V0186_)))
- (t);
- }
-}
-
-/* ffestb_V0185_ -- "REWRITE" OPEN_PAREN expr COMMA NAME
-
- return ffestb_V0185_; // to lexer
-
- If EQUALS here, go to states that handle it. Else, send NAME and this
- token thru expression handler. */
-
-static ffelexHandler
-ffestb_V0185_ (ffelexToken t)
-{
- ffelexHandler next;
- ffelexToken nt;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) ffestb_V0187_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEFORMAT, (ffeexprCallback) ffestb_V0186_)))
- (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
- }
-}
-
-/* ffestb_V0186_ -- "REWRITE" OPEN_PAREN expr COMMA expr
-
- (ffestb_V0186_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0186_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw_or_val_present
- = TRUE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw_present = FALSE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].value_present = TRUE;
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].value_is_label
- = (expr == NULL);
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].value
- = ffelex_token_use (ft);
- ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0187_;
- return (ffelexHandler) ffestb_V01812_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0187_ -- "REWRITE" OPEN_PAREN [external-file-unit COMMA [format
- COMMA]]
-
- return ffestb_V0187_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0187_ (ffelexToken t)
-{
- ffestrGenio kw;
-
- ffestb_local_.rewrite.label = FALSE;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- kw = ffestr_genio (t);
- switch (kw)
- {
- case FFESTR_genioERR:
- ffestb_local_.rewrite.ix = FFESTP_rewriteixERR;
- ffestb_local_.rewrite.label = TRUE;
- break;
-
- case FFESTR_genioFMT:
- ffestb_local_.rewrite.ix = FFESTP_rewriteixFMT;
- ffestb_local_.rewrite.left = FALSE;
- ffestb_local_.rewrite.context = FFEEXPR_contextFILEFORMAT;
- break;
-
- case FFESTR_genioIOSTAT:
- ffestb_local_.rewrite.ix = FFESTP_rewriteixIOSTAT;
- ffestb_local_.rewrite.left = TRUE;
- ffestb_local_.rewrite.context = FFEEXPR_contextFILEINT;
- break;
-
- case FFESTR_genioUNIT:
- ffestb_local_.rewrite.ix = FFESTP_rewriteixUNIT;
- ffestb_local_.rewrite.left = FALSE;
- ffestb_local_.rewrite.context = FFEEXPR_contextFILENUM;
- break;
-
- default:
- goto bad; /* :::::::::::::::::::: */
- }
- if (ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix]
- .kw_or_val_present)
- break; /* Can't specify a keyword twice! */
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix]
- .kw_or_val_present = TRUE;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix]
- .kw_present = TRUE;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix]
- .value_present = FALSE;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].value_is_label
- = ffestb_local_.rewrite.label;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].kw
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0188_;
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0188_ -- "REWRITE" OPEN_PAREN [external-file-unit COMMA [format
- COMMA]] NAME
-
- return ffestb_V0188_; // to lexer
-
- Make sure EQUALS here, send next token to expression handler. */
-
-static ffelexHandler
-ffestb_V0188_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- ffesta_confirmed ();
- if (ffestb_local_.rewrite.label)
- return (ffelexHandler) ffestb_V01810_;
- if (ffestb_local_.rewrite.left)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_local_.rewrite.context,
- (ffeexprCallback) ffestb_V0189_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- ffestb_local_.rewrite.context,
- (ffeexprCallback) ffestb_V0189_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0189_ -- "REWRITE" OPEN_PAREN ... NAME EQUALS expr
-
- (ffestb_V0189_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0189_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- if (ffestb_local_.rewrite.context == FFEEXPR_contextFILEFORMAT)
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix]
- .value_is_label = TRUE;
- else
- break;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].value_present
- = TRUE;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].value
- = ffelex_token_use (ft);
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0187_;
- return (ffelexHandler) ffestb_V01812_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V01810_ -- "REWRITE" OPEN_PAREN ... NAME EQUALS
-
- return ffestb_V01810_; // to lexer
-
- Handle NUMBER for label here. */
-
-static ffelexHandler
-ffestb_V01810_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNUMBER:
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].value_present
- = TRUE;
- ffestp_file.rewrite.rewrite_spec[ffestb_local_.rewrite.ix].value
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V01811_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V01811_ -- "REWRITE" OPEN_PAREN ... NAME EQUALS NUMBER
-
- return ffestb_V01811_; // to lexer
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V01811_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_V0187_;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_V01812_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V01812_ -- "REWRITE" OPEN_PAREN ... CLOSE_PAREN
-
- return ffestb_V01812_; // to lexer
-
- Handle EOS or SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V01812_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- ffestc_V018_start ();
- ffestc_V018_finish ();
- }
- ffestb_subr_kill_rewrite_ ();
- return (ffelexHandler) ffesta_zero (t);
-
- case FFELEX_typeNAME:
- case FFELEX_typeOPEN_PAREN:
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V018_start ();
- ffestb_subr_kill_rewrite_ ();
-
- /* EXTENSION: Allow an optional preceding COMMA here if not pedantic.
- (f2c provides this extension, as do other compilers, supposedly.) */
-
- if (!ffe_is_pedantic () && (ffelex_token_type (t) == FFELEX_typeCOMMA))
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextIOLIST, (ffeexprCallback) ffestb_V01813_);
-
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextIOLIST, (ffeexprCallback) ffestb_V01813_)))
- (t);
-
- default:
- break;
- }
-
- ffestb_subr_kill_rewrite_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V01813_ -- "REWRITE(...)" expr
-
- (ffestb_V01813_) // to expression handler
-
- Handle COMMA or EOS/SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V01813_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- ffestc_V018_item (expr, ft);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextIOLIST, (ffeexprCallback) ffestb_V01813_);
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- {
- ffestc_V018_item (expr, ft);
- ffestc_V018_finish ();
- }
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V018_finish ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "REWRITE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V019 -- Parse the ACCEPT statement
-
- return ffestb_V019; // to lexer
-
- Make sure the statement has a valid form for the ACCEPT
- statement. If it does, implement the statement. */
-
-ffelexHandler
-ffestb_V019 (ffelexToken t)
-{
- ffelexHandler next;
- ffestpAcceptIx ix;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstACCEPT)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeEQUALS:
- case FFELEX_typePOINTS:
- case FFELEX_typeCOLON:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeNAME:
- case FFELEX_typeNUMBER:
- ffesta_confirmed ();
- break;
-
- default:
- break;
- }
-
- for (ix = 0; ix < FFESTP_acceptix; ++ix)
- ffestp_file.accept.accept_spec[ix].kw_or_val_present = FALSE;
- return (ffelexHandler) (*((ffelexHandler)
- ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEFORMATNML, (ffeexprCallback) ffestb_V0191_)))
- (t);
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstACCEPT)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlACCEPT)
- break;
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeEQUALS:
- case FFELEX_typePOINTS:
- case FFELEX_typeCOLON:
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- break;
- }
- for (ix = 0; ix < FFESTP_acceptix; ++ix)
- ffestp_file.accept.accept_spec[ix].kw_or_val_present = FALSE;
- next = (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILEFORMATNML, (ffeexprCallback) ffestb_V0191_);
- next = (ffelexHandler) ffelex_splice_tokens (next, ffesta_tokens[0],
- FFESTR_firstlACCEPT);
- if (next == NULL)
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero);
- return (ffelexHandler) (*next) (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "ACCEPT", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "ACCEPT", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_V0191_ -- "ACCEPT" expr
-
- (ffestb_V0191_) // to expression handler
-
- Make sure the next token is a COMMA or EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_V0191_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].kw_or_val_present
- = TRUE;
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].kw_present = FALSE;
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].value_present = TRUE;
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].value_is_label
- = (expr == NULL);
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].value
- = ffelex_token_use (ft);
- ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT].u.expr = expr;
- if (!ffesta_is_inhibited ())
- ffestc_V019_start ();
- ffestb_subr_kill_accept_ ();
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextIOLIST,
- (ffeexprCallback) ffestb_V0192_);
- if (!ffesta_is_inhibited ())
- ffestc_V019_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffestb_subr_kill_accept_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "ACCEPT", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0192_ -- "ACCEPT" expr COMMA expr
-
- (ffestb_V0192_) // to expression handler
-
- Handle COMMA or EOS/SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V0192_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- ffestc_V019_item (expr, ft);
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextIOLIST,
- (ffeexprCallback) ffestb_V0192_);
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (expr == NULL)
- break;
- if (!ffesta_is_inhibited ())
- {
- ffestc_V019_item (expr, ft);
- ffestc_V019_finish ();
- }
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V019_finish ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "ACCEPT", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_V020 -- Parse the TYPE statement
return ffestb_V020; // to lexer
@@ -18107,1294 +13567,6 @@ ffestb_V0202_ (ffelexToken ft, ffebld expr, ffelexToken t)
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_V021 -- Parse a DELETE statement
-
- return ffestb_V021; // to lexer
-
- Make sure the statement has a valid form for a DELETE statement.
- If it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V021 (ffelexToken t)
-{
- ffestpDeleteIx ix;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstDELETE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstDELETE)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlDELETE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- for (ix = 0; ix < FFESTP_deleteix; ++ix)
- ffestp_file.delete.delete_spec[ix].kw_or_val_present = FALSE;
-
- return (ffelexHandler) ffestb_V0211_;
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_V0211_ -- "DELETE" OPEN_PAREN
-
- return ffestb_V0211_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0211_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0212_;
-
- default:
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0213_)))
- (t);
- }
-}
-
-/* ffestb_V0212_ -- "DELETE" OPEN_PAREN NAME
-
- return ffestb_V0212_; // to lexer
-
- If EQUALS here, go to states that handle it. Else, send NAME and this
- token thru expression handler. */
-
-static ffelexHandler
-ffestb_V0212_ (ffelexToken t)
-{
- ffelexHandler next;
- ffelexToken nt;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) ffestb_V0214_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- next = (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0213_)))
- (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) (*next) (t);
- }
-}
-
-/* ffestb_V0213_ -- "DELETE" OPEN_PAREN expr
-
- (ffestb_V0213_) // to expression handler
-
- Handle COMMA or DELETE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0213_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].kw_or_val_present
- = TRUE;
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].kw_present = FALSE;
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].value_present = TRUE;
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].value_is_label
- = FALSE;
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].value
- = ffelex_token_use (ft);
- ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0214_;
- return (ffelexHandler) ffestb_V0219_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0214_ -- "DELETE" OPEN_PAREN [external-file-unit COMMA]
-
- return ffestb_V0214_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0214_ (ffelexToken t)
-{
- ffestrGenio kw;
-
- ffestb_local_.delete.label = FALSE;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- kw = ffestr_genio (t);
- switch (kw)
- {
- case FFESTR_genioERR:
- ffestb_local_.delete.ix = FFESTP_deleteixERR;
- ffestb_local_.delete.label = TRUE;
- break;
-
- case FFESTR_genioIOSTAT:
- ffestb_local_.delete.ix = FFESTP_deleteixIOSTAT;
- ffestb_local_.delete.left = TRUE;
- ffestb_local_.delete.context = FFEEXPR_contextFILEINT;
- break;
-
- case FFESTR_genioREC:
- ffestb_local_.delete.ix = FFESTP_deleteixREC;
- ffestb_local_.delete.left = FALSE;
- ffestb_local_.delete.context = FFEEXPR_contextFILENUM;
- break;
-
- case FFESTR_genioUNIT:
- ffestb_local_.delete.ix = FFESTP_deleteixUNIT;
- ffestb_local_.delete.left = FALSE;
- ffestb_local_.delete.context = FFEEXPR_contextFILENUM;
- break;
-
- default:
- goto bad; /* :::::::::::::::::::: */
- }
- if (ffestp_file.delete.delete_spec[ffestb_local_.delete.ix]
- .kw_or_val_present)
- break; /* Can't specify a keyword twice! */
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix]
- .kw_or_val_present = TRUE;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix]
- .kw_present = TRUE;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix]
- .value_present = FALSE;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].value_is_label
- = ffestb_local_.delete.label;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].kw
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0215_;
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0215_ -- "DELETE" OPEN_PAREN [external-file-unit COMMA] NAME
-
- return ffestb_V0215_; // to lexer
-
- Make sure EQUALS here, send next token to expression handler. */
-
-static ffelexHandler
-ffestb_V0215_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- ffesta_confirmed ();
- if (ffestb_local_.delete.label)
- return (ffelexHandler) ffestb_V0217_;
- if (ffestb_local_.delete.left)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_local_.delete.context,
- (ffeexprCallback) ffestb_V0216_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- ffestb_local_.delete.context, (ffeexprCallback) ffestb_V0216_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0216_ -- "DELETE" OPEN_PAREN ... NAME EQUALS expr
-
- (ffestb_V0216_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0216_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].value_present
- = TRUE;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].value
- = ffelex_token_use (ft);
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0214_;
- return (ffelexHandler) ffestb_V0219_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0217_ -- "DELETE" OPEN_PAREN ... NAME EQUALS
-
- return ffestb_V0217_; // to lexer
-
- Handle NUMBER for label here. */
-
-static ffelexHandler
-ffestb_V0217_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNUMBER:
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].value_present
- = TRUE;
- ffestp_file.delete.delete_spec[ffestb_local_.delete.ix].value
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0218_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0218_ -- "DELETE" OPEN_PAREN ... NAME EQUALS NUMBER
-
- return ffestb_V0218_; // to lexer
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0218_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_V0214_;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_V0219_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0219_ -- "DELETE" OPEN_PAREN ... CLOSE_PAREN
-
- return ffestb_V0219_; // to lexer
-
- Handle EOS or SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V0219_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V021 ();
- ffestb_subr_kill_delete_ ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffestb_subr_kill_delete_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "DELETE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V026 -- Parse a FIND statement
-
- return ffestb_V026; // to lexer
-
- Make sure the statement has a valid form for a FIND statement.
- If it does, implement the statement. */
-
-ffelexHandler
-ffestb_V026 (ffelexToken t)
-{
- ffestpFindIx ix;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstFIND)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstFIND)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlFIND)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- for (ix = 0; ix < FFESTP_findix; ++ix)
- ffestp_file.find.find_spec[ix].kw_or_val_present = FALSE;
-
- return (ffelexHandler) ffestb_V0261_;
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_V0261_ -- "FIND" OPEN_PAREN
-
- return ffestb_V0261_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0261_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0262_;
-
- default:
- return (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0263_)))
- (t);
- }
-}
-
-/* ffestb_V0262_ -- "FIND" OPEN_PAREN NAME
-
- return ffestb_V0262_; // to lexer
-
- If EQUALS here, go to states that handle it. Else, send NAME and this
- token thru expression handler. */
-
-static ffelexHandler
-ffestb_V0262_ (ffelexToken t)
-{
- ffelexHandler next;
- ffelexToken nt;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- nt = ffesta_tokens[1];
- next = (ffelexHandler) ffestb_V0264_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- next = (ffelexHandler) (*((ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextFILENUM, (ffeexprCallback) ffestb_V0263_)))
- (ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) (*next) (t);
- }
-}
-
-/* ffestb_V0263_ -- "FIND" OPEN_PAREN expr
-
- (ffestb_V0263_) // to expression handler
-
- Handle COMMA or FIND_PAREN here. */
-
-static ffelexHandler
-ffestb_V0263_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.find.find_spec[FFESTP_findixUNIT].kw_or_val_present
- = TRUE;
- ffestp_file.find.find_spec[FFESTP_findixUNIT].kw_present = FALSE;
- ffestp_file.find.find_spec[FFESTP_findixUNIT].value_present = TRUE;
- ffestp_file.find.find_spec[FFESTP_findixUNIT].value_is_label
- = FALSE;
- ffestp_file.find.find_spec[FFESTP_findixUNIT].value
- = ffelex_token_use (ft);
- ffestp_file.find.find_spec[FFESTP_findixUNIT].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0264_;
- return (ffelexHandler) ffestb_V0269_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0264_ -- "FIND" OPEN_PAREN [external-file-unit COMMA]
-
- return ffestb_V0264_; // to lexer
-
- Handle expr construct (not NAME=expr construct) here. */
-
-static ffelexHandler
-ffestb_V0264_ (ffelexToken t)
-{
- ffestrGenio kw;
-
- ffestb_local_.find.label = FALSE;
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- kw = ffestr_genio (t);
- switch (kw)
- {
- case FFESTR_genioERR:
- ffestb_local_.find.ix = FFESTP_findixERR;
- ffestb_local_.find.label = TRUE;
- break;
-
- case FFESTR_genioIOSTAT:
- ffestb_local_.find.ix = FFESTP_findixIOSTAT;
- ffestb_local_.find.left = TRUE;
- ffestb_local_.find.context = FFEEXPR_contextFILEINT;
- break;
-
- case FFESTR_genioREC:
- ffestb_local_.find.ix = FFESTP_findixREC;
- ffestb_local_.find.left = FALSE;
- ffestb_local_.find.context = FFEEXPR_contextFILENUM;
- break;
-
- case FFESTR_genioUNIT:
- ffestb_local_.find.ix = FFESTP_findixUNIT;
- ffestb_local_.find.left = FALSE;
- ffestb_local_.find.context = FFEEXPR_contextFILENUM;
- break;
-
- default:
- goto bad; /* :::::::::::::::::::: */
- }
- if (ffestp_file.find.find_spec[ffestb_local_.find.ix]
- .kw_or_val_present)
- break; /* Can't specify a keyword twice! */
- ffestp_file.find.find_spec[ffestb_local_.find.ix]
- .kw_or_val_present = TRUE;
- ffestp_file.find.find_spec[ffestb_local_.find.ix]
- .kw_present = TRUE;
- ffestp_file.find.find_spec[ffestb_local_.find.ix]
- .value_present = FALSE;
- ffestp_file.find.find_spec[ffestb_local_.find.ix].value_is_label
- = ffestb_local_.find.label;
- ffestp_file.find.find_spec[ffestb_local_.find.ix].kw
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0265_;
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0265_ -- "FIND" OPEN_PAREN [external-file-unit COMMA] NAME
-
- return ffestb_V0265_; // to lexer
-
- Make sure EQUALS here, send next token to expression handler. */
-
-static ffelexHandler
-ffestb_V0265_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEQUALS:
- ffesta_confirmed ();
- if (ffestb_local_.find.label)
- return (ffelexHandler) ffestb_V0267_;
- if (ffestb_local_.find.left)
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- ffestb_local_.find.context,
- (ffeexprCallback) ffestb_V0266_);
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- ffestb_local_.find.context,
- (ffeexprCallback) ffestb_V0266_);
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0266_ -- "FIND" OPEN_PAREN ... NAME EQUALS expr
-
- (ffestb_V0266_) // to expression handler
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0266_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestp_file.find.find_spec[ffestb_local_.find.ix].value_present
- = TRUE;
- ffestp_file.find.find_spec[ffestb_local_.find.ix].value
- = ffelex_token_use (ft);
- ffestp_file.find.find_spec[ffestb_local_.find.ix].u.expr = expr;
- if (ffelex_token_type (t) == FFELEX_typeCOMMA)
- return (ffelexHandler) ffestb_V0264_;
- return (ffelexHandler) ffestb_V0269_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0267_ -- "FIND" OPEN_PAREN ... NAME EQUALS
-
- return ffestb_V0267_; // to lexer
-
- Handle NUMBER for label here. */
-
-static ffelexHandler
-ffestb_V0267_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNUMBER:
- ffestp_file.find.find_spec[ffestb_local_.find.ix].value_present
- = TRUE;
- ffestp_file.find.find_spec[ffestb_local_.find.ix].value
- = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0268_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0268_ -- "FIND" OPEN_PAREN ... NAME EQUALS NUMBER
-
- return ffestb_V0268_; // to lexer
-
- Handle COMMA or CLOSE_PAREN here. */
-
-static ffelexHandler
-ffestb_V0268_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- return (ffelexHandler) ffestb_V0264_;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_V0269_;
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0269_ -- "FIND" OPEN_PAREN ... CLOSE_PAREN
-
- return ffestb_V0269_; // to lexer
-
- Handle EOS or SEMICOLON here. */
-
-static ffelexHandler
-ffestb_V0269_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V026 ();
- ffestb_subr_kill_find_ ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffestb_subr_kill_find_ ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FIND", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_dimlist -- Parse the ALLOCATABLE/POINTER/TARGET statement
-
- return ffestb_dimlist; // to lexer
-
- Make sure the statement has a valid form for the ALLOCATABLE/POINTER/
- TARGET statement. If it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_dimlist (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
- ffelexToken nt;
- ffelexHandler next;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffestb_local_.dimlist.started = TRUE;
- return (ffelexHandler) ffestb_dimlist1_;
-
- case FFELEX_typeNAME:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffestb_local_.dimlist.started = TRUE;
- return (ffelexHandler) ffestb_dimlist1_ (t);
- }
-
- case FFELEX_typeNAMES:
- p = ffelex_token_text (ffesta_tokens[0]) + (i = ffestb_args.dimlist.len);
- switch (ffelex_token_type (t))
- {
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffestb_local_.dimlist.started = TRUE;
- next = (ffelexHandler) ffestb_dimlist1_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed ();
- if (*p != '\0')
- goto bad_i; /* :::::::::::::::::::: */
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffestb_local_.dimlist.started = TRUE;
- return (ffelexHandler) ffestb_dimlist1_;
-
- case FFELEX_typeOPEN_PAREN:
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- ffestb_local_.dimlist.started = FALSE;
- next = (ffelexHandler) ffestb_dimlist1_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
- }
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_dimlist1_ -- "ALLOCATABLE/POINTER/TARGET" [COLONCOLON]
-
- return ffestb_dimlist1_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_dimlist1_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_dimlist2_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_dimlist2_ -- "ALLOCATABLE/POINTER/TARGET" ... NAME
-
- return ffestb_dimlist2_; // to lexer
-
- Handle OPEN_PAREN. */
-
-static ffelexHandler
-ffestb_dimlist2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_subrargs_.dim_list.dims = ffestt_dimlist_create ();
- ffestb_subrargs_.dim_list.handler = (ffelexHandler) ffestb_dimlist3_;
- ffestb_subrargs_.dim_list.pool = ffesta_output_pool;
- ffestb_subrargs_.dim_list.ctx = FFEEXPR_contextDIMLIST;
-#ifdef FFECOM_dimensionsMAX
- ffestb_subrargs_.dim_list.ndims = 0;
-#endif
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextDIMLIST, (ffeexprCallback) ffestb_subr_dimlist_);
-
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.dimlist.started)
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- ffestb_local_.dimlist.started = TRUE;
- }
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_item (ffesta_tokens[1], NULL);
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_item (ffesta_tokens[1], NULL);
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_item (ffesta_tokens[1], NULL);
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_dimlist4_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.dimlist.started)
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_item (ffesta_tokens[1], NULL);
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_item (ffesta_tokens[1], NULL);
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_item (ffesta_tokens[1], NULL);
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_dimlist3_ -- "ALLOCATABLE/POINTER/TARGET" ... NAME OPEN_PAREN
- dimlist CLOSE_PAREN
-
- return ffestb_dimlist3_; // to lexer
-
- Handle COMMA or EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_dimlist3_ (ffelexToken t)
-{
- if (!ffestb_subrargs_.dim_list.ok)
- goto bad; /* :::::::::::::::::::: */
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.dimlist.started)
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- ffestb_local_.dimlist.started = TRUE;
- }
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffestb_dimlist4_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.dimlist.started)
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_start ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_start ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_start ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, t);
- if (ffestb_local_.dimlist.started && !ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_dimlist4_ -- "ALLOCATABLE/POINTER/TARGET" ... COMMA
-
- return ffestb_dimlist4_; // to lexer
-
- Make sure we don't have EOS or SEMICOLON. */
-
-static ffelexHandler
-ffestb_dimlist4_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- switch (ffesta_first_kw)
- {
- case FFESTR_firstALLOCATABLE:
- ffestc_R525_finish ();
- break;
-
- case FFESTR_firstPOINTER:
- ffestc_R526_finish ();
- break;
-
- case FFESTR_firstTARGET:
- ffestc_R527_finish ();
- break;
-
- default:
- assert (FALSE);
- }
- }
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, ffestb_args.dimlist.badname, t);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- return (ffelexHandler) ffestb_dimlist1_ (t);
- }
-}
-
-#endif
/* ffestb_dummy -- Parse an ENTRY/FUNCTION/SUBROUTINE statement
return ffestb_dummy; // to lexer
@@ -20220,146 +14392,6 @@ ffestb_R5477_ (ffelexToken t)
}
}
-/* ffestb_R624 -- Parse a NULLIFY statement
-
- return ffestb_R624; // to lexer
-
- Make sure the statement has a valid form for a NULLIFY
- statement. If it does, implement the statement.
-
- 31-May-90 JCB 2.0
- Rewrite to produce a list of expressions rather than just names; this
- eases semantic checking, putting it in expression handling where that
- kind of thing gets done anyway, and makes it easier to support more
- flexible extensions to Fortran 90 like NULLIFY(FOO%BAR). */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_R624 (ffelexToken t)
-{
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstNULLIFY)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstNULLIFY)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlNULLIFY)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeNAME:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- ffestb_local_.R624.exprs = ffestt_exprlist_create ();
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextNULLIFY,
- (ffeexprCallback) ffestb_R6241_);
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "NULLIFY", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "NULLIFY", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-/* ffestb_R6241_ -- "NULLIFY" OPEN_PAREN expr
-
- return ffestb_R6241_; // to lexer
-
- Make sure the statement has a valid form for a NULLIFY statement. If it
- does, implement the statement.
-
- 31-May-90 JCB 2.0
- Rewrite to produce a list of expressions rather than just names; this
- eases semantic checking, putting it in expression handling where that
- kind of thing gets done anyway, and makes it easier to support more
- flexible extensions to Fortran 90 like NULLIFY(FOO%BAR). */
-
-static ffelexHandler
-ffestb_R6241_ (ffelexToken ft, ffebld expr, ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- if (expr == NULL)
- break;
- ffestt_exprlist_append (ffestb_local_.R624.exprs, expr,
- ffelex_token_use (t));
- return (ffelexHandler) ffestb_R6242_;
-
- case FFELEX_typeCOMMA:
- if (expr == NULL)
- break;
- ffestt_exprlist_append (ffestb_local_.R624.exprs, expr,
- ffelex_token_use (t));
- return (ffelexHandler) ffeexpr_lhs (ffesta_output_pool,
- FFEEXPR_contextNULLIFY,
- (ffeexprCallback) ffestb_R6241_);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "NULLIFY", t);
- ffestt_exprlist_kill (ffestb_local_.R624.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_R6242_ -- "NULLIFY" OPEN_PAREN expr-list CLOSE_PAREN
-
- return ffestb_R6242_; // to lexer
-
- Make sure the statement has a valid form for a NULLIFY statement. If it
- does, implement the statement. */
-
-static ffelexHandler
-ffestb_R6242_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_R624 (ffestb_local_.R624.exprs);
- ffestt_exprlist_kill (ffestb_local_.R624.exprs);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "NULLIFY", t);
- ffestt_exprlist_kill (ffestb_local_.R624.exprs);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_R1229 -- Parse a STMTFUNCTION statement
return ffestb_R1229; // to lexer
@@ -21004,496 +15036,6 @@ bad_i: /* :::::::::::::::::::: */
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_decl_recursive -- Parse the RECURSIVE FUNCTION statement
-
- return ffestb_decl_recursive; // to lexer
-
- Make sure the statement has a valid form for the RECURSIVE FUNCTION
- statement. If it does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_decl_recursive (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
- ffelexToken nt;
- ffelexToken ot;
- ffelexHandler next;
- bool needfunc;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstRECURSIVE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeNAME:
- break;
- }
- ffesta_confirmed ();
- ffestb_local_.decl.recursive = ffelex_token_use (ffesta_tokens[0]);
- switch (ffesta_second_kw)
- {
- case FFESTR_secondINTEGER:
- ffestb_local_.decl.type = FFESTP_typeINTEGER;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondBYTE:
- ffestb_local_.decl.type = FFESTP_typeBYTE;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondWORD:
- ffestb_local_.decl.type = FFESTP_typeWORD;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondREAL:
- ffestb_local_.decl.type = FFESTP_typeREAL;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondCOMPLEX:
- ffestb_local_.decl.type = FFESTP_typeCOMPLEX;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondLOGICAL:
- ffestb_local_.decl.type = FFESTP_typeLOGICAL;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondCHARACTER:
- ffestb_local_.decl.type = FFESTP_typeCHARACTER;
- return (ffelexHandler) ffestb_decl_recursive1_;
-
- case FFESTR_secondDOUBLE:
- return (ffelexHandler) ffestb_decl_recursive2_;
-
- case FFESTR_secondDOUBLEPRECISION:
- ffestb_local_.decl.type = FFESTP_typeDBLPRCSN;
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_func_;
-
- case FFESTR_secondDOUBLECOMPLEX:
- ffestb_local_.decl.type = FFESTP_typeDBLCMPLX;
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_func_;
-
- case FFESTR_secondTYPE:
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- return (ffelexHandler) ffestb_decl_recursive3_;
-
- case FFESTR_secondFUNCTION:
- ffestb_local_.dummy.first_kw = FFESTR_firstFUNCTION;
- ffestb_local_.dummy.badname = "FUNCTION";
- ffestb_local_.dummy.is_subr = FALSE;
- return (ffelexHandler) ffestb_decl_recursive4_;
-
- case FFESTR_secondSUBROUTINE:
- ffestb_local_.dummy.first_kw = FFESTR_firstSUBROUTINE;
- ffestb_local_.dummy.badname = "SUBROUTINE";
- ffestb_local_.dummy.is_subr = TRUE;
- return (ffelexHandler) ffestb_decl_recursive4_;
-
- default:
- ffelex_token_kill (ffestb_local_.decl.recursive);
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstRECURSIVE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeASTERISK:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeEOS:
- ffesta_confirmed ();
- break;
-
- default:
- break;
- }
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlRECURSIVE);
- if (!ffesrc_is_name_init (*p))
- goto bad_0; /* :::::::::::::::::::: */
- ffestb_local_.decl.recursive
- = ffelex_token_name_from_names (ffesta_tokens[0], 0,
- FFESTR_firstlRECURSIVE);
- nt = ffelex_token_names_from_names (ffesta_tokens[0],
- FFESTR_firstlRECURSIVE, 0);
- switch (ffestr_first (nt))
- {
- case FFESTR_firstINTGR:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlINTGR);
- ffestb_local_.decl.type = FFESTP_typeINTEGER;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstBYTE:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlBYTE);
- ffestb_local_.decl.type = FFESTP_typeBYTE;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstWORD:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlWORD);
- ffestb_local_.decl.type = FFESTP_typeWORD;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstREAL:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlREAL);
- ffestb_local_.decl.type = FFESTP_typeREAL;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstCMPLX:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlCMPLX);
- ffestb_local_.decl.type = FFESTP_typeCOMPLEX;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstLGCL:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlLGCL);
- ffestb_local_.decl.type = FFESTP_typeLOGICAL;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstCHRCTR:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlCHRCTR);
- ffestb_local_.decl.type = FFESTP_typeCHARACTER;
- needfunc = FALSE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstDBLPRCSN:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlDBLPRCSN);
- ffestb_local_.decl.type = FFESTP_typeDBLPRCSN;
- needfunc = TRUE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstDBLCMPLX:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlDBLCMPLX);
- ffestb_local_.decl.type = FFESTP_typeDBLCMPLX;
- needfunc = TRUE;
- goto typefunc; /* :::::::::::::::::::: */
-
- case FFESTR_firstTYPE:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlTYPE);
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- next = (ffelexHandler) ffestb_decl_recursive3_;
- break;
-
- case FFESTR_firstFUNCTION:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlFUNCTION);
- ffestb_local_.dummy.first_kw = FFESTR_firstFUNCTION;
- ffestb_local_.dummy.badname = "FUNCTION";
- ffestb_local_.dummy.is_subr = FALSE;
- next = (ffelexHandler) ffestb_decl_recursive4_;
- break;
-
- case FFESTR_firstSUBROUTINE:
- p = ffelex_token_text (nt) + (i = FFESTR_firstlSUBROUTINE);
- ffestb_local_.dummy.first_kw = FFESTR_firstSUBROUTINE;
- ffestb_local_.dummy.badname = "SUBROUTINE";
- ffestb_local_.dummy.is_subr = TRUE;
- next = (ffelexHandler) ffestb_decl_recursive4_;
- break;
-
- default:
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffelex_token_kill (nt);
- goto bad_1; /* :::::::::::::::::::: */
- }
- if (*p == '\0')
- {
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
- }
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ot = ffelex_token_name_from_names (nt, i, 0);
- ffelex_token_kill (nt);
- next = (ffelexHandler) (*next) (ot);
- ffelex_token_kill (ot);
- return (ffelexHandler) (*next) (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-typefunc: /* :::::::::::::::::::: */
- if (*p == '\0')
- {
- ffelex_token_kill (nt);
- if (needfunc) /* DOUBLE PRECISION or DOUBLE COMPLEX? */
- {
- ffelex_token_kill (ffestb_local_.decl.recursive);
- goto bad_1; /* :::::::::::::::::::: */
- }
- return (ffelexHandler) ffestb_decl_recursive1_ (t);
- }
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ot = ffelex_token_names_from_names (nt, i, 0);
- ffelex_token_kill (nt);
- if (ffestr_first (ot) != FFESTR_firstFUNCTION)
- goto bad_o; /* :::::::::::::::::::: */
- p = ffelex_token_text (ot) + (i = FFESTR_firstlFUNCTION);
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ffesta_tokens[1] = ffelex_token_name_from_names (ot, i, 0);
- ffelex_token_kill (ot);
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_funcname_1_ (t);
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "type-declaration", nt, i, t);
- ffelex_token_kill (nt);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_o: /* :::::::::::::::::::: */
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", ot);
- ffelex_token_kill (ot);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_recursive1_ -- "RECURSIVE" generic-type
-
- return ffestb_decl_recursive1_; // to lexer
-
- Handle ASTERISK, OPEN_PAREN, or NAME. */
-
-static ffelexHandler
-ffestb_decl_recursive1_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeASTERISK:
- ffesta_confirmed ();
- ffestb_local_.decl.handler = (ffelexHandler) ffestb_decl_func_;
- ffestb_local_.decl.badname = "TYPEFUNC";
- if (ffestb_local_.decl.type == FFESTP_typeCHARACTER)
- return (ffelexHandler) ffestb_decl_starlen_;
- return (ffelexHandler) ffestb_decl_starkind_;
-
- case FFELEX_typeOPEN_PAREN:
- ffestb_local_.decl.handler = (ffelexHandler) ffestb_decl_func_;
- ffestb_local_.decl.badname = "TYPEFUNC";
- if (ffestb_local_.decl.type == FFESTP_typeCHARACTER)
- {
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_typeparams_;
- }
- return (ffelexHandler) ffestb_decl_kindparam_;
-
- case FFELEX_typeNAME:
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_func_ (t);
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_recursive2_ -- "RECURSIVE" "DOUBLE"
-
- return ffestb_decl_recursive2_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_decl_recursive2_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- switch (ffestr_second (t))
- {
- case FFESTR_secondPRECISION:
- ffestb_local_.decl.type = FFESTP_typeDBLPRCSN;
- break;
-
- case FFESTR_secondCOMPLEX:
- ffestb_local_.decl.type = FFESTP_typeDBLCMPLX;
- break;
-
- default:
- goto bad; /* :::::::::::::::::::: */
- }
- ffestb_local_.decl.kind = NULL;
- ffestb_local_.decl.kindt = NULL;
- ffestb_local_.decl.len = NULL;
- ffestb_local_.decl.lent = NULL;
- return (ffelexHandler) ffestb_decl_func_;
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_recursive3_ -- "RECURSIVE" "TYPE"
-
- return ffestb_decl_recursive3_; // to lexer
-
- Handle OPEN_PAREN. */
-
-static ffelexHandler
-ffestb_decl_recursive3_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_local_.decl.handler = (ffelexHandler) ffestb_decl_func_;
- ffestb_local_.decl.badname = "TYPEFUNC";
- return (ffelexHandler) ffestb_decl_typetype1_;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_recursive4_ -- "RECURSIVE" "FUNCTION/SUBROUTINE"
-
- return ffestb_decl_recursive4_; // to lexer
-
- Handle OPEN_PAREN. */
-
-static ffelexHandler
-ffestb_decl_recursive4_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_dummy1_;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
-/* ffestb_decl_typetype -- Parse the R426/R501/R1219 TYPE statement
-
- return ffestb_decl_typetype; // to lexer
-
- Make sure the statement has a valid form for the TYPE statement. If it
- does, implement the statement. */
-
-#if FFESTR_F90
-ffelexHandler
-ffestb_decl_typetype (ffelexToken t)
-{
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstTYPE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstTYPE)
- goto bad_0; /* :::::::::::::::::::: */
- if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlTYPE)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- break;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOLONCOLON:/* Not COMMA: R424 "TYPE,PUBLIC::A". */
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
- }
-
- ffestb_local_.decl.recursive = NULL;
- ffestb_local_.decl.parameter = FALSE; /* No PARAMETER attribute seen. */
- ffestb_local_.decl.coloncolon = FALSE; /* No COLONCOLON seen. */
-
- ffestb_local_.decl.handler = (ffelexHandler) ffestb_decl_attrsp_;
- ffestb_local_.decl.badname = "type-declaration";
- return (ffelexHandler) ffestb_decl_typetype1_;
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "type-declaration", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "type-declaration", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-}
-
-#endif
/* ffestb_decl_attrs_ -- "type" [type parameters] COMMA
return ffestb_decl_attrs_; // to lexer
@@ -21508,14 +15050,6 @@ ffestb_decl_attrs_ (ffelexToken t)
case FFELEX_typeNAME:
switch (ffestr_first (t))
{
-#if FFESTR_F90
- case FFESTR_firstALLOCATABLE:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribALLOCATABLE, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-#endif
-
case FFESTR_firstDIMENSION:
ffesta_tokens[1] = ffelex_token_use (t);
return (ffelexHandler) ffestb_decl_attrs_1_;
@@ -21526,26 +15060,12 @@ ffestb_decl_attrs_ (ffelexToken t)
FFESTR_otherNone, NULL);
return (ffelexHandler) ffestb_decl_attrs_7_;
-#if FFESTR_F90
- case FFESTR_firstINTENT:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_decl_attrs_3_;
-#endif
-
case FFESTR_firstINTRINSIC:
if (!ffesta_is_inhibited ())
ffestc_decl_attrib (FFESTP_attribINTRINSIC, t,
FFESTR_otherNone, NULL);
return (ffelexHandler) ffestb_decl_attrs_7_;
-#if FFESTR_F90
- case FFESTR_firstOPTIONAL:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribOPTIONAL, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-#endif
-
case FFESTR_firstPARAMETER:
ffestb_local_.decl.parameter = TRUE;
if (!ffesta_is_inhibited ())
@@ -21553,42 +15073,12 @@ ffestb_decl_attrs_ (ffelexToken t)
FFESTR_otherNone, NULL);
return (ffelexHandler) ffestb_decl_attrs_7_;
-#if FFESTR_F90
- case FFESTR_firstPOINTER:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribPOINTER, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-#endif
-
-#if FFESTR_F90
- case FFESTR_firstPRIVATE:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribPRIVATE, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-
- case FFESTR_firstPUBLIC:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribPUBLIC, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-#endif
-
case FFESTR_firstSAVE:
if (!ffesta_is_inhibited ())
ffestc_decl_attrib (FFESTP_attribSAVE, t,
FFESTR_otherNone, NULL);
return (ffelexHandler) ffestb_decl_attrs_7_;
-#if FFESTR_F90
- case FFESTR_firstTARGET:
- if (!ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribTARGET, t,
- FFESTR_otherNone, NULL);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-#endif
-
default:
ffesta_ffebad_1t (FFEBAD_INVALID_TYPEDECL_ATTR, t);
return (ffelexHandler) ffestb_decl_attrs_7_;
@@ -21683,155 +15173,6 @@ bad: /* :::::::::::::::::::: */
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_decl_attrs_3_ -- "type" [type parameters] ",INTENT"
-
- return ffestb_decl_attrs_3_; // to lexer
-
- Handle OPEN_PAREN. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_decl_attrs_3_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- return (ffelexHandler) ffestb_decl_attrs_4_;
-
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_ffebad_1t (FFEBAD_INVALID_TYPEDECL_ATTR, ffesta_tokens[1]);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_decl_attrs_7_ (t);
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_decl_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1t (FFEBAD_INVALID_TYPEDECL_ATTR, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_attrs_4_ -- "type" [type parameters] ",INTENT" OPEN_PAREN
-
- return ffestb_decl_attrs_4_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_decl_attrs_4_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffestb_local_.decl.kw = ffestr_other (t);
- switch (ffestb_local_.decl.kw)
- {
- case FFESTR_otherIN:
- return (ffelexHandler) ffestb_decl_attrs_5_;
-
- case FFESTR_otherINOUT:
- return (ffelexHandler) ffestb_decl_attrs_6_;
-
- case FFESTR_otherOUT:
- return (ffelexHandler) ffestb_decl_attrs_6_;
-
- default:
- ffestb_local_.decl.kw = FFESTR_otherNone;
- ffesta_ffebad_1t (FFEBAD_INVALID_TYPEDECL_ATTR, t);
- return (ffelexHandler) ffestb_decl_attrs_5_;
- }
- break;
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_decl_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "type-declaration", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_attrs_5_ -- "type" [type parameters] ",INTENT" OPEN_PAREN "IN"
-
- return ffestb_decl_attrs_5_; // to lexer
-
- Handle NAME or CLOSE_PAREN. */
-
-static ffelexHandler
-ffestb_decl_attrs_5_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- switch (ffestr_other (t))
- {
- case FFESTR_otherOUT:
- if (ffestb_local_.decl.kw != FFESTR_otherNone)
- ffestb_local_.decl.kw = FFESTR_otherINOUT;
- return (ffelexHandler) ffestb_decl_attrs_6_;
-
- default:
- if (ffestb_local_.decl.kw != FFESTR_otherNone)
- {
- ffestb_local_.decl.kw = FFESTR_otherNone;
- ffesta_ffebad_1t (FFEBAD_INVALID_TYPEDECL_ATTR, t);
- }
- return (ffelexHandler) ffestb_decl_attrs_5_;
- }
- break;
-
- case FFELEX_typeCLOSE_PAREN:
- return (ffelexHandler) ffestb_decl_attrs_6_ (t);
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_decl_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "type-declaration", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_decl_attrs_6_ -- "type" [type parameters] ",INTENT" OPEN_PAREN "IN"
- ["OUT"]
-
- return ffestb_decl_attrs_6_; // to lexer
-
- Handle CLOSE_PAREN. */
-
-static ffelexHandler
-ffestb_decl_attrs_6_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCLOSE_PAREN:
- if ((ffestb_local_.decl.kw != FFESTR_otherNone)
- && !ffesta_is_inhibited ())
- ffestc_decl_attrib (FFESTP_attribINTENT, ffesta_tokens[1],
- ffestb_local_.decl.kw, NULL);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_decl_attrs_7_;
-
- default:
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_decl_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "type-declaration", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_decl_attrs_7_ -- "type" [type parameters] attribute
return ffestb_decl_attrs_7_; // to lexer
@@ -22616,17 +15957,6 @@ ffestb_decl_entsp_1_ (ffelexToken t)
case FFELEX_typeNAME:
switch (ffestr_first (ffesta_tokens[1]))
{
-#if FFESTR_F90
- case FFESTR_firstRECURSIVE:
- if (ffestr_first (t) != FFESTR_firstFUNCTION)
- {
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- break;
- }
- ffestb_local_.decl.recursive = ffesta_tokens[1];
- return (ffelexHandler) ffestb_decl_funcname_;
-#endif
-
case FFESTR_firstFUNCTION:
ffelex_token_kill (ffesta_tokens[1]);
return (ffelexHandler) ffestb_decl_funcname_ (t);
@@ -22702,23 +16032,6 @@ ffestb_decl_entsp_2_ (ffelexToken t)
}
switch (ffestr_first (ffesta_tokens[1]))
{
-#if FFESTR_F90
- case FFESTR_firstRECURSIVEFNCTN:
- if (!asterisk_ok)
- break; /* For our own convenience, treat as non-FN
- stmt. */
- p = ffelex_token_text (ffesta_tokens[1])
- + (i = FFESTR_firstlRECURSIVEFNCTN);
- if (!ffesrc_is_name_init (*p))
- break;
- ffestb_local_.decl.recursive
- = ffelex_token_name_from_names (ffesta_tokens[1], 0,
- FFESTR_firstlRECURSIVEFNCTN);
- ffesta_tokens[2] = ffelex_token_name_from_names (ffesta_tokens[1],
- FFESTR_firstlRECURSIVEFNCTN, 0);
- return (ffelexHandler) ffestb_decl_entsp_3_;
-#endif
-
case FFESTR_firstFUNCTION:
if (!asterisk_ok)
break; /* For our own convenience, treat as non-FN
@@ -22741,20 +16054,6 @@ ffestb_decl_entsp_2_ (ffelexToken t)
ffestb_local_.decl.aster_after = FALSE;
switch (ffestr_first (ffesta_tokens[1]))
{
-#if FFESTR_F90
- case FFESTR_firstRECURSIVEFNCTN:
- p = ffelex_token_text (ffesta_tokens[1])
- + (i = FFESTR_firstlRECURSIVEFNCTN);
- if (!ffesrc_is_name_init (*p))
- break;
- ffestb_local_.decl.recursive
- = ffelex_token_name_from_names (ffesta_tokens[1], 0,
- FFESTR_firstlRECURSIVEFNCTN);
- ffesta_tokens[2] = ffelex_token_name_from_names (ffesta_tokens[1],
- FFESTR_firstlRECURSIVEFNCTN, 0);
- return (ffelexHandler) ffestb_decl_entsp_5_ (t);
-#endif
-
case FFESTR_firstFUNCTION:
p = ffelex_token_text (ffesta_tokens[1])
+ (i = FFESTR_firstlFUNCTION);
@@ -23091,65 +16390,6 @@ ffestb_decl_entsp_8_ (ffelexToken t)
return (ffelexHandler) (*next) (t);
}
-/* ffestb_decl_func_ -- ["type" [type parameters]] RECURSIVE
-
- return ffestb_decl_func_; // to lexer
-
- Handle "FUNCTION". */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_decl_func_ (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- ffelex_set_names (FALSE);
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- if (ffestr_first (t) != FFESTR_firstFUNCTION)
- break;
- return (ffelexHandler) ffestb_decl_funcname_;
-
- case FFELEX_typeNAMES:
- ffesta_confirmed ();
- if (ffestr_first (t) != FFESTR_firstFUNCTION)
- break;
- p = ffelex_token_text (t) + (i = FFESTR_firstlFUNCTION);
- if (*p == '\0')
- break;
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- ffesta_tokens[1] = ffelex_token_name_from_names (t, i, 0);
- return (ffelexHandler) ffestb_decl_funcname_1_;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- if (ffestb_local_.decl.kindt != NULL)
- ffelex_token_kill (ffestb_local_.decl.kindt);
- if (ffestb_local_.decl.lent != NULL)
- ffelex_token_kill (ffestb_local_.decl.lent);
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_i: /* :::::::::::::::::::: */
- if (ffestb_local_.decl.recursive != NULL)
- ffelex_token_kill (ffestb_local_.decl.recursive);
- if (ffestb_local_.decl.kindt != NULL)
- ffelex_token_kill (ffestb_local_.decl.kindt);
- if (ffestb_local_.decl.lent != NULL)
- ffelex_token_kill (ffestb_local_.decl.lent);
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t, i, NULL);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_decl_funcname_ -- "type" [type parameters] [RECURSIVE] FUNCTION
return ffestb_decl_funcname_; // to lexer
@@ -23566,593 +16806,6 @@ ffestb_decl_funcname_9_ (ffelexToken t)
ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t);
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-
-/* ffestb_V003 -- Parse the STRUCTURE statement
-
- return ffestb_V003; // to lexer
-
- Make sure the statement has a valid form for the STRUCTURE statement.
- If it does, implement the statement. */
-
-#if FFESTR_VXT
-ffelexHandler
-ffestb_V003 (ffelexToken t)
-{
- ffeTokenLength i;
- const char *p;
- ffelexToken nt;
- ffelexHandler next;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstSTRUCTURE)
- goto bad_0; /* :::::::::::::::::::: */
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeNAME:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V003_start (NULL);
- ffestb_local_.structure.started = TRUE;
- return (ffelexHandler) ffestb_V0034_ (t);
-
- case FFELEX_typeSLASH:
- ffesta_confirmed ();
- return (ffelexHandler) ffestb_V0031_;
- }
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstSTRUCTURE)
- goto bad_0; /* :::::::::::::::::::: */
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlSTRUCTURE);
- switch (ffelex_token_type (t))
- {
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOMMA:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed ();
- break;
-
- case FFELEX_typeSLASH:
- ffesta_confirmed ();
- if (*p != '\0')
- goto bad_1; /* :::::::::::::::::::: */
- return (ffelexHandler) ffestb_V0031_;
-
- case FFELEX_typeOPEN_PAREN:
- break;
- }
-
- /* Here, we have at least one char after "STRUCTURE" and t is COMMA,
- EOS/SEMICOLON, or OPEN_PAREN. */
-
- if (!ffesrc_is_name_init (*p))
- goto bad_i; /* :::::::::::::::::::: */
- nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
- if (ffelex_token_type (t) == FFELEX_typeOPEN_PAREN)
- ffestb_local_.structure.started = FALSE;
- else
- {
- if (!ffesta_is_inhibited ())
- ffestc_V003_start (NULL);
- ffestb_local_.structure.started = TRUE;
- }
- next = (ffelexHandler) ffestb_V0034_ (nt);
- ffelex_token_kill (nt);
- return (ffelexHandler) (*next) (t);
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0031_ -- "STRUCTURE" SLASH
-
- return ffestb_V0031_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_V0031_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0032_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- break;
- }
-
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0032_ -- "STRUCTURE" SLASH NAME
-
- return ffestb_V0032_; // to lexer
-
- Handle SLASH. */
-
-static ffelexHandler
-ffestb_V0032_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeSLASH:
- if (!ffesta_is_inhibited ())
- ffestc_V003_start (ffesta_tokens[1]);
- ffestb_local_.structure.started = TRUE;
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_V0033_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0033_ -- "STRUCTURE" SLASH NAME SLASH
-
- return ffestb_V0033_; // to lexer
-
- Handle NAME or EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_V0033_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- return (ffelexHandler) ffestb_V0034_ (t);
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- ffestc_V003_finish ();
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- break;
- }
-
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0034_ -- "STRUCTURE" [SLASH NAME SLASH]
-
- return ffestb_V0034_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_V0034_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0035_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V003_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0035_ -- "STRUCTURE" ... NAME
-
- return ffestb_V0035_; // to lexer
-
- Handle OPEN_PAREN. */
-
-static ffelexHandler
-ffestb_V0035_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_subrargs_.dim_list.dims = ffestt_dimlist_create ();
- ffestb_subrargs_.dim_list.handler = (ffelexHandler) ffestb_V0036_;
- ffestb_subrargs_.dim_list.pool = ffesta_output_pool;
- ffestb_subrargs_.dim_list.ctx = FFEEXPR_contextDIMLISTCOMMON;
-#ifdef FFECOM_dimensionsMAX
- ffestb_subrargs_.dim_list.ndims = 0;
-#endif
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextDIMLISTCOMMON, (ffeexprCallback) ffestb_subr_dimlist_);
-
- case FFELEX_typeCOMMA:
- if (!ffesta_is_inhibited ())
- ffestc_V003_item (ffesta_tokens[1], NULL);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_V0034_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- ffestc_V003_item (ffesta_tokens[1], NULL);
- ffestc_V003_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V003_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0036_ -- "STRUCTURE" ... NAME OPEN_PAREN dimlist CLOSE_PAREN
-
- return ffestb_V0036_; // to lexer
-
- Handle COMMA or EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_V0036_ (ffelexToken t)
-{
- if (!ffestb_subrargs_.dim_list.ok)
- goto bad; /* :::::::::::::::::::: */
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.structure.started)
- {
- ffestc_V003_start (NULL);
- ffestb_local_.structure.started = TRUE;
- }
- ffestc_V003_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffestb_V0034_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- {
- if (!ffestb_local_.structure.started)
- ffestc_V003_start (NULL);
- ffestc_V003_item (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffestc_V003_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "STRUCTURE", t);
- if (ffestb_local_.structure.started && !ffesta_is_inhibited ())
- ffestc_V003_finish ();
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V016 -- Parse the RECORD statement
-
- return ffestb_V016; // to lexer
-
- Make sure the statement has a valid form for the RECORD statement. If it
- does, implement the statement. */
-
-ffelexHandler
-ffestb_V016 (ffelexToken t)
-{
- const char *p;
- ffeTokenLength i;
-
- switch (ffelex_token_type (ffesta_tokens[0]))
- {
- case FFELEX_typeNAME:
- if (ffesta_first_kw != FFESTR_firstRECORD)
- goto bad_0; /* :::::::::::::::::::: */
- break;
-
- case FFELEX_typeNAMES:
- if (ffesta_first_kw != FFESTR_firstRECORD)
- goto bad_0; /* :::::::::::::::::::: */
- p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlRECORD);
- if (*p != '\0')
- goto bad_i; /* :::::::::::::::::::: */
- break;
-
- default:
- goto bad_0; /* :::::::::::::::::::: */
- }
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- case FFELEX_typeCOLONCOLON:
- ffesta_confirmed (); /* Error, but clearly intended. */
- goto bad_1; /* :::::::::::::::::::: */
-
- default:
- goto bad_1; /* :::::::::::::::::::: */
-
- case FFELEX_typeSLASH:
- break;
- }
-
- ffesta_confirmed ();
- if (!ffesta_is_inhibited ())
- ffestc_V016_start ();
- return (ffelexHandler) ffestb_V0161_;
-
-bad_0: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", ffesta_tokens[0]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-
-bad_1: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- return (ffelexHandler) ffelex_swallow_tokens (t,
- (ffelexHandler) ffesta_zero); /* Invalid second token. */
-
-bad_i: /* :::::::::::::::::::: */
- ffesta_ffebad_1sp (FFEBAD_INVALID_STMT_FORM, "RECORD", ffesta_tokens[0], i, t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0161_ -- "RECORD" SLASH
-
- return ffestb_V0161_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_V0161_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- if (!ffesta_is_inhibited ())
- ffestc_V016_item_structure (t);
- return (ffelexHandler) ffestb_V0162_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V016_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0162_ -- "RECORD" SLASH NAME
-
- return ffestb_V0162_; // to lexer
-
- Handle SLASH. */
-
-static ffelexHandler
-ffestb_V0162_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeSLASH:
- return (ffelexHandler) ffestb_V0163_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V016_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0163_ -- "RECORD" SLASH NAME SLASH
-
- return ffestb_V0163_; // to lexer
-
- Handle NAME. */
-
-static ffelexHandler
-ffestb_V0163_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0164_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V016_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0164_ -- "RECORD" ... NAME
-
- return ffestb_V0164_; // to lexer
-
- Handle OPEN_PAREN. */
-
-static ffelexHandler
-ffestb_V0164_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_subrargs_.dim_list.dims = ffestt_dimlist_create ();
- ffestb_subrargs_.dim_list.handler = (ffelexHandler) ffestb_V0165_;
- ffestb_subrargs_.dim_list.pool = ffesta_output_pool;
- ffestb_subrargs_.dim_list.ctx = FFEEXPR_contextDIMLISTCOMMON;
-#ifdef FFECOM_dimensionsMAX
- ffestb_subrargs_.dim_list.ndims = 0;
-#endif
- return (ffelexHandler) ffeexpr_rhs (ffesta_output_pool,
- FFEEXPR_contextDIMLISTCOMMON, (ffeexprCallback) ffestb_subr_dimlist_);
-
- case FFELEX_typeCOMMA:
- if (!ffesta_is_inhibited ())
- ffestc_V016_item_object (ffesta_tokens[1], NULL);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffestb_V0166_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- ffestc_V016_item_object (ffesta_tokens[1], NULL);
- ffestc_V016_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V016_finish ();
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0165_ -- "RECORD" ... NAME OPEN_PAREN dimlist CLOSE_PAREN
-
- return ffestb_V0165_; // to lexer
-
- Handle COMMA or EOS/SEMICOLON. */
-
-static ffelexHandler
-ffestb_V0165_ (ffelexToken t)
-{
- if (!ffestb_subrargs_.dim_list.ok)
- goto bad; /* :::::::::::::::::::: */
-
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeCOMMA:
- if (!ffesta_is_inhibited ())
- ffestc_V016_item_object (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffestb_V0166_;
-
- case FFELEX_typeEOS:
- case FFELEX_typeSEMICOLON:
- if (!ffesta_is_inhibited ())
- {
- ffestc_V016_item_object (ffesta_tokens[1],
- ffestb_subrargs_.dim_list.dims);
- ffestc_V016_finish ();
- }
- ffelex_token_kill (ffesta_tokens[1]);
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- return (ffelexHandler) ffesta_zero (t);
-
- default:
- break;
- }
-
-bad: /* :::::::::::::::::::: */
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- if (ffestb_local_.structure.started && !ffesta_is_inhibited ())
- ffestc_V016_finish ();
- ffestt_dimlist_kill (ffestb_subrargs_.dim_list.dims);
- ffelex_token_kill (ffesta_tokens[1]);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-/* ffestb_V0166_ -- "RECORD" SLASH NAME SLASH NAME [OPEN_PAREN dimlist
- CLOSE_PAREN] COMMA
-
- return ffestb_V0166_; // to lexer
-
- Handle NAME or SLASH. */
-
-static ffelexHandler
-ffestb_V0166_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeNAME:
- ffesta_tokens[1] = ffelex_token_use (t);
- return (ffelexHandler) ffestb_V0164_;
-
- case FFELEX_typeSLASH:
- return (ffelexHandler) ffestb_V0161_;
-
- default:
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "RECORD", t);
- break;
- }
-
- if (!ffesta_is_inhibited ())
- ffestc_V016_finish ();
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_V027 -- Parse the VXT PARAMETER statement
return ffestb_V027; // to lexer
@@ -24423,12 +17076,6 @@ ffestb_decl_R539 (ffelexToken t)
case FFESTR_secondNONE:
return (ffelexHandler) ffestb_decl_R5394_;
-#if FFESTR_F90
- case FFESTR_secondTYPE:
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- return (ffelexHandler) ffestb_decl_R5393_;
-#endif
-
default:
goto bad_1; /* :::::::::::::::::::: */
}
@@ -24509,12 +17156,6 @@ ffestb_decl_R539 (ffelexToken t)
case FFESTR_secondNONE:
return (ffelexHandler) ffestb_decl_R5394_ (t);
-#if FFESTR_F90
- case FFESTR_secondTYPE:
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- return (ffelexHandler) ffestb_decl_R5393_ (t);
-#endif
-
default:
goto bad_1; /* :::::::::::::::::::: */
}
@@ -24619,34 +17260,6 @@ bad: /* :::::::::::::::::::: */
return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
}
-/* ffestb_decl_R5393_ -- "IMPLICIT" "TYPE"
-
- return ffestb_decl_R5393_; // to lexer
-
- Handle OPEN_PAREN. */
-
-#if FFESTR_F90
-static ffelexHandler
-ffestb_decl_R5393_ (ffelexToken t)
-{
- switch (ffelex_token_type (t))
- {
- case FFELEX_typeOPEN_PAREN:
- ffestb_local_.decl.handler = (ffelexHandler) ffestb_decl_R539letters_;
- ffestb_local_.decl.badname = "IMPLICIT";
- return (ffelexHandler) ffestb_decl_typetype1_;
-
- default:
- break;
- }
-
- if (ffestb_local_.decl.imp_started && !ffesta_is_inhibited ())
- ffestc_R539finish ();
- ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "IMPLICIT", t);
- return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);
-}
-
-#endif
/* ffestb_decl_R5394_ -- "IMPLICIT" "NONE"
return ffestb_decl_R5394_; // to lexer
@@ -24734,12 +17347,6 @@ ffestb_decl_R5395_ (ffelexToken t)
ffestb_local_.decl.lent = NULL;
return (ffelexHandler) ffestb_decl_R539letters_;
-#if FFESTR_F90
- case FFESTR_secondTYPE:
- ffestb_local_.decl.type = FFESTP_typeTYPE;
- return (ffelexHandler) ffestb_decl_R5393_;
-#endif
-
default:
break;
}
diff --git a/gcc/f/stb.h b/gcc/f/stb.h
index a9b3acc..88cb7c5 100644
--- a/gcc/f/stb.h
+++ b/gcc/f/stb.h
@@ -1,5 +1,5 @@
/* stb.h -- Private #include File (module.h template V1.0)
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -79,15 +79,6 @@ struct _ffestb_args_
ffeTokenLength len; /* Length of "STOP/PAUSE". */
}
halt;
-#if FFESTR_F90
- struct
- {
- const char *badname;
- ffeTokenLength len; /* Length of "ALLOCATE/DEALLOCATE". */
- ffeexprContext ctx; /* Either ALLOCATE or DEALLOCATE. */
- }
- heap;
-#endif
struct
{
const char *badname;
@@ -96,22 +87,6 @@ struct _ffestb_args_
PRIVATE". */
}
varlist;
-#if FFESTR_VXT
- struct
- {
- const char *badname;
- ffeTokenLength len; /* Length of "ENCODE/DECODE". */
- }
- vxtcode;
-#endif
-#if FFESTR_F90
- struct
- {
- const char *badname;
- ffeTokenLength len; /* Length of "ALLOCATABLE/POINTER/TARGET". */
- }
- dimlist;
-#endif
struct
{
const char *badname;
@@ -150,33 +125,9 @@ ffelexHandler ffestb_endxyz (ffelexToken t);
ffelexHandler ffestb_decl_gentype (ffelexToken t);
ffelexHandler ffestb_goto (ffelexToken t);
ffelexHandler ffestb_halt (ffelexToken t);
-#if FFESTR_F90
-ffelexHandler ffestb_heap (ffelexToken t);
-#endif
ffelexHandler ffestb_if (ffelexToken t);
ffelexHandler ffestb_let (ffelexToken t);
-#if FFESTR_F90
-ffelexHandler ffestb_module (ffelexToken t);
-#endif
-#if FFESTR_F90
-ffelexHandler ffestb_decl_recursive (ffelexToken t);
-#endif
-#if FFESTR_F90
-ffelexHandler ffestb_type (ffelexToken t);
-#endif
-#if FFESTR_F90
-ffelexHandler ffestb_decl_typetype (ffelexToken t);
-#endif
ffelexHandler ffestb_varlist (ffelexToken t);
-#if FFESTR_VXT
-ffelexHandler ffestb_vxtcode (ffelexToken t);
-#endif
-#if FFESTR_F90
-ffelexHandler ffestb_where (ffelexToken t);
-#endif
-#if HARD_F90
-ffelexHandler ffestb_R423B (ffelexToken t);
-#endif
ffelexHandler ffestb_R522 (ffelexToken t);
ffelexHandler ffestb_R524 (ffelexToken t);
ffelexHandler ffestb_R528 (ffelexToken t);
@@ -185,9 +136,6 @@ ffelexHandler ffestb_decl_R539 (ffelexToken t);
ffelexHandler ffestb_R542 (ffelexToken t);
ffelexHandler ffestb_R544 (ffelexToken t);
ffelexHandler ffestb_R547 (ffelexToken t);
-#if FFESTR_F90
-ffelexHandler ffestb_R624 (ffelexToken t);
-#endif
ffelexHandler ffestb_R809 (ffelexToken t);
ffelexHandler ffestb_R810 (ffelexToken t);
ffelexHandler ffestb_R834 (ffelexToken t);
@@ -203,36 +151,12 @@ ffelexHandler ffestb_R911 (ffelexToken t);
ffelexHandler ffestb_R923 (ffelexToken t);
ffelexHandler ffestb_R1001 (ffelexToken t);
ffelexHandler ffestb_R1102 (ffelexToken t);
-#if FFESTR_F90
-ffelexHandler ffestb_R1107 (ffelexToken t);
-#endif
-#if FFESTR_F90
-ffelexHandler ffestb_R1202 (ffelexToken t);
-#endif
ffelexHandler ffestb_R1212 (ffelexToken t);
ffelexHandler ffestb_R1227 (ffelexToken t);
-#if FFESTR_F90
-ffelexHandler ffestb_R1228 (ffelexToken t);
-#endif
ffelexHandler ffestb_R1229 (ffelexToken t);
ffelexHandler ffestb_S3P4 (ffelexToken t);
-#if FFESTR_VXT
-ffelexHandler ffestb_V003 (ffelexToken t);
-ffelexHandler ffestb_V009 (ffelexToken t);
-ffelexHandler ffestb_V012 (ffelexToken t);
-#endif
ffelexHandler ffestb_V014 (ffelexToken t);
-#if FFESTR_VXT
-ffelexHandler ffestb_V016 (ffelexToken t);
-ffelexHandler ffestb_V018 (ffelexToken t);
-ffelexHandler ffestb_V019 (ffelexToken t);
-#endif
ffelexHandler ffestb_V020 (ffelexToken t);
-#if FFESTR_VXT
-ffelexHandler ffestb_V021 (ffelexToken t);
-ffelexHandler ffestb_V025 (ffelexToken t);
-ffelexHandler ffestb_V026 (ffelexToken t);
-#endif
ffelexHandler ffestb_V027 (ffelexToken t);
/* Define macros. */
diff --git a/gcc/f/stc.c b/gcc/f/stc.c
index b9602c2..19639c1 100644
--- a/gcc/f/stc.c
+++ b/gcc/f/stc.c
@@ -170,15 +170,6 @@ union ffestc_local_u_
ffesymbol symbol; /* SFN symbol. */
}
sfunc;
-#if FFESTR_VXT
- struct
- {
- char list_state; /* 0=>no field names allowed, 1=>error
- reported already, 2=>field names req'd,
- 3=>have a field name. */
- }
- V003;
-#endif
}; /* Merge with the one in ffestc later. */
/* Static objects accessed by functions in this module. */
@@ -226,9 +217,6 @@ static bool ffestc_labelref_is_format_ (ffelexToken label_token,
ffelab *label);
static bool ffestc_labelref_is_loopend_ (ffelexToken label_token,
ffelab *label);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_access_ (void);
-#endif
static ffestcOrder_ ffestc_order_actiondo_ (void);
static ffestcOrder_ ffestc_order_actionif_ (void);
static ffestcOrder_ ffestc_order_actionwhere_ (void);
@@ -236,17 +224,8 @@ static void ffestc_order_any_ (void);
static void ffestc_order_bad_ (void);
static ffestcOrder_ ffestc_order_blockdata_ (void);
static ffestcOrder_ ffestc_order_blockspec_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_component_ (void);
-#endif
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_contains_ (void);
-#endif
static ffestcOrder_ ffestc_order_data_ (void);
static ffestcOrder_ ffestc_order_data77_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_derivedtype_ (void);
-#endif
static ffestcOrder_ ffestc_order_do_ (void);
static ffestcOrder_ ffestc_order_entry_ (void);
static ffestcOrder_ ffestc_order_exec_ (void);
@@ -256,89 +235,26 @@ static ffestcOrder_ ffestc_order_iface_ (void);
static ffestcOrder_ ffestc_order_ifthen_ (void);
static ffestcOrder_ ffestc_order_implicit_ (void);
static ffestcOrder_ ffestc_order_implicitnone_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_interface_ (void);
-#endif
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_map_ (void);
-#endif
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_module_ (void);
-#endif
static ffestcOrder_ ffestc_order_parameter_ (void);
static ffestcOrder_ ffestc_order_program_ (void);
static ffestcOrder_ ffestc_order_progspec_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_record_ (void);
-#endif
static ffestcOrder_ ffestc_order_selectcase_ (void);
static ffestcOrder_ ffestc_order_sfunc_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_spec_ (void);
-#endif
-#if FFESTR_VXT
-static ffestcOrder_ ffestc_order_structure_ (void);
-#endif
static ffestcOrder_ ffestc_order_subroutine_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_type_ (void);
-#endif
static ffestcOrder_ ffestc_order_typedecl_ (void);
-#if FFESTR_VXT
-static ffestcOrder_ ffestc_order_union_ (void);
-#endif
static ffestcOrder_ ffestc_order_unit_ (void);
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_use_ (void);
-#endif
-#if FFESTR_VXT
-static ffestcOrder_ ffestc_order_vxtstructure_ (void);
-#endif
-#if FFESTR_F90
-static ffestcOrder_ ffestc_order_where_ (void);
-#endif
static void ffestc_promote_dummy_ (ffelexToken t);
static void ffestc_promote_execdummy_ (ffelexToken t);
static void ffestc_promote_sfdummy_ (ffelexToken t);
static void ffestc_shriek_begin_program_ (void);
-#if FFESTR_F90
-static void ffestc_shriek_begin_uses_ (void);
-#endif
static void ffestc_shriek_blockdata_ (bool ok);
static void ffestc_shriek_do_ (bool ok);
static void ffestc_shriek_end_program_ (bool ok);
-#if FFESTR_F90
-static void ffestc_shriek_end_uses_ (bool ok);
-#endif
static void ffestc_shriek_function_ (bool ok);
static void ffestc_shriek_if_ (bool ok);
static void ffestc_shriek_ifthen_ (bool ok);
-#if FFESTR_F90
-static void ffestc_shriek_interface_ (bool ok);
-#endif
-#if FFESTR_F90
-static void ffestc_shriek_map_ (bool ok);
-#endif
-#if FFESTR_F90
-static void ffestc_shriek_module_ (bool ok);
-#endif
static void ffestc_shriek_select_ (bool ok);
-#if FFESTR_VXT
-static void ffestc_shriek_structure_ (bool ok);
-#endif
static void ffestc_shriek_subroutine_ (bool ok);
-#if FFESTR_F90
-static void ffestc_shriek_type_ (bool ok);
-#endif
-#if FFESTR_VXT
-static void ffestc_shriek_union_ (bool ok);
-#endif
-#if FFESTR_F90
-static void ffestc_shriek_where_ (bool ok);
-#endif
-#if FFESTR_F90
-static void ffestc_shriek_wherethen_ (bool ok);
-#endif
static int ffestc_subr_binsrch_ (const char *const *list, int size,
ffestpFile *spec, const char *whine);
static ffestvFormat ffestc_subr_format_ (ffestpFile *spec);
@@ -377,13 +293,7 @@ static void ffestc_try_shriek_do_ (void);
|| ffestc_statelet_ == FFESTC_stateletITEM_); \
ffestc_statelet_ = FFESTC_stateletSIMPLE_
#define ffestc_order_action_() ffestc_order_exec_()
-#if FFESTR_F90
-#define ffestc_order_interfacespec_() ffestc_order_derivedtype_()
-#endif
#define ffestc_shriek_if_lost_ ffestc_shriek_if_
-#if FFESTR_F90
-#define ffestc_shriek_where_lost_ ffestc_shriek_where_
-#endif
/* ffestc_establish_declinfo_ -- Determine specific type/params info for entity
@@ -1834,58 +1744,6 @@ ffestc_labelref_is_loopend_ (ffelexToken label_token, ffelab *x_label)
return TRUE;
}
-/* ffestc_order_access_ -- Check ordering on <access> statement
-
- if (ffestc_order_access_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_access_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateMODULE3:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_actiondo_ -- Check ordering on <actiondo> statement
if (ffestc_order_actiondo_() != FFESTC_orderOK_)
@@ -1918,16 +1776,10 @@ ffestc_order_actiondo_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
default:
@@ -1995,16 +1847,10 @@ recurse:
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
default:
@@ -2082,9 +1928,6 @@ recurse:
return FFESTC_orderOK_;
case FFESTV_stateWHERE:
-#if FFESTR_F90
- ffestc_shriek_after1_ = ffestc_shriek_where_;
-#endif
return FFESTC_orderOK_;
case FFESTV_stateIF:
@@ -2092,9 +1935,6 @@ recurse:
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
default:
@@ -2170,9 +2010,6 @@ recurse:
return;
case FFESTV_stateWHERE:
-#if FFESTR_F90
- ffestc_shriek_after1_ = ffestc_shriek_where_;
-#endif
return;
case FFESTV_stateIF:
@@ -2180,9 +2017,6 @@ recurse:
return;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
default:
@@ -2254,16 +2088,10 @@ ffestc_order_blockdata_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2336,118 +2164,10 @@ ffestc_order_blockspec_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-/* ffestc_order_component_ -- Check ordering on <component-decl> statement
-
- if (ffestc_order_component_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_component_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateTYPE:
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
-/* ffestc_order_contains_ -- Check ordering on CONTAINS statement
-
- if (ffestc_order_contains_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_contains_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_statePROGRAM0:
- case FFESTV_statePROGRAM1:
- case FFESTV_statePROGRAM2:
- case FFESTV_statePROGRAM3:
- case FFESTV_statePROGRAM4:
- ffestw_set_state (ffestw_stack_top (), FFESTV_statePROGRAM5);
- break;
-
- case FFESTV_stateSUBROUTINE0:
- case FFESTV_stateSUBROUTINE1:
- case FFESTV_stateSUBROUTINE2:
- case FFESTV_stateSUBROUTINE3:
- case FFESTV_stateSUBROUTINE4:
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE5);
- break;
-
- case FFESTV_stateFUNCTION0:
- case FFESTV_stateFUNCTION1:
- case FFESTV_stateFUNCTION2:
- case FFESTV_stateFUNCTION3:
- case FFESTV_stateFUNCTION4:
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION5);
- break;
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- case FFESTV_stateMODULE3:
- case FFESTV_stateMODULE4:
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE5);
- break;
-
- case FFESTV_stateUSE:
- ffestc_shriek_end_uses_ (TRUE);
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2459,21 +2179,7 @@ ffestc_order_contains_ ()
ffestc_order_bad_ ();
return FFESTC_orderBAD_;
}
-
- switch (ffestw_state (ffestw_previous (ffestw_stack_top ())))
- {
- case FFESTV_stateNIL:
- ffestw_update (NULL);
- return FFESTC_orderOK_;
-
- default:
- ffestc_order_bad_ ();
- ffestw_update (NULL);
- return FFESTC_orderBAD_;
- }
}
-
-#endif
/* ffestc_order_data_ -- Check ordering on DATA statement
if (ffestc_order_data_() != FFESTC_orderOK_)
@@ -2534,16 +2240,10 @@ ffestc_order_data_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2619,16 +2319,10 @@ ffestc_order_data77_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2641,79 +2335,6 @@ ffestc_order_data77_ ()
return FFESTC_orderBAD_;
}
}
-
-/* ffestc_order_derivedtype_ -- Check ordering on derived TYPE statement
-
- if (ffestc_order_derivedtype_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_derivedtype_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_statePROGRAM0:
- case FFESTV_statePROGRAM1:
- case FFESTV_statePROGRAM2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_statePROGRAM3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateSUBROUTINE0:
- case FFESTV_stateSUBROUTINE1:
- case FFESTV_stateSUBROUTINE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateFUNCTION0:
- case FFESTV_stateFUNCTION1:
- case FFESTV_stateFUNCTION2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE3);
- return FFESTC_orderOK_;
-
- case FFESTV_statePROGRAM3:
- case FFESTV_stateSUBROUTINE3:
- case FFESTV_stateFUNCTION3:
- case FFESTV_stateMODULE3:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
- ffestc_shriek_end_uses_ (TRUE);
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_do_ -- Check ordering on <do> statement
if (ffestc_order_do_() != FFESTC_orderOK_)
@@ -2729,9 +2350,6 @@ ffestc_order_do_ ()
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2780,16 +2398,10 @@ ffestc_order_entry_ ()
break;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2870,16 +2482,10 @@ recurse:
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -2958,16 +2564,10 @@ ffestc_order_format_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3002,16 +2602,10 @@ ffestc_order_function_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3045,9 +2639,6 @@ ffestc_order_iface_ ()
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3076,9 +2667,6 @@ ffestc_order_ifthen_ ()
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3146,16 +2734,10 @@ ffestc_order_implicit_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3216,47 +2798,10 @@ ffestc_order_implicitnone_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-/* ffestc_order_interface_ -- Check ordering on <interface> statement
-
- if (ffestc_order_interface_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_interface_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateINTERFACE0:
- case FFESTV_stateINTERFACE1:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3270,80 +2815,6 @@ ffestc_order_interface_ ()
}
}
-#endif
-/* ffestc_order_map_ -- Check ordering on <map> statement
-
- if (ffestc_order_map_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_VXT
-static ffestcOrder_
-ffestc_order_map_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateMAP:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
-/* ffestc_order_module_ -- Check ordering on <module> statement
-
- if (ffestc_order_module_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_module_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- case FFESTV_stateMODULE3:
- case FFESTV_stateMODULE4:
- case FFESTV_stateMODULE5:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
- ffestc_shriek_end_uses_ (TRUE);
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_parameter_ -- Check ordering on <parameter> statement
if (ffestc_order_parameter_() != FFESTC_orderOK_)
@@ -3407,16 +2878,10 @@ ffestc_order_parameter_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3455,16 +2920,10 @@ ffestc_order_program_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3544,16 +3003,10 @@ ffestc_order_progspec_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3566,93 +3019,6 @@ ffestc_order_progspec_ ()
return FFESTC_orderBAD_;
}
}
-
-/* ffestc_order_record_ -- Check ordering on RECORD statement
-
- if (ffestc_order_record_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_VXT
-static ffestcOrder_
-ffestc_order_record_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_statePROGRAM0:
- case FFESTV_statePROGRAM1:
- case FFESTV_statePROGRAM2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_statePROGRAM3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateSUBROUTINE0:
- case FFESTV_stateSUBROUTINE1:
- case FFESTV_stateSUBROUTINE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateFUNCTION0:
- case FFESTV_stateFUNCTION1:
- case FFESTV_stateFUNCTION2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateBLOCKDATA0:
- case FFESTV_stateBLOCKDATA1:
- case FFESTV_stateBLOCKDATA2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateBLOCKDATA3);
- return FFESTC_orderOK_;
-
- case FFESTV_statePROGRAM3:
- case FFESTV_stateSUBROUTINE3:
- case FFESTV_stateFUNCTION3:
- case FFESTV_stateMODULE3:
- case FFESTV_stateBLOCKDATA3:
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_selectcase_ -- Check ordering on <selectcase> statement
if (ffestc_order_selectcase_() != FFESTC_orderOK_)
@@ -3669,9 +3035,6 @@ ffestc_order_selectcase_ ()
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3728,16 +3091,10 @@ ffestc_order_sfunc_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3750,108 +3107,6 @@ ffestc_order_sfunc_ ()
return FFESTC_orderBAD_;
}
}
-
-/* ffestc_order_spec_ -- Check ordering on <spec> statement
-
- if (ffestc_order_spec_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_spec_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateSUBROUTINE0:
- case FFESTV_stateSUBROUTINE1:
- case FFESTV_stateSUBROUTINE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateFUNCTION0:
- case FFESTV_stateFUNCTION1:
- case FFESTV_stateFUNCTION2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateSUBROUTINE3:
- case FFESTV_stateFUNCTION3:
- case FFESTV_stateMODULE3:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
-/* ffestc_order_structure_ -- Check ordering on <structure> statement
-
- if (ffestc_order_structure_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_VXT
-static ffestcOrder_
-ffestc_order_structure_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateSTRUCTURE:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_subroutine_ -- Check ordering on <subroutine> statement
if (ffestc_order_subroutine_() != FFESTC_orderOK_)
@@ -3873,46 +3128,10 @@ ffestc_order_subroutine_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-/* ffestc_order_type_ -- Check ordering on <type> statement
-
- if (ffestc_order_type_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_type_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateTYPE:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -3926,7 +3145,6 @@ ffestc_order_type_ ()
}
}
-#endif
/* ffestc_order_typedecl_ -- Check ordering on <typedecl> statement
if (ffestc_order_typedecl_() != FFESTC_orderOK_)
@@ -3986,16 +3204,10 @@ ffestc_order_typedecl_ ()
return FFESTC_orderOK_;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -4008,40 +3220,6 @@ ffestc_order_typedecl_ ()
return FFESTC_orderBAD_;
}
}
-
-/* ffestc_order_union_ -- Check ordering on <union> statement
-
- if (ffestc_order_union_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_VXT
-static ffestcOrder_
-ffestc_order_union_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateUNION:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* ffestc_order_unit_ -- Check ordering on <unit> statement
if (ffestc_order_unit_() != FFESTC_orderOK_)
@@ -4057,69 +3235,6 @@ ffestc_order_unit_ ()
case FFESTV_stateWHERE:
ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-/* ffestc_order_use_ -- Check ordering on USE statement
-
- if (ffestc_order_use_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_use_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_statePROGRAM0:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_statePROGRAM1);
- ffestc_shriek_begin_uses_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateSUBROUTINE0:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE1);
- ffestc_shriek_begin_uses_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateFUNCTION0:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION1);
- ffestc_shriek_begin_uses_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateMODULE0:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE1);
- ffestc_shriek_begin_uses_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateUSE:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
return FFESTC_orderBAD_;
case FFESTV_stateIF:
@@ -4132,125 +3247,6 @@ ffestc_order_use_ ()
return FFESTC_orderBAD_;
}
}
-
-#endif
-/* ffestc_order_vxtstructure_ -- Check ordering on STRUCTURE statement
-
- if (ffestc_order_vxtstructure_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_VXT
-static ffestcOrder_
-ffestc_order_vxtstructure_ ()
-{
- recurse:
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateNIL:
- ffestc_shriek_begin_program_ ();
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_statePROGRAM0:
- case FFESTV_statePROGRAM1:
- case FFESTV_statePROGRAM2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_statePROGRAM3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateSUBROUTINE0:
- case FFESTV_stateSUBROUTINE1:
- case FFESTV_stateSUBROUTINE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateSUBROUTINE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateFUNCTION0:
- case FFESTV_stateFUNCTION1:
- case FFESTV_stateFUNCTION2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateFUNCTION3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateMODULE0:
- case FFESTV_stateMODULE1:
- case FFESTV_stateMODULE2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateMODULE3);
- return FFESTC_orderOK_;
-
- case FFESTV_stateBLOCKDATA0:
- case FFESTV_stateBLOCKDATA1:
- case FFESTV_stateBLOCKDATA2:
- ffestw_update (NULL);
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateBLOCKDATA3);
- return FFESTC_orderOK_;
-
- case FFESTV_statePROGRAM3:
- case FFESTV_stateSUBROUTINE3:
- case FFESTV_stateFUNCTION3:
- case FFESTV_stateMODULE3:
- case FFESTV_stateBLOCKDATA3:
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- return FFESTC_orderOK_;
-
- case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
- goto recurse; /* :::::::::::::::::::: */
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
-#if FFESTR_F90
- ffestc_shriek_where_ (FALSE);
-#endif
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
-/* ffestc_order_where_ -- Check ordering on <where> statement
-
- if (ffestc_order_where_() != FFESTC_orderOK_)
- return; */
-
-#if FFESTR_F90
-static ffestcOrder_
-ffestc_order_where_ ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateWHERETHEN:
- return FFESTC_orderOK_;
-
- case FFESTV_stateWHERE:
- ffestc_order_bad_ ();
- ffestc_shriek_where_ (FALSE);
- return FFESTC_orderBAD_;
-
- case FFESTV_stateIF:
- ffestc_order_bad_ ();
- ffestc_shriek_if_ (FALSE);
- return FFESTC_orderBAD_;
-
- default:
- ffestc_order_bad_ ();
- return FFESTC_orderBAD_;
- }
-}
-
-#endif
/* Invoked for each token in dummy arg list of FUNCTION, SUBROUTINE, and
ENTRY (prior to the first executable statement). */
@@ -4605,32 +3601,6 @@ ffestc_shriek_begin_program_ ()
ffestd_R1102 (s, NULL);
}
-/* ffestc_shriek_begin_uses_ -- Start a bunch of USE statements
-
- ffestc_shriek_begin_uses_();
-
- Invoked before handling the first USE statement in a block of one or
- more USE statements. _end_uses_(bool ok) is invoked before handling
- the first statement after the block (there are no BEGIN USE and END USE
- statements, but the semantics of USE statements effectively requires
- handling them as a single block rather than one statement at a time). */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_begin_uses_ ()
-{
- ffestw b;
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateUSE);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_end_uses_);
-
- ffestd_begin_uses ();
-}
-
-#endif
/* ffestc_shriek_blockdata_ -- End a BLOCK DATA
ffestc_shriek_blockdata_(TRUE); */
@@ -4724,23 +3694,6 @@ ffestc_shriek_end_program_ (bool ok)
ffe_init_2 ();
}
-/* ffestc_shriek_end_uses_ -- End a bunch of USE statements
-
- ffestc_shriek_end_uses_(TRUE);
-
- ok==TRUE means simply not popping due to ffestc_eof()
- being called, because there is no formal END USES statement in Fortran. */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_end_uses_ (bool ok)
-{
- ffestd_end_uses (ok);
-
- ffestw_kill (ffestw_pop ());
-}
-
-#endif
/* ffestc_shriek_function_ -- End a FUNCTION
ffestc_shriek_function_(TRUE); */
@@ -4818,64 +3771,6 @@ ffestc_shriek_ifthen_ (bool ok)
ffestc_try_shriek_do_ ();
}
-/* ffestc_shriek_interface_ -- End an INTERFACE
-
- ffestc_shriek_interface_(TRUE); */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_interface_ (bool ok)
-{
- ffestd_R1203 (ok);
-
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
-/* ffestc_shriek_map_ -- End a MAP
-
- ffestc_shriek_map_(TRUE); */
-
-#if FFESTR_VXT
-static void
-ffestc_shriek_map_ (bool ok)
-{
- ffestd_V013 (ok);
-
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
-/* ffestc_shriek_module_ -- End a MODULE
-
- ffestc_shriek_module_(TRUE); */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_module_ (bool ok)
-{
- if (!ffesta_seen_first_exec)
- {
- ffesta_seen_first_exec = TRUE;
- ffestd_exec_begin ();
- }
-
- ffestd_R1106 (ok);
-
- ffestd_exec_end ();
-
- ffelex_token_kill (ffestw_name (ffestw_stack_top ()));
- ffestw_kill (ffestw_pop ());
-
- ffe_terminate_2 ();
- ffe_init_2 ();
-}
-
-#endif
/* ffestc_shriek_select_ -- End a SELECT
ffestc_shriek_select_(TRUE); */
@@ -4901,22 +3796,6 @@ ffestc_shriek_select_ (bool ok)
ffestc_try_shriek_do_ ();
}
-/* ffestc_shriek_structure_ -- End a STRUCTURE
-
- ffestc_shriek_structure_(TRUE); */
-
-#if FFESTR_VXT
-static void
-ffestc_shriek_structure_ (bool ok)
-{
- ffestd_V004 (ok);
-
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
/* ffestc_shriek_subroutine_ -- End a SUBROUTINE
ffestc_shriek_subroutine_(TRUE); */
@@ -4957,81 +3836,6 @@ ffestc_shriek_subroutine_ (bool ok)
}
}
-/* ffestc_shriek_type_ -- End a TYPE
-
- ffestc_shriek_type_(TRUE); */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_type_ (bool ok)
-{
- ffestd_R425 (ok);
-
- ffe_terminate_4 ();
-
- ffelex_token_kill (ffestw_name (ffestw_stack_top ()));
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
-/* ffestc_shriek_union_ -- End a UNION
-
- ffestc_shriek_union_(TRUE); */
-
-#if FFESTR_VXT
-static void
-ffestc_shriek_union_ (bool ok)
-{
- ffestd_V010 (ok);
-
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
-/* ffestc_shriek_where_ -- Implicit END WHERE statement
-
- ffestc_shriek_where_(TRUE);
-
- Implement the end of the current WHERE "block". ok==TRUE iff statement
- following WHERE (substatement) is valid; else, statement is invalid
- or stack forcibly popped due to ffestc_eof(). */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_where_ (bool ok)
-{
- ffestd_R745 (ok);
-
- ffestw_kill (ffestw_pop ());
- ffestc_shriek_after1_ = NULL;
- if (ffestw_state (ffestw_stack_top ()) == FFESTV_stateIF)
- ffestc_shriek_if_ (TRUE); /* "IF (x) WHERE (y) stmt" is only valid
- case. */
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
-/* ffestc_shriek_wherethen_ -- End a WHERE(-THEN)
-
- ffestc_shriek_wherethen_(TRUE); */
-
-#if FFESTR_F90
-static void
-ffestc_shriek_wherethen_ (bool ok)
-{
- ffestd_end_R740 (ok);
-
- ffestw_kill (ffestw_pop ());
-
- ffestc_try_shriek_do_ ();
-}
-
-#endif
/* ffestc_subr_binsrch_ -- Binary search of char const in list of strings
i = ffestc_subr_binsrch_(search_list,search_list_size,&spec,"etc");
@@ -5372,12 +4176,6 @@ ffestc_decl_start (ffestpType type, ffelexToken typet, ffebld kind,
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_start (type, typet, kind, kindt, len, lent);
- break;
-#endif
-
case 2:
ffestc_R501_start (type, typet, kind, kindt, len, lent);
break;
@@ -5401,27 +4199,11 @@ ffestc_decl_attrib (ffestpAttrib attrib UNUSED,
ffestrOther intent_kw UNUSED,
ffesttDimList dims UNUSED)
{
-#if FFESTR_F90
- switch (ffestc_local_.decl.is_R426)
- {
- case 1:
- ffestc_R426_attrib (attrib, attribt, intent_kw, dims);
- break;
-
- case 2:
- ffestc_R501_attrib (attrib, attribt, intent_kw, dims);
- break;
-
- default:
- break;
- }
-#else
ffebad_start (FFEBAD_F90);
ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
ffelex_token_where_column (ffesta_tokens[0]));
ffebad_finish ();
return;
-#endif
}
/* ffestc_decl_item -- R426 or R501
@@ -5437,13 +4219,6 @@ ffestc_decl_item (ffelexToken name, ffebld kind, ffelexToken kindt,
{
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_item (name, kind, kindt, dims, len, lent, init, initt,
- clist);
- break;
-#endif
-
case 2:
ffestc_R501_item (name, kind, kindt, dims, len, lent, init, initt,
clist);
@@ -5465,12 +4240,6 @@ ffestc_decl_itemstartvals ()
{
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_itemstartvals ();
- break;
-#endif
-
case 2:
ffestc_R501_itemstartvals ();
break;
@@ -5492,12 +4261,6 @@ ffestc_decl_itemvalue (ffebld repeat, ffelexToken repeat_token,
{
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_itemvalue (repeat, repeat_token, value, value_token);
- break;
-#endif
-
case 2:
ffestc_R501_itemvalue (repeat, repeat_token, value, value_token);
break;
@@ -5519,12 +4282,6 @@ ffestc_decl_itemendvals (ffelexToken t)
{
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_itemendvals (t);
- break;
-#endif
-
case 2:
ffestc_R501_itemendvals (t);
break;
@@ -5545,12 +4302,6 @@ ffestc_decl_finish ()
{
switch (ffestc_local_.decl.is_R426)
{
-#if FFESTR_F90
- case 1:
- ffestc_R426_finish ();
- break;
-#endif
-
case 2:
ffestc_R501_finish ();
break;
@@ -5576,9 +4327,6 @@ ffestc_elsewhere (ffelexToken where)
break;
default:
-#if FFESTR_F90
- ffestc_R744 ();
-#endif
break;
}
}
@@ -5635,9 +4383,6 @@ recurse:
case FFESTV_stateMODULE3:
case FFESTV_stateMODULE4:
case FFESTV_stateMODULE5:
-#if FFESTR_F90
- ffestc_R1106 (NULL);
-#endif
break;
case FFESTV_stateSUBROUTINE0:
@@ -5757,9 +4502,6 @@ recurse:
break;
case FFESTV_stateUSE:
-#if FFESTR_F90
- ffestc_shriek_end_uses_ (TRUE);
-#endif
goto recurse; /* :::::::::::::::::::: */
default:
@@ -5909,58 +4651,6 @@ ffestc_is_let_not_V027 ()
}
}
-/* ffestc_module -- MODULE or MODULE PROCEDURE statement
-
- ffestc_module(module_name_token,procedure_name_token);
-
- Decide which is intended, and implement it by calling _R1105_ or
- _R1205_. */
-
-#if FFESTR_F90
-void
-ffestc_module (ffelexToken module, ffelexToken procedure)
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateINTERFACE0:
- case FFESTV_stateINTERFACE1:
- ffestc_R1205_start ();
- ffestc_R1205_item (procedure);
- ffestc_R1205_finish ();
- break;
-
- default:
- ffestc_R1105 (module);
- break;
- }
-}
-
-#endif
-/* ffestc_private -- Generic PRIVATE statement
-
- ffestc_end();
-
- This is either a PRIVATE within R422 derived-type statement or an
- R521 PRIVATE statement. Figure it out based on context and implement
- it, or produce an error. */
-
-#if FFESTR_F90
-void
-ffestc_private ()
-{
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateTYPE:
- ffestc_R423A ();
- break;
-
- default:
- ffestc_R521B ();
- break;
- }
-}
-
-#endif
/* ffestc_terminate_4 -- Terminate ffestc after scoping unit
ffestc_terminate_4();
@@ -5974,275 +4664,6 @@ ffestc_terminate_4 ()
ffestc_entry_num_ = ffestc_saved_entry_num_;
}
-/* ffestc_R423A -- PRIVATE statement (in R422 derived-type statement)
-
- ffestc_R423A(); */
-
-#if FFESTR_F90
-void
-ffestc_R423A ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_type_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 0)
- {
- ffebad_start (FFEBAD_DERIVTYP_ACCESS_FIRST);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- return;
- }
-
- if (ffestw_state (ffestw_previous (ffestw_stack_top ())) != FFESTV_stateMODULE3)
- {
- ffebad_start (FFEBAD_DERIVTYP_ACCESS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_finish ();
- return;
- }
-
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen
- private-sequence-stmt. */
-
- ffestd_R423A ();
-}
-
-/* ffestc_R423B -- SEQUENCE statement (in R422 derived-type-stmt)
-
- ffestc_R423B(); */
-
-void
-ffestc_R423B ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_type_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 0)
- {
- ffebad_start (FFEBAD_DERIVTYP_ACCESS_FIRST);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- return;
- }
-
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen
- private-sequence-stmt. */
-
- ffestd_R423B ();
-}
-
-/* ffestc_R424 -- derived-TYPE-def statement
-
- ffestc_R424(access_token,access_kw,name_token);
-
- Handle a derived-type definition. */
-
-void
-ffestc_R424 (ffelexToken access, ffestrOther access_kw, ffelexToken name)
-{
- ffestw b;
-
- assert (name != NULL);
-
- ffestc_check_simple_ ();
- if (ffestc_order_derivedtype_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if ((access != NULL)
- && (ffestw_state (ffestw_stack_top ()) != FFESTV_stateMODULE3))
- {
- ffebad_start (FFEBAD_DERIVTYP_ACCESS);
- ffebad_here (0, ffelex_token_where_line (access),
- ffelex_token_where_column (access));
- ffebad_finish ();
- access = NULL;
- }
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateTYPE);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_type_);
- ffestw_set_name (b, ffelex_token_use (name));
- ffestw_set_substate (b, 0); /* Awaiting private-sequence-stmt and one
- component-def-stmt. */
-
- ffestd_R424 (access, access_kw, name);
-
- ffe_init_4 ();
-}
-
-/* ffestc_R425 -- END TYPE statement
-
- ffestc_R425(name_token);
-
- Make sure ffestc_kind_ identifies a TYPE definition. If not
- NULL, make sure name_token gives the correct name. Implement the end
- of the type definition. */
-
-void
-ffestc_R425 (ffelexToken name)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_type_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 2)
- {
- ffebad_start (FFEBAD_DERIVTYP_NO_COMPONENTS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- }
-
- if ((name != NULL)
- && (ffelex_token_strcmp (name, ffestw_name (ffestw_stack_top ())) != 0))
- {
- ffebad_start (FFEBAD_TYPE_WRONG_NAME);
- ffebad_here (0, ffelex_token_where_line (name),
- ffelex_token_where_column (name));
- ffebad_here (1, ffelex_token_where_line (ffestw_name (ffestw_stack_top ())),
- ffelex_token_where_column (ffestw_name (ffestw_stack_top ())));
- ffebad_finish ();
- }
-
- ffestc_shriek_type_ (TRUE);
-}
-
-/* ffestc_R426_start -- component-declaration-stmt
-
- ffestc_R426_start(...);
-
- Verify that R426 component-declaration-stmt is
- valid here and implement. */
-
-void
-ffestc_R426_start (ffestpType type, ffelexToken typet, ffebld kind,
- ffelexToken kindt, ffebld len, ffelexToken lent)
-{
- ffestc_check_start_ ();
- if (ffestc_order_component_ () != FFESTC_orderOK_)
- {
- ffestc_local_.decl.is_R426 = 0;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen at least one
- member. */
- break;
-
- case FFESTV_stateTYPE:
- ffestw_set_substate (ffestw_stack_top (), 2);
- break;
-
- default:
- assert ("Component parent state invalid" == NULL);
- break;
- }
-}
-
-/* ffestc_R426_attrib -- type attribute
-
- ffestc_R426_attrib(...);
-
- Verify that R426 component-declaration-stmt attribute
- is valid here and implement. */
-
-void
-ffestc_R426_attrib (ffestpAttrib attrib, ffelexToken attribt,
- ffestrOther intent_kw, ffesttDimList dims)
-{
- ffestc_check_attrib_ ();
-}
-
-/* ffestc_R426_item -- declared object
-
- ffestc_R426_item(...);
-
- Establish type for a particular object. */
-
-void
-ffestc_R426_item (ffelexToken name, ffebld kind, ffelexToken kindt,
- ffesttDimList dims, ffebld len, ffelexToken lent, ffebld init,
- ffelexToken initt, bool clist)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- assert (ffelex_token_type (name) == FFELEX_typeNAME); /* Not NAMES. */
- assert (kind == NULL); /* No way an expression should get here. */
-
- if ((dims != NULL) || (init != NULL) || clist)
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-}
-
-/* ffestc_R426_itemstartvals -- Start list of values
-
- ffestc_R426_itemstartvals();
-
- Gonna specify values for the object now. */
-
-void
-ffestc_R426_itemstartvals ()
-{
- ffestc_check_item_startvals_ ();
-}
-
-/* ffestc_R426_itemvalue -- Source value
-
- ffestc_R426_itemvalue(repeat,repeat_token,value,value_token);
-
- Make sure repeat and value are valid for the object being initialized. */
-
-void
-ffestc_R426_itemvalue (ffebld repeat, ffelexToken repeat_token,
- ffebld value, ffelexToken value_token)
-{
- ffestc_check_item_value_ ();
-}
-
-/* ffestc_R426_itemendvals -- End list of values
-
- ffelexToken t; // the SLASH token that ends the list.
- ffestc_R426_itemendvals(t);
-
- No more values, might specify more objects now. */
-
-void
-ffestc_R426_itemendvals (ffelexToken t)
-{
- ffestc_check_item_endvals_ ();
-}
-
-/* ffestc_R426_finish -- Done
-
- ffestc_R426_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R426_finish ()
-{
- ffestc_check_finish_ ();
-}
-
-#endif
/* ffestc_R501_start -- type-declaration-stmt
ffestc_R501_start(...);
@@ -6281,11 +4702,6 @@ ffestc_R501_attrib (ffestpAttrib attrib, ffelexToken attribt,
switch (attrib)
{
-#if FFESTR_F90
- case FFESTP_attribALLOCATABLE:
- break;
-#endif
-
case FFESTP_attribDIMENSION:
ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
break;
@@ -6293,35 +4709,12 @@ ffestc_R501_attrib (ffestpAttrib attrib, ffelexToken attribt,
case FFESTP_attribEXTERNAL:
break;
-#if FFESTR_F90
- case FFESTP_attribINTENT:
- break;
-#endif
-
case FFESTP_attribINTRINSIC:
break;
-#if FFESTR_F90
- case FFESTP_attribOPTIONAL:
- break;
-#endif
-
case FFESTP_attribPARAMETER:
break;
-#if FFESTR_F90
- case FFESTP_attribPOINTER:
- break;
-#endif
-
-#if FFESTR_F90
- case FFESTP_attribPRIVATE:
- break;
-
- case FFESTP_attribPUBLIC:
- break;
-#endif
-
case FFESTP_attribSAVE:
switch (ffestv_save_state_)
{
@@ -6355,11 +4748,6 @@ ffestc_R501_attrib (ffestpAttrib attrib, ffelexToken attribt,
}
break;
-#if FFESTR_F90
- case FFESTP_attribTARGET:
- break;
-#endif
-
default:
assert ("unexpected attribute" == NULL);
break;
@@ -6708,318 +5096,6 @@ ffestc_R501_finish ()
ffestc_check_finish_ ();
}
-/* ffestc_R519_start -- INTENT statement list begin
-
- ffestc_R519_start();
-
- Verify that INTENT is valid here, and begin accepting items in the list. */
-
-#if FFESTR_F90
-void
-ffestc_R519_start (ffelexToken intent, ffestrOther intent_kw)
-{
- ffestc_check_start_ ();
- if (ffestc_order_spec_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R519_start (intent_kw);
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R519_item -- INTENT statement for name
-
- ffestc_R519_item(name_token);
-
- Make sure name_token identifies a valid object to be INTENTed. */
-
-void
-ffestc_R519_item (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R519_item (name);
-}
-
-/* ffestc_R519_finish -- INTENT statement list complete
-
- ffestc_R519_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R519_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R519_finish ();
-}
-
-/* ffestc_R520_start -- OPTIONAL statement list begin
-
- ffestc_R520_start();
-
- Verify that OPTIONAL is valid here, and begin accepting items in the list. */
-
-void
-ffestc_R520_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_spec_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R520_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R520_item -- OPTIONAL statement for name
-
- ffestc_R520_item(name_token);
-
- Make sure name_token identifies a valid object to be OPTIONALed. */
-
-void
-ffestc_R520_item (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R520_item (name);
-}
-
-/* ffestc_R520_finish -- OPTIONAL statement list complete
-
- ffestc_R520_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R520_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R520_finish ();
-}
-
-/* ffestc_R521A -- PUBLIC statement
-
- ffestc_R521A();
-
- Verify that PUBLIC is valid here. */
-
-void
-ffestc_R521A ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_access_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- switch (ffestv_access_state_)
- {
- case FFESTV_accessstateNONE:
- ffestv_access_state_ = FFESTV_accessstatePUBLIC;
- ffestv_access_line_
- = ffewhere_line_use (ffelex_token_where_line (ffesta_tokens[0]));
- ffestv_access_col_
- = ffewhere_column_use (ffelex_token_where_column (ffesta_tokens[0]));
- break;
-
- case FFESTV_accessstateANY:
- break;
-
- case FFESTV_accessstatePUBLIC:
- case FFESTV_accessstatePRIVATE:
- ffebad_start (FFEBAD_CONFLICTING_ACCESSES);
- ffebad_here (0, ffestv_access_line_, ffestv_access_col_);
- ffebad_here (1, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_finish ();
- ffestv_access_state_ = FFESTV_accessstateANY;
- break;
-
- default:
- assert ("unexpected access state" == NULL);
- break;
- }
-
- ffestd_R521A ();
-}
-
-/* ffestc_R521Astart -- PUBLIC statement list begin
-
- ffestc_R521Astart();
-
- Verify that PUBLIC is valid here, and begin accepting items in the list. */
-
-void
-ffestc_R521Astart ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_access_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R521Astart ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R521Aitem -- PUBLIC statement for name
-
- ffestc_R521Aitem(name_token);
-
- Make sure name_token identifies a valid object to be PUBLICed. */
-
-void
-ffestc_R521Aitem (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R521Aitem (name);
-}
-
-/* ffestc_R521Afinish -- PUBLIC statement list complete
-
- ffestc_R521Afinish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R521Afinish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R521Afinish ();
-}
-
-/* ffestc_R521B -- PRIVATE statement
-
- ffestc_R521B();
-
- Verify that PRIVATE is valid here (outside a derived-type statement). */
-
-void
-ffestc_R521B ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_access_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- switch (ffestv_access_state_)
- {
- case FFESTV_accessstateNONE:
- ffestv_access_state_ = FFESTV_accessstatePRIVATE;
- ffestv_access_line_
- = ffewhere_line_use (ffelex_token_where_line (ffesta_tokens[0]));
- ffestv_access_col_
- = ffewhere_column_use (ffelex_token_where_column (ffesta_tokens[0]));
- break;
-
- case FFESTV_accessstateANY:
- break;
-
- case FFESTV_accessstatePUBLIC:
- case FFESTV_accessstatePRIVATE:
- ffebad_start (FFEBAD_CONFLICTING_ACCESSES);
- ffebad_here (0, ffestv_access_line_, ffestv_access_col_);
- ffebad_here (1, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_finish ();
- ffestv_access_state_ = FFESTV_accessstateANY;
- break;
-
- default:
- assert ("unexpected access state" == NULL);
- break;
- }
-
- ffestd_R521B ();
-}
-
-/* ffestc_R521Bstart -- PRIVATE statement list begin
-
- ffestc_R521Bstart();
-
- Verify that PRIVATE is valid here, and begin accepting items in the list. */
-
-void
-ffestc_R521Bstart ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_access_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R521Bstart ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R521Bitem -- PRIVATE statement for name
-
- ffestc_R521Bitem(name_token);
-
- Make sure name_token identifies a valid object to be PRIVATEed. */
-
-void
-ffestc_R521Bitem (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R521Bitem (name);
-}
-
-/* ffestc_R521Bfinish -- PRIVATE statement list complete
-
- ffestc_R521Bfinish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R521Bfinish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R521Bfinish ();
-}
-
-#endif
/* ffestc_R522 -- SAVE statement with no list
ffestc_R522();
@@ -7420,182 +5496,6 @@ ffestc_R524_finish ()
ffestd_R524_finish ();
}
-/* ffestc_R525_start -- ALLOCATABLE statement list begin
-
- ffestc_R525_start();
-
- Verify that ALLOCATABLE is valid here, and begin accepting items in the
- list. */
-
-#if FFESTR_F90
-void
-ffestc_R525_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_progspec_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R525_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R525_item -- ALLOCATABLE statement for object-name
-
- ffestc_R525_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be ALLOCATABLEd. */
-
-void
-ffestc_R525_item (ffelexToken name, ffesttDimList dims)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-
- ffestd_R525_item (name, dims);
-}
-
-/* ffestc_R525_finish -- ALLOCATABLE statement list complete
-
- ffestc_R525_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R525_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R525_finish ();
-}
-
-/* ffestc_R526_start -- POINTER statement list begin
-
- ffestc_R526_start();
-
- Verify that POINTER is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_R526_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_progspec_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R526_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R526_item -- POINTER statement for object-name
-
- ffestc_R526_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be POINTERd. */
-
-void
-ffestc_R526_item (ffelexToken name, ffesttDimList dims)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-
- ffestd_R526_item (name, dims);
-}
-
-/* ffestc_R526_finish -- POINTER statement list complete
-
- ffestc_R526_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R526_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R526_finish ();
-}
-
-/* ffestc_R527_start -- TARGET statement list begin
-
- ffestc_R527_start();
-
- Verify that TARGET is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_R527_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_progspec_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R527_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R527_item -- TARGET statement for object-name
-
- ffestc_R527_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be TARGETd. */
-
-void
-ffestc_R527_item (ffelexToken name, ffesttDimList dims)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-
- ffestd_R527_item (name, dims);
-}
-
-/* ffestc_R527_finish -- TARGET statement list complete
-
- ffestc_R527_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R527_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R527_finish ();
-}
-
-#endif
/* ffestc_R528_start -- DATA statement list begin
ffestc_R528_start();
@@ -8556,86 +6456,6 @@ ffestc_R547_finish ()
ffestd_R547_finish ();
}
-/* ffestc_R620 -- ALLOCATE statement
-
- ffestc_R620(exprlist,stat,stat_token);
-
- Make sure the expression list is valid, then implement it. */
-
-#if FFESTR_F90
-void
-ffestc_R620 (ffesttExprList exprlist, ffebld stat, ffelexToken stat_token)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R620 (exprlist, stat);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_R624 -- NULLIFY statement
-
- ffestc_R624(pointer_name_list);
-
- Make sure pointer_name_list identifies valid pointers for a NULLIFY. */
-
-void
-ffestc_R624 (ffesttExprList pointers)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R624 (pointers);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_R625 -- DEALLOCATE statement
-
- ffestc_R625(exprlist,stat,stat_token);
-
- Make sure the equivalence is valid, then implement it. */
-
-void
-ffestc_R625 (ffesttExprList exprlist, ffebld stat, ffelexToken stat_token)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R625 (exprlist, stat);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-#endif
-/* ffestc_let -- R1213 or R737
-
- ffestc_let(...);
-
- Verify that R1213 defined-assignment or R737 assignment-stmt are
- valid here, figure out which one, and implement. */
-
-#if FFESTR_F90
-void
-ffestc_let (ffebld dest, ffebld source, ffelexToken source_token)
-{
- ffestc_R737 (dest, source, source_token);
-}
-
-#endif
/* ffestc_R737 -- Assignment statement
ffestc_R737(dest_expr,source_expr,source_token);
@@ -8647,26 +6467,6 @@ ffestc_R737 (ffebld dest, ffebld source, ffelexToken source_token)
{
ffestc_check_simple_ ();
- switch (ffestw_state (ffestw_stack_top ()))
- {
-#if FFESTR_F90
- case FFESTV_stateWHERE:
- case FFESTV_stateWHERETHEN:
- if (ffestc_order_actionwhere_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestd_R737B (dest, source);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- return;
-#endif
-
- default:
- break;
- }
-
if (ffestc_order_actionwhere_ () != FFESTC_orderOK_)
return;
ffestc_labeldef_branch_begin_ ();
@@ -8681,130 +6481,6 @@ ffestc_R737 (ffebld dest, ffebld source, ffelexToken source_token)
ffestc_labeldef_branch_end_ ();
}
-/* ffestc_R738 -- Pointer assignment statement
-
- ffestc_R738(dest_expr,source_expr,source_token);
-
- Make sure the assignment is valid. */
-
-#if FFESTR_F90
-void
-ffestc_R738 (ffebld dest, ffebld source, ffelexToken source_token)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R738 (dest, source);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_R740 -- WHERE statement
-
- ffestc_R740(expr,expr_token);
-
- Make sure statement is valid here; implement. */
-
-void
-ffestc_R740 (ffebld expr, ffelexToken expr_token)
-{
- ffestw b;
-
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, ffestw_top_do (ffestw_previous (b)));
- ffestw_set_state (b, FFESTV_stateWHERE);
- ffestw_set_blocknum (b, ffestc_blocknum_++);
- ffestw_set_shriek (b, ffestc_shriek_where_lost_);
-
- ffestd_R740 (expr);
-
- /* Leave label finishing to next statement. */
-
-}
-
-/* ffestc_R742 -- WHERE-construct statement
-
- ffestc_R742(expr,expr_token);
-
- Make sure statement is valid here; implement. */
-
-void
-ffestc_R742 (ffebld expr, ffelexToken expr_token)
-{
- ffestw b;
-
- ffestc_check_simple_ ();
- if (ffestc_order_exec_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_notloop_probably_this_wont_work_ ();
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, ffestw_top_do (ffestw_previous (b)));
- ffestw_set_state (b, FFESTV_stateWHERETHEN);
- ffestw_set_blocknum (b, ffestc_blocknum_++);
- ffestw_set_shriek (b, ffestc_shriek_wherethen_);
- ffestw_set_substate (b, 0); /* Haven't seen ELSEWHERE yet. */
-
- ffestd_R742 (expr);
-}
-
-/* ffestc_R744 -- ELSE WHERE statement
-
- ffestc_R744();
-
- Make sure ffestc_kind_ identifies a WHERE block.
- Implement the ELSE of the current WHERE block. */
-
-void
-ffestc_R744 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_where_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 0)
- {
- ffebad_start (FFEBAD_SECOND_ELSE_WHERE);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- }
-
- ffestw_set_substate (ffestw_stack_top (), 1); /* Saw ELSEWHERE. */
-
- ffestd_R744 ();
-}
-
-/* ffestc_R745 -- END WHERE statement
-
- ffestc_R745();
-
- Make sure ffestc_kind_ identifies a WHERE block.
- Implement the end of the current WHERE block. */
-
-void
-ffestc_R745 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_where_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestc_shriek_wherethen_ (TRUE);
-}
-
-#endif
/* ffestc_R803 -- Block IF (IF-THEN) statement
ffestc_R803(construct_name,expr,expr_token);
@@ -10119,27 +7795,9 @@ ffestc_R841 ()
if (ffestc_order_actionwhere_ () != FFESTC_orderOK_)
return;
- switch (ffestw_state (ffestw_stack_top ()))
- {
-#if FFESTR_F90
- case FFESTV_stateWHERE:
- case FFESTV_stateWHERETHEN:
- ffestc_labeldef_useless_ ();
-
- ffestd_R841 (TRUE);
-
- /* It's okay that we call ffestc_labeldef_branch_end_ () below,
- since that will be a no-op after calling _useless_ () above. */
- break;
-#endif
-
- default:
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R841 (FALSE);
+ ffestc_labeldef_branch_begin_ ();
- break;
- }
+ ffestd_R841 (FALSE);
if (ffestc_shriek_after1_ != NULL)
(*ffestc_shriek_after1_) (TRUE);
@@ -11496,124 +9154,6 @@ ffestc_R1103 (ffelexToken name)
ffestc_shriek_end_program_ (TRUE);
}
-/* ffestc_R1105 -- MODULE statement
-
- ffestc_R1105(name_token);
-
- Make sure ffestc_kind_ identifies an empty block. Make sure name_token
- gives a valid name. Implement the beginning of a module. */
-
-#if FFESTR_F90
-void
-ffestc_R1105 (ffelexToken name)
-{
- ffestw b;
-
- assert (name != NULL);
-
- ffestc_check_simple_ ();
- if (ffestc_order_unit_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestc_blocknum_ = 0;
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateMODULE0);
- ffestw_set_blocknum (b, ffestc_blocknum_++);
- ffestw_set_shriek (b, ffestc_shriek_module_);
- ffestw_set_name (b, ffelex_token_use (name));
-
- ffestd_R1105 (name);
-}
-
-/* ffestc_R1106 -- END MODULE statement
-
- ffestc_R1106(name_token);
-
- Make sure ffestc_kind_ identifies the current kind of program unit. If not
- NULL, make sure name_token gives the correct name. Implement the end
- of the current program unit. */
-
-void
-ffestc_R1106 (ffelexToken name)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_module_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if ((name != NULL)
- && (ffelex_token_strcmp (name, ffestw_name (ffestw_stack_top ())) != 0))
- {
- ffebad_start (FFEBAD_UNIT_WRONG_NAME);
- ffebad_here (0, ffelex_token_where_line (name),
- ffelex_token_where_column (name));
- ffebad_here (1, ffelex_token_where_line (ffestw_name (ffestw_stack_top ())),
- ffelex_token_where_column (ffestw_name (ffestw_stack_top ())));
- ffebad_finish ();
- }
-
- ffestc_shriek_module_ (TRUE);
-}
-
-/* ffestc_R1107_start -- USE statement list begin
-
- ffestc_R1107_start();
-
- Verify that USE is valid here, and begin accepting items in the list. */
-
-void
-ffestc_R1107_start (ffelexToken name, bool only)
-{
- ffestc_check_start_ ();
- if (ffestc_order_use_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- ffestd_R1107_start (name, only);
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R1107_item -- USE statement for name
-
- ffestc_R1107_item(local_token,use_token);
-
- Make sure name_token identifies a valid object to be USEed. local_token
- may be NULL if _start_ was called with only==TRUE. */
-
-void
-ffestc_R1107_item (ffelexToken local, ffelexToken use)
-{
- ffestc_check_item_ ();
- assert (use != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R1107_item (local, use);
-}
-
-/* ffestc_R1107_finish -- USE statement list complete
-
- ffestc_R1107_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R1107_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R1107_finish ();
-}
-
-#endif
/* ffestc_R1111 -- BLOCK DATA statement
ffestc_R1111(name_token);
@@ -11707,139 +9247,6 @@ ffestc_R1112 (ffelexToken name)
ffestc_shriek_blockdata_ (TRUE);
}
-/* ffestc_R1202 -- INTERFACE statement
-
- ffestc_R1202(operator,defined_name);
-
- Make sure ffestc_kind_ identifies an INTERFACE block.
- Implement the end of the current interface.
-
- 15-May-90 JCB 1.1
- Allow no operator or name to mean INTERFACE by itself; missed this
- valid form when originally doing syntactic analysis code. */
-
-#if FFESTR_F90
-void
-ffestc_R1202 (ffestpDefinedOperator operator, ffelexToken name)
-{
- ffestw b;
-
- ffestc_check_simple_ ();
- if (ffestc_order_interfacespec_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateINTERFACE0);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_interface_);
-
- if ((operator == FFESTP_definedoperatorNone) && (name == NULL))
- ffestw_set_substate (b, 0); /* No generic-spec, so disallow MODULE
- PROCEDURE. */
- else
- ffestw_set_substate (b, 1); /* MODULE PROCEDURE ok. */
-
- ffestd_R1202 (operator, name);
-
- ffe_init_4 ();
-}
-
-/* ffestc_R1203 -- END INTERFACE statement
-
- ffestc_R1203();
-
- Make sure ffestc_kind_ identifies an INTERFACE block.
- Implement the end of the current interface. */
-
-void
-ffestc_R1203 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_interface_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestc_shriek_interface_ (TRUE);
-
- ffe_terminate_4 ();
-}
-
-/* ffestc_R1205_start -- MODULE PROCEDURE statement list begin
-
- ffestc_R1205_start();
-
- Verify that MODULE PROCEDURE is valid here, and begin accepting items in
- the list. */
-
-void
-ffestc_R1205_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_interface_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) == 0)
- {
- ffebad_start (FFEBAD_INVALID_MODULE_PROCEDURE);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- ffestc_ok_ = FALSE;
- return;
- }
-
- if (ffestw_state (ffestw_stack_top ()) == FFESTV_stateINTERFACE0)
- {
- ffestw_update (NULL); /* Update state line/col info. */
- ffestw_set_state (ffestw_stack_top (), FFESTV_stateINTERFACE1);
- }
-
- ffestd_R1205_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_R1205_item -- MODULE PROCEDURE statement for name
-
- ffestc_R1205_item(name_token);
-
- Make sure name_token identifies a valid object to be MODULE PROCEDUREed. */
-
-void
-ffestc_R1205_item (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_R1205_item (name);
-}
-
-/* ffestc_R1205_finish -- MODULE PROCEDURE statement list complete
-
- ffestc_R1205_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_R1205_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_R1205_finish ();
-}
-
-#endif
/* ffestc_R1207_start -- EXTERNAL statement list begin
ffestc_R1207_start();
@@ -12104,29 +9511,6 @@ ffestc_R1212 (ffebld expr, ffelexToken expr_token UNUSED)
ffestc_labeldef_branch_end_ ();
}
-/* ffestc_R1213 -- Defined assignment statement
-
- ffestc_R1213(dest_expr,source_expr,source_token);
-
- Make sure the assignment is valid. */
-
-#if FFESTR_F90
-void
-ffestc_R1213 (ffebld dest, ffebld source, ffelexToken source_token)
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_R1213 (dest, source);
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-#endif
/* ffestc_R1219 -- FUNCTION statement
ffestc_R1219(funcname,arglist,ending_token,kind,kindt,len,lent,
@@ -12702,26 +10086,6 @@ ffestc_R1227 (ffebld expr, ffelexToken expr_token)
ffestc_labeldef_branch_end_ ();
}
-/* ffestc_R1228 -- CONTAINS statement
-
- ffestc_R1228(); */
-
-#if FFESTR_F90
-void
-ffestc_R1228 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_contains_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestd_R1228 ();
-
- ffe_terminate_3 ();
- ffe_init_3 ();
-}
-
-#endif
/* ffestc_R1229_start -- STMTFUNCTION statement begin
ffestc_R1229_start(func_name,func_arg_list,close_paren);
@@ -12860,255 +10224,6 @@ ffestc_S3P4 (ffebld filename, ffelexToken filename_token UNUSED)
ffestd_S3P4 (filename);
}
-/* ffestc_V003_start -- STRUCTURE statement list begin
-
- ffestc_V003_start(structure_name);
-
- Verify that STRUCTURE is valid here, and begin accepting items in the list. */
-
-#if FFESTR_VXT
-void
-ffestc_V003_start (ffelexToken structure_name)
-{
- ffestw b;
-
- ffestc_check_start_ ();
- if (ffestc_order_vxtstructure_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- ffestc_local_.V003.list_state = 2; /* Require at least one field
- name. */
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen at least one
- member. */
- break;
-
- default:
- ffestc_local_.V003.list_state = 0; /* No field names required. */
- if (structure_name == NULL)
- {
- ffebad_start (FFEBAD_STRUCT_MISSING_NAME);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_finish ();
- }
- break;
- }
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateSTRUCTURE);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_structure_);
- ffestw_set_substate (b, 0); /* No field-declarations seen yet. */
-
- ffestd_V003_start (structure_name);
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V003_item -- STRUCTURE statement for object-name
-
- ffestc_V003_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be STRUCTUREd. */
-
-void
-ffestc_V003_item (ffelexToken name, ffesttDimList dims)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- if (ffestc_local_.V003.list_state < 2)
- {
- if (ffestc_local_.V003.list_state == 0)
- {
- ffestc_local_.V003.list_state = 1;
- ffebad_start (FFEBAD_STRUCT_IGNORING_FIELD);
- ffebad_here (0, ffelex_token_where_line (name),
- ffelex_token_where_column (name));
- ffebad_finish ();
- }
- return;
- }
- ffestc_local_.V003.list_state = 3; /* Have at least one field name. */
-
- if (dims != NULL)
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-
- ffestd_V003_item (name, dims);
-}
-
-/* ffestc_V003_finish -- STRUCTURE statement list complete
-
- ffestc_V003_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V003_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- if (ffestc_local_.V003.list_state == 2)
- {
- ffebad_start (FFEBAD_STRUCT_MISSING_FIELD);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_previous (ffestw_stack_top ())),
- ffestw_col (ffestw_previous (ffestw_stack_top ())));
- ffebad_finish ();
- }
-
- ffestd_V003_finish ();
-}
-
-/* ffestc_V004 -- END STRUCTURE statement
-
- ffestc_V004();
-
- Make sure ffestc_kind_ identifies a STRUCTURE block.
- Implement the end of the current STRUCTURE block. */
-
-void
-ffestc_V004 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_structure_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 1)
- {
- ffebad_start (FFEBAD_STRUCT_NO_COMPONENTS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- }
-
- ffestc_shriek_structure_ (TRUE);
-}
-
-/* ffestc_V009 -- UNION statement
-
- ffestc_V009(); */
-
-void
-ffestc_V009 ()
-{
- ffestw b;
-
- ffestc_check_simple_ ();
- if (ffestc_order_structure_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen at least one member. */
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateUNION);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_union_);
- ffestw_set_substate (b, 0); /* No map decls seen yet. */
-
- ffestd_V009 ();
-}
-
-/* ffestc_V010 -- END UNION statement
-
- ffestc_V010();
-
- Make sure ffestc_kind_ identifies a UNION block.
- Implement the end of the current UNION block. */
-
-void
-ffestc_V010 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_union_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 2)
- {
- ffebad_start (FFEBAD_UNION_NO_TWO_MAPS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- }
-
- ffestc_shriek_union_ (TRUE);
-}
-
-/* ffestc_V012 -- MAP statement
-
- ffestc_V012(); */
-
-void
-ffestc_V012 ()
-{
- ffestw b;
-
- ffestc_check_simple_ ();
- if (ffestc_order_union_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 2)
- ffestw_substate (ffestw_stack_top ())++; /* 0=>1, 1=>2. */
-
- b = ffestw_update (ffestw_push (NULL));
- ffestw_set_top_do (b, NULL);
- ffestw_set_state (b, FFESTV_stateMAP);
- ffestw_set_blocknum (b, 0);
- ffestw_set_shriek (b, ffestc_shriek_map_);
- ffestw_set_substate (b, 0); /* No field-declarations seen yet. */
-
- ffestd_V012 ();
-}
-
-/* ffestc_V013 -- END MAP statement
-
- ffestc_V013();
-
- Make sure ffestc_kind_ identifies a MAP block.
- Implement the end of the current MAP block. */
-
-void
-ffestc_V013 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_map_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_useless_ ();
-
- if (ffestw_substate (ffestw_stack_top ()) != 1)
- {
- ffebad_start (FFEBAD_MAP_NO_COMPONENTS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_here (1, ffestw_line (ffestw_stack_top ()), ffestw_col (ffestw_stack_top ()));
- ffebad_finish ();
- }
-
- ffestc_shriek_map_ (TRUE);
-}
-
-#endif
/* ffestc_V014_start -- VOLATILE statement list begin
ffestc_V014_start();
@@ -13182,284 +10297,6 @@ ffestc_V014_finish ()
ffestd_V014_finish ();
}
-/* ffestc_V016_start -- RECORD statement list begin
-
- ffestc_V016_start();
-
- Verify that RECORD is valid here, and begin accepting items in the list. */
-
-#if FFESTR_VXT
-void
-ffestc_V016_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_record_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_useless_ ();
-
- switch (ffestw_state (ffestw_stack_top ()))
- {
- case FFESTV_stateSTRUCTURE:
- case FFESTV_stateMAP:
- ffestw_set_substate (ffestw_stack_top (), 1); /* Seen at least one
- member. */
- break;
-
- default:
- break;
- }
-
- ffestd_V016_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V016_item_structure -- RECORD statement for common-block-name
-
- ffestc_V016_item_structure(name_token);
-
- Make sure name_token identifies a valid structure to be RECORDed. */
-
-void
-ffestc_V016_item_structure (ffelexToken name)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- ffestd_V016_item_structure (name);
-}
-
-/* ffestc_V016_item_object -- RECORD statement for object-name
-
- ffestc_V016_item_object(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be RECORDd. */
-
-void
-ffestc_V016_item_object (ffelexToken name, ffesttDimList dims)
-{
- ffestc_check_item_ ();
- assert (name != NULL);
- if (!ffestc_ok_)
- return;
-
- if (dims != NULL)
- ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
-
- ffestd_V016_item_object (name, dims);
-}
-
-/* ffestc_V016_finish -- RECORD statement list complete
-
- ffestc_V016_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V016_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V016_finish ();
-}
-
-/* ffestc_V018_start -- REWRITE(...) statement list begin
-
- ffestc_V018_start();
-
- Verify that REWRITE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_V018_start ()
-{
- ffestvFormat format;
-
- ffestc_check_start_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_branch_begin_ ();
-
- if (!ffestc_subr_is_branch_
- (&ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixERR])
- || !ffestc_subr_is_format_
- (&ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT])
- || !ffestc_subr_is_present_ ("UNIT",
- &ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixUNIT]))
- {
- ffestc_ok_ = FALSE;
- return;
- }
-
- format = ffestc_subr_format_
- (&ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT]);
- switch (format)
- {
- case FFESTV_formatNAMELIST:
- case FFESTV_formatASTERISK:
- ffebad_start (FFEBAD_CONFLICTING_SPECS);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- assert (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw_or_val_present);
- if (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw_present)
- {
- ffebad_here (0, ffelex_token_where_line
- (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw),
- ffelex_token_where_column
- (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].kw));
- }
- else
- {
- ffebad_here (1, ffelex_token_where_line
- (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].value),
- ffelex_token_where_column
- (ffestp_file.rewrite.rewrite_spec[FFESTP_rewriteixFMT].value));
- }
- ffebad_finish ();
- ffestc_ok_ = FALSE;
- return;
-
- default:
- break;
- }
-
- ffestd_V018_start (format);
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V018_item -- REWRITE statement i/o item
-
- ffestc_V018_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestc_V018_item (ffebld expr, ffelexToken expr_token)
-{
- ffestc_check_item_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V018_item (expr);
-}
-
-/* ffestc_V018_finish -- REWRITE statement list complete
-
- ffestc_V018_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V018_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V018_finish ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V019_start -- ACCEPT statement list begin
-
- ffestc_V019_start();
-
- Verify that ACCEPT is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_V019_start ()
-{
- ffestvFormat format;
-
- ffestc_check_start_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_branch_begin_ ();
-
- if (!ffestc_subr_is_format_
- (&ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT]))
- {
- ffestc_ok_ = FALSE;
- return;
- }
-
- format = ffestc_subr_format_
- (&ffestp_file.accept.accept_spec[FFESTP_acceptixFORMAT]);
- ffestc_namelist_ = (format == FFESTV_formatNAMELIST);
-
- ffestd_V019_start (format);
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V019_item -- ACCEPT statement i/o item
-
- ffestc_V019_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestc_V019_item (ffebld expr, ffelexToken expr_token)
-{
- ffestc_check_item_ ();
- if (!ffestc_ok_)
- return;
-
- if (ffestc_namelist_ != 0)
- {
- if (ffestc_namelist_ == 1)
- {
- ffestc_namelist_ = 2;
- ffebad_start (FFEBAD_NAMELIST_ITEMS);
- ffebad_here (0, ffelex_token_where_line (expr_token),
- ffelex_token_where_column (expr_token));
- ffebad_finish ();
- }
- return;
- }
-
- ffestd_V019_item (expr);
-}
-
-/* ffestc_V019_finish -- ACCEPT statement list complete
-
- ffestc_V019_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V019_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V019_finish ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-#endif
/* ffestc_V020_start -- TYPE statement list begin
ffestc_V020_start();
@@ -13545,277 +10382,6 @@ ffestc_V020_finish ()
ffestc_labeldef_branch_end_ ();
}
-/* ffestc_V021 -- DELETE statement
-
- ffestc_V021();
-
- Make sure a DELETE is valid in the current context, and implement it. */
-
-#if FFESTR_VXT
-void
-ffestc_V021 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- if (ffestc_subr_is_branch_
- (&ffestp_file.delete.delete_spec[FFESTP_deleteixERR])
- && ffestc_subr_is_present_ ("UNIT",
- &ffestp_file.delete.delete_spec[FFESTP_deleteixUNIT]))
- ffestd_V021 ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V022 -- UNLOCK statement
-
- ffestc_V022();
-
- Make sure a UNLOCK is valid in the current context, and implement it. */
-
-void
-ffestc_V022 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- if (ffestc_subr_is_branch_
- (&ffestp_file.beru.beru_spec[FFESTP_beruixERR])
- && ffestc_subr_is_present_ ("UNIT",
- &ffestp_file.beru.beru_spec[FFESTP_beruixUNIT]))
- ffestd_V022 ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V023_start -- ENCODE(...) statement list begin
-
- ffestc_V023_start();
-
- Verify that ENCODE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_V023_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_branch_begin_ ();
-
- if (!ffestc_subr_is_branch_
- (&ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixERR]))
- {
- ffestc_ok_ = FALSE;
- return;
- }
-
- ffestd_V023_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V023_item -- ENCODE statement i/o item
-
- ffestc_V023_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestc_V023_item (ffebld expr, ffelexToken expr_token)
-{
- ffestc_check_item_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V023_item (expr);
-}
-
-/* ffestc_V023_finish -- ENCODE statement list complete
-
- ffestc_V023_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V023_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V023_finish ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V024_start -- DECODE(...) statement list begin
-
- ffestc_V024_start();
-
- Verify that DECODE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_V024_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_branch_begin_ ();
-
- if (!ffestc_subr_is_branch_
- (&ffestp_file.vxtcode.vxtcode_spec[FFESTP_vxtcodeixERR]))
- {
- ffestc_ok_ = FALSE;
- return;
- }
-
- ffestd_V024_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V024_item -- DECODE statement i/o item
-
- ffestc_V024_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestc_V024_item (ffebld expr, ffelexToken expr_token)
-{
- ffestc_check_item_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V024_item (expr);
-}
-
-/* ffestc_V024_finish -- DECODE statement list complete
-
- ffestc_V024_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V024_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V024_finish ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V025_start -- DEFINEFILE statement list begin
-
- ffestc_V025_start();
-
- Verify that DEFINEFILE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestc_V025_start ()
-{
- ffestc_check_start_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- {
- ffestc_ok_ = FALSE;
- return;
- }
- ffestc_labeldef_branch_begin_ ();
-
- ffestd_V025_start ();
-
- ffestc_ok_ = TRUE;
-}
-
-/* ffestc_V025_item -- DEFINE FILE statement item
-
- ffestc_V025_item(u,ut,m,mt,n,nt,asv,asvt);
-
- Implement item. */
-
-void
-ffestc_V025_item (ffebld u, ffelexToken ut, ffebld m, ffelexToken mt,
- ffebld n, ffelexToken nt, ffebld asv, ffelexToken asvt)
-{
- ffestc_check_item_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V025_item (u, m, n, asv);
-}
-
-/* ffestc_V025_finish -- DEFINE FILE statement list complete
-
- ffestc_V025_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestc_V025_finish ()
-{
- ffestc_check_finish_ ();
- if (!ffestc_ok_)
- return;
-
- ffestd_V025_finish ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-/* ffestc_V026 -- FIND statement
-
- ffestc_V026();
-
- Make sure a FIND is valid in the current context, and implement it. */
-
-void
-ffestc_V026 ()
-{
- ffestc_check_simple_ ();
- if (ffestc_order_actionif_ () != FFESTC_orderOK_)
- return;
- ffestc_labeldef_branch_begin_ ();
-
- if (ffestc_subr_is_branch_
- (&ffestp_file.find.find_spec[FFESTP_findixERR])
- && ffestc_subr_is_present_ ("UNIT",
- &ffestp_file.find.find_spec[FFESTP_findixUNIT])
- && ffestc_subr_is_present_ ("REC",
- &ffestp_file.find.find_spec[FFESTP_findixREC]))
- ffestd_V026 ();
-
- if (ffestc_shriek_after1_ != NULL)
- (*ffestc_shriek_after1_) (TRUE);
- ffestc_labeldef_branch_end_ ();
-}
-
-#endif
/* ffestc_V027_start -- VXT PARAMETER statement list begin
ffestc_V027_start();
diff --git a/gcc/f/stc.h b/gcc/f/stc.h
index 8b2f7c3..37feba6 100644
--- a/gcc/f/stc.h
+++ b/gcc/f/stc.h
@@ -1,5 +1,5 @@
/* stc.h -- Private #include File (module.h template V1.0)
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -77,36 +77,8 @@ void ffestc_init_4 (void);
bool ffestc_is_decl_not_R1219 (void);
bool ffestc_is_entry_in_subr (void);
bool ffestc_is_let_not_V027 (void);
-#if FFESTR_F90
-void ffestc_let (ffebld dest, ffebld source, ffelexToken source_token);
-#else
#define ffestc_let ffestc_R737
-#endif
-#if FFESTR_F90
-void ffestc_module (ffelexToken module_name, ffelexToken procedure_name);
-#endif
-#if FFESTR_F90
-void ffestc_private (void);
-#endif
void ffestc_terminate_4 (void);
-#if FFESTR_F90
-void ffestc_R423A (void);
-void ffestc_R423B (void);
-void ffestc_R424 (ffelexToken access, ffestrOther access_kw, ffelexToken name);
-void ffestc_R425 (ffelexToken name);
-void ffestc_R426_start (ffestpType type, ffelexToken typet, ffebld kind,
- ffelexToken kindt, ffebld len, ffelexToken lent);
-void ffestc_R426_attrib (ffestpAttrib attrib, ffelexToken attribt,
- ffestrOther intent_kw, ffesttDimList dims);
-void ffestc_R426_item (ffelexToken name, ffebld kind, ffelexToken kindt,
- ffesttDimList dims, ffebld len, ffelexToken lent, ffebld init,
- ffelexToken initt, bool clist);
-void ffestc_R426_itemstartvals (void);
-void ffestc_R426_itemvalue (ffebld repeat, ffelexToken repeat_token,
- ffebld value, ffelexToken value_token);
-void ffestc_R426_itemendvals (ffelexToken t);
-void ffestc_R426_finish (void);
-#endif
void ffestc_R501_start (ffestpType type, ffelexToken typet, ffebld kind,
ffelexToken kindt, ffebld len, ffelexToken lent);
void ffestc_R501_attrib (ffestpAttrib attrib, ffelexToken attribt,
@@ -119,22 +91,6 @@ void ffestc_R501_itemvalue (ffebld repeat, ffelexToken repeat_token,
ffebld value, ffelexToken value_token);
void ffestc_R501_itemendvals (ffelexToken t);
void ffestc_R501_finish (void);
-#if FFESTR_F90
-void ffestc_R519_start (ffelexToken intent, ffestrOther intent_kw);
-void ffestc_R519_item (ffelexToken name);
-void ffestc_R519_finish (void);
-void ffestc_R520_start (void);
-void ffestc_R520_item (ffelexToken name);
-void ffestc_R520_finish (void);
-void ffestc_R521A (void);
-void ffestc_R521Astart (void);
-void ffestc_R521Aitem (ffelexToken name);
-void ffestc_R521Afinish (void);
-void ffestc_R521B (void);
-void ffestc_R521Bstart (void);
-void ffestc_R521Bitem (ffelexToken name);
-void ffestc_R521Bfinish (void);
-#endif
void ffestc_R522 (void);
void ffestc_R522start (void);
void ffestc_R522item_object (ffelexToken name);
@@ -143,17 +99,6 @@ void ffestc_R522finish (void);
void ffestc_R524_start (bool virtual);
void ffestc_R524_item (ffelexToken name, ffesttDimList dims);
void ffestc_R524_finish (void);
-#if FFESTR_F90
-void ffestc_R525_start (void);
-void ffestc_R525_item (ffelexToken name, ffesttDimList dims);
-void ffestc_R525_finish (void);
-void ffestc_R526_start (void);
-void ffestc_R526_item (ffelexToken name, ffesttDimList dims);
-void ffestc_R526_finish (void);
-void ffestc_R527_start (void);
-void ffestc_R527_item (ffelexToken name, ffesttDimList dims);
-void ffestc_R527_finish (void);
-#endif
void ffestc_R528_start (void);
void ffestc_R528_item_object (ffebld expr, ffelexToken expr_token);
void ffestc_R528_item_startvals (void);
@@ -181,21 +126,7 @@ void ffestc_R547_start (void);
void ffestc_R547_item_object (ffelexToken name, ffesttDimList dims);
void ffestc_R547_item_cblock (ffelexToken name);
void ffestc_R547_finish (void);
-#if FFESTR_F90
-void ffestc_R620 (ffesttExprList objects, ffebld stat,
- ffelexToken stat_token);
-void ffestc_R624 (ffesttExprList pointers);
-void ffestc_R625 (ffesttExprList objects, ffebld stat,
- ffelexToken stat_token);
-#endif
void ffestc_R737 (ffebld dest, ffebld source, ffelexToken source_token);
-#if FFESTR_F90
-void ffestc_R738 (ffebld dest, ffebld source, ffelexToken source_token);
-void ffestc_R740 (ffebld expr, ffelexToken expr_token);
-void ffestc_R742 (ffebld expr, ffelexToken expr_token);
-void ffestc_R744 (void);
-void ffestc_R745 (void);
-#endif
void ffestc_R803 (ffelexToken construct_name, ffebld expr,
ffelexToken expr_token);
void ffestc_R804 (ffebld expr, ffelexToken expr_token, ffelexToken name);
@@ -251,22 +182,8 @@ void ffestc_R923B_finish (void);
void ffestc_R1001 (ffesttFormatList f);
void ffestc_R1102 (ffelexToken name);
void ffestc_R1103 (ffelexToken name);
-#if FFESTR_F90
-void ffestc_R1105 (ffelexToken name);
-void ffestc_R1106 (ffelexToken name);
-void ffestc_R1107_start (ffelexToken name, bool only);
-void ffestc_R1107_item (ffelexToken local, ffelexToken use);
-void ffestc_R1107_finish (void);
-#endif
void ffestc_R1111 (ffelexToken name);
void ffestc_R1112 (ffelexToken name);
-#if FFESTR_F90
-void ffestc_R1202 (ffestpDefinedOperator operator, ffelexToken name);
-void ffestc_R1203 (void);
-void ffestc_R1205_start (void);
-void ffestc_R1205_item (ffelexToken name);
-void ffestc_R1205_finish (void);
-#endif
void ffestc_R1207_start (void);
void ffestc_R1207_item (ffelexToken name);
void ffestc_R1207_finish (void);
@@ -274,9 +191,6 @@ void ffestc_R1208_start (void);
void ffestc_R1208_item (ffelexToken name);
void ffestc_R1208_finish (void);
void ffestc_R1212 (ffebld expr, ffelexToken expr_token);
-#if FFESTR_F90
-void ffestc_R1213 (ffebld dest, ffebld source, ffelexToken source_token);
-#endif
void ffestc_R1219 (ffelexToken funcname, ffesttTokenList args,
ffelexToken final, ffestpType type, ffebld kind, ffelexToken kindt,
ffebld len, ffelexToken lent, ffelexToken recursive, ffelexToken result);
@@ -287,57 +201,17 @@ void ffestc_R1225 (ffelexToken name);
void ffestc_R1226 (ffelexToken entryname, ffesttTokenList args,
ffelexToken final);
void ffestc_R1227 (ffebld expr, ffelexToken expr_token);
-#if FFESTR_F90
-void ffestc_R1228 (void);
-#endif
void ffestc_R1229_start (ffelexToken name, ffesttTokenList args,
ffelexToken final);
void ffestc_R1229_finish (ffebld expr, ffelexToken expr_token);
void ffestc_S3P4 (ffebld filename, ffelexToken filename_token);
-#if FFESTR_VXT
-void ffestc_V003_start (ffelexToken structure_name);
-void ffestc_V003_item (ffelexToken name, ffesttDimList dims);
-void ffestc_V003_finish (void);
-void ffestc_V004 (void);
-void ffestc_V009 (void);
-void ffestc_V010 (void);
-void ffestc_V012 (void);
-void ffestc_V013 (void);
-#endif
void ffestc_V014_start (void);
void ffestc_V014_item_object (ffelexToken name);
void ffestc_V014_item_cblock (ffelexToken name);
void ffestc_V014_finish (void);
-#if FFESTR_VXT
-void ffestc_V016_start (void);
-void ffestc_V016_item_structure (ffelexToken name);
-void ffestc_V016_item_object (ffelexToken name, ffesttDimList dims);
-void ffestc_V016_finish (void);
-void ffestc_V018_start (void);
-void ffestc_V018_item (ffebld expr, ffelexToken expr_token);
-void ffestc_V018_finish (void);
-void ffestc_V019_start (void);
-void ffestc_V019_item (ffebld expr, ffelexToken expr_token);
-void ffestc_V019_finish (void);
-#endif
void ffestc_V020_start (void);
void ffestc_V020_item (ffebld expr, ffelexToken expr_token);
void ffestc_V020_finish (void);
-#if FFESTR_VXT
-void ffestc_V021 (void);
-void ffestc_V022 (void);
-void ffestc_V023_start (void);
-void ffestc_V023_item (ffebld expr, ffelexToken expr_token);
-void ffestc_V023_finish (void);
-void ffestc_V024_start (void);
-void ffestc_V024_item (ffebld expr, ffelexToken expr_token);
-void ffestc_V024_finish (void);
-void ffestc_V025_start (void);
-void ffestc_V025_item (ffebld u, ffelexToken ut, ffebld m, ffelexToken mt,
- ffebld n, ffelexToken nt, ffebld asv, ffelexToken asvt);
-void ffestc_V025_finish (void);
-void ffestc_V026 (void);
-#endif
void ffestc_V027_start (void);
void ffestc_V027_item (ffelexToken dest_token, ffebld source,
ffelexToken source_token);
diff --git a/gcc/f/std.c b/gcc/f/std.c
index 27b5bfe..d225d1c9 100644
--- a/gcc/f/std.c
+++ b/gcc/f/std.c
@@ -115,21 +115,7 @@ typedef enum
FFESTD_stmtidR1225_, /* END_SUBROUTINE */
FFESTD_stmtidR1226_, /* ENTRY */
FFESTD_stmtidR1227_, /* RETURN */
-#if FFESTR_VXT
- FFESTD_stmtidV018_, /* REWRITE */
- FFESTD_stmtidV019_, /* ACCEPT */
-#endif
FFESTD_stmtidV020_, /* TYPE */
-#if FFESTR_VXT
- FFESTD_stmtidV021_, /* DELETE */
- FFESTD_stmtidV022_, /* UNLOCK */
- FFESTD_stmtidV023_, /* ENCODE */
- FFESTD_stmtidV024_, /* DECODE */
- FFESTD_stmtidV025start_, /* DEFINEFILE (start) */
- FFESTD_stmtidV025item_, /* (DEFINEFILE item) */
- FFESTD_stmtidV025finish_, /* (DEFINEFILE finish) */
- FFESTD_stmtidV026_, /* FIND */
-#endif
FFESTD_stmtid_,
} ffestdStmtId_;
@@ -407,24 +393,6 @@ struct _ffestd_stmt_
ffebld expr;
}
R1227;
-#if FFESTR_VXT
- struct
- {
- mallocPool pool;
- ffestpRewriteStmt *params;
- ffestvFormat format;
- ffestdExprItem_ list;
- }
- V018;
- struct
- {
- mallocPool pool;
- ffestpAcceptStmt *params;
- ffestvFormat format;
- ffestdExprItem_ list;
- }
- V019;
-#endif
struct
{
mallocPool pool;
@@ -433,52 +401,6 @@ struct _ffestd_stmt_
ffestdExprItem_ list;
}
V020;
-#if FFESTR_VXT
- struct
- {
- mallocPool pool;
- ffestpDeleteStmt *params;
- }
- V021;
- struct
- {
- mallocPool pool;
- ffestpBeruStmt *params;
- }
- V022;
- struct
- {
- mallocPool pool;
- ffestpVxtcodeStmt *params;
- ffestdExprItem_ list;
- }
- V023;
- struct
- {
- mallocPool pool;
- ffestpVxtcodeStmt *params;
- ffestdExprItem_ list;
- }
- V024;
- struct
- {
- ffebld u;
- ffebld m;
- ffebld n;
- ffebld asv;
- }
- V025item;
- struct
- {
- mallocPool pool;
- } V025finish;
- struct
- {
- mallocPool pool;
- ffestpFindStmt *params;
- }
- V026;
-#endif
}
u;
};
@@ -513,9 +435,6 @@ static void ffestd_stmt_pass_ (void);
static ffestpInquireStmt *ffestd_subr_copy_easy_ (ffestpInquireIx max);
#endif
static void ffestd_subr_vxt_ (void);
-#if FFESTR_F90
-static void ffestd_subr_f90_ (void);
-#endif
static void ffestd_subr_labels_ (bool unexpected);
static void ffestd_R1001dump_ (ffests s, ffesttFormatList list);
static void ffestd_R1001dump_1005_1_ (ffests s, ffesttFormatList f,
@@ -1026,36 +945,6 @@ ffestd_stmt_pass_ ()
malloc_pool_kill (stmt->u.R1227.pool);
break;
-#if FFESTR_VXT
- case FFESTD_stmtidV018_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V018_start (stmt->u.V018.params, stmt->u.V018.format);
- for (expr = stmt->u.V018.list; expr != NULL; expr = expr->next)
- {
- if (okay)
- ffeste_V018_item (expr->expr);
- }
- if (okay)
- ffeste_V018_finish ();
- malloc_pool_kill (stmt->u.V018.pool);
- break;
-
- case FFESTD_stmtidV019_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V019_start (stmt->u.V019.params, stmt->u.V019.format);
- for (expr = stmt->u.V019.list; expr != NULL; expr = expr->next)
- {
- if (okay)
- ffeste_V019_item (expr->expr);
- }
- if (okay)
- ffeste_V019_finish ();
- malloc_pool_kill (stmt->u.V019.pool);
- break;
-#endif
-
case FFESTD_stmtidV020_:
ffestd_subr_line_restore_ (stmt);
if (okay)
@@ -1070,68 +959,6 @@ ffestd_stmt_pass_ ()
malloc_pool_kill (stmt->u.V020.pool);
break;
-#if FFESTR_VXT
- case FFESTD_stmtidV021_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V021 (stmt->u.V021.params);
- malloc_pool_kill (stmt->u.V021.pool);
- break;
-
- case FFESTD_stmtidV023_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V023_start (stmt->u.V023.params);
- for (expr = stmt->u.V023.list; expr != NULL; expr = expr->next)
- {
- if (okay)
- ffeste_V023_item (expr->expr);
- }
- if (okay)
- ffeste_V023_finish ();
- malloc_pool_kill (stmt->u.V023.pool);
- break;
-
- case FFESTD_stmtidV024_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V024_start (stmt->u.V024.params);
- for (expr = stmt->u.V024.list; expr != NULL; expr = expr->next)
- {
- if (okay)
- ffeste_V024_item (expr->expr);
- }
- if (okay)
- ffeste_V024_finish ();
- malloc_pool_kill (stmt->u.V024.pool);
- break;
-
- case FFESTD_stmtidV025start_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V025_start ();
- break;
-
- case FFESTD_stmtidV025item_:
- if (okay)
- ffeste_V025_item (stmt->u.V025item.u, stmt->u.V025item.m,
- stmt->u.V025item.n, stmt->u.V025item.asv);
- break;
-
- case FFESTD_stmtidV025finish_:
- if (okay)
- ffeste_V025_finish ();
- malloc_pool_kill (stmt->u.V025finish.pool);
- break;
-
- case FFESTD_stmtidV026_:
- ffestd_subr_line_restore_ (stmt);
- if (okay)
- ffeste_V026 (stmt->u.V026.params);
- malloc_pool_kill (stmt->u.V026.pool);
- break;
-#endif
-
default:
assert ("bad stmt->id" == NULL);
break;
@@ -1270,21 +1097,6 @@ ffestd_subr_labels_ (bool unexpected)
assert (undef == 0);
}
-/* ffestd_subr_f90_ -- Report error about lack of full F90 support
-
- ffestd_subr_f90_(); */
-
-#if FFESTR_F90
-static void
-ffestd_subr_f90_ ()
-{
- ffebad_start (FFEBAD_F90);
- ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]),
- ffelex_token_where_column (ffesta_tokens[0]));
- ffebad_finish ();
-}
-
-#endif
/* ffestd_subr_vxt_ -- Report error about lack of full VXT support
ffestd_subr_vxt_(); */
@@ -1337,30 +1149,6 @@ ffestd_do (bool ok UNUSED)
assert (ffestd_block_level_ >= 0);
}
-/* ffestd_end_uses -- End a bunch of USE statements
-
- ffestd_end_uses(TRUE);
-
- ok==TRUE means simply not popping due to ffestd_eof_()
- being called, because there is no formal END USES statement in Fortran. */
-
-#if FFESTR_F90
-void
-ffestd_end_uses (bool ok)
-{
-}
-
-/* ffestd_end_R740 -- End a WHERE(-THEN)
-
- ffestd_end_R740(TRUE); */
-
-void
-ffestd_end_R740 (bool ok)
-{
- return; /* F90. */
-}
-
-#endif
/* ffestd_end_R807 -- End of statement following logical IF
ffestd_end_R807(TRUE);
@@ -1517,353 +1305,6 @@ ffestd_labeldef_useless (ffelab label UNUSED)
{
}
-/* ffestd_R423A -- PRIVATE statement (in R422 derived-type statement)
-
- ffestd_R423A(); */
-
-#if FFESTR_F90
-void
-ffestd_R423A ()
-{
- ffestd_check_simple_ ();
-}
-
-/* ffestd_R423B -- SEQUENCE statement (in R422 derived-type-stmt)
-
- ffestd_R423B(); */
-
-void
-ffestd_R423B ()
-{
- ffestd_check_simple_ ();
-}
-
-/* ffestd_R424 -- derived-TYPE-def statement
-
- ffestd_R424(access_token,access_kw,name_token);
-
- Handle a derived-type definition. */
-
-void
-ffestd_R424 (ffelexToken access, ffestrOther access_kw, ffelexToken name)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- char *a;
-
- if (access == NULL)
- fprintf (dmpout, "* TYPE %s\n", ffelex_token_text (name));
- else
- {
- switch (access_kw)
- {
- case FFESTR_otherPUBLIC:
- a = "PUBLIC";
- break;
-
- case FFESTR_otherPRIVATE:
- a = "PRIVATE";
- break;
-
- default:
- assert (FALSE);
- }
- fprintf (dmpout, "* TYPE,%s: %s\n", a, ffelex_token_text (name));
- }
-#endif
-}
-
-/* ffestd_R425 -- End a TYPE
-
- ffestd_R425(TRUE); */
-
-void
-ffestd_R425 (bool ok)
-{
-}
-
-/* ffestd_R519_start -- INTENT statement list begin
-
- ffestd_R519_start();
-
- Verify that INTENT is valid here, and begin accepting items in the list. */
-
-void
-ffestd_R519_start (ffestrOther intent_kw)
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- char *a;
-
- switch (intent_kw)
- {
- case FFESTR_otherIN:
- a = "IN";
- break;
-
- case FFESTR_otherOUT:
- a = "OUT";
- break;
-
- case FFESTR_otherINOUT:
- a = "INOUT";
- break;
-
- default:
- assert (FALSE);
- }
- fprintf (dmpout, "* INTENT (%s) ", a);
-#endif
-}
-
-/* ffestd_R519_item -- INTENT statement for name
-
- ffestd_R519_item(name_token);
-
- Make sure name_token identifies a valid object to be INTENTed. */
-
-void
-ffestd_R519_item (ffelexToken name)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "%s,", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R519_finish -- INTENT statement list complete
-
- ffestd_R519_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R519_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-/* ffestd_R520_start -- OPTIONAL statement list begin
-
- ffestd_R520_start();
-
- Verify that OPTIONAL is valid here, and begin accepting items in the list. */
-
-void
-ffestd_R520_start ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* OPTIONAL ", dmpout);
-#endif
-}
-
-/* ffestd_R520_item -- OPTIONAL statement for name
-
- ffestd_R520_item(name_token);
-
- Make sure name_token identifies a valid object to be OPTIONALed. */
-
-void
-ffestd_R520_item (ffelexToken name)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "%s,", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R520_finish -- OPTIONAL statement list complete
-
- ffestd_R520_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R520_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-/* ffestd_R521A -- PUBLIC statement
-
- ffestd_R521A();
-
- Verify that PUBLIC is valid here. */
-
-void
-ffestd_R521A ()
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* PUBLIC\n", dmpout);
-#endif
-}
-
-/* ffestd_R521Astart -- PUBLIC statement list begin
-
- ffestd_R521Astart();
-
- Verify that PUBLIC is valid here, and begin accepting items in the list. */
-
-void
-ffestd_R521Astart ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* PUBLIC ", dmpout);
-#endif
-}
-
-/* ffestd_R521Aitem -- PUBLIC statement for name
-
- ffestd_R521Aitem(name_token);
-
- Make sure name_token identifies a valid object to be PUBLICed. */
-
-void
-ffestd_R521Aitem (ffelexToken name)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "%s,", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R521Afinish -- PUBLIC statement list complete
-
- ffestd_R521Afinish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R521Afinish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-/* ffestd_R521B -- PRIVATE statement
-
- ffestd_R521B();
-
- Verify that PRIVATE is valid here (outside a derived-type statement). */
-
-void
-ffestd_R521B ()
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* PRIVATE_outside_of_R422_derived_type_def\n", dmpout);
-#endif
-}
-
-/* ffestd_R521Bstart -- PRIVATE statement list begin
-
- ffestd_R521Bstart();
-
- Verify that PRIVATE is valid here, and begin accepting items in the list. */
-
-void
-ffestd_R521Bstart ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* PRIVATE ", dmpout);
-#endif
-}
-
-/* ffestd_R521Bitem -- PRIVATE statement for name
-
- ffestd_R521Bitem(name_token);
-
- Make sure name_token identifies a valid object to be PRIVATEed. */
-
-void
-ffestd_R521Bitem (ffelexToken name)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "%s,", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R521Bfinish -- PRIVATE statement list complete
-
- ffestd_R521Bfinish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R521Bfinish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-#endif
/* ffestd_R522 -- SAVE statement with no list
ffestd_R522();
@@ -1960,197 +1401,6 @@ ffestd_R524_finish ()
ffestd_check_finish_ ();
}
-/* ffestd_R525_start -- ALLOCATABLE statement list begin
-
- ffestd_R525_start();
-
- Verify that ALLOCATABLE is valid here, and begin accepting items in the
- list. */
-
-#if FFESTR_F90
-void
-ffestd_R525_start ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* ALLOCATABLE ", dmpout);
-#endif
-}
-
-/* ffestd_R525_item -- ALLOCATABLE statement for object-name
-
- ffestd_R525_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be ALLOCATABLEd. */
-
-void
-ffestd_R525_item (ffelexToken name, ffesttDimList dims)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs (ffelex_token_text (name), dmpout);
- if (dims != NULL)
- {
- fputc ('(', dmpout);
- ffestt_dimlist_dump (dims);
- fputc (')', dmpout);
- }
- fputc (',', dmpout);
-#endif
-}
-
-/* ffestd_R525_finish -- ALLOCATABLE statement list complete
-
- ffestd_R525_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R525_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-/* ffestd_R526_start -- POINTER statement list begin
-
- ffestd_R526_start();
-
- Verify that POINTER is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_R526_start ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* POINTER ", dmpout);
-#endif
-}
-
-/* ffestd_R526_item -- POINTER statement for object-name
-
- ffestd_R526_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be POINTERd. */
-
-void
-ffestd_R526_item (ffelexToken name, ffesttDimList dims)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs (ffelex_token_text (name), dmpout);
- if (dims != NULL)
- {
- fputc ('(', dmpout);
- ffestt_dimlist_dump (dims);
- fputc (')', dmpout);
- }
- fputc (',', dmpout);
-#endif
-}
-
-/* ffestd_R526_finish -- POINTER statement list complete
-
- ffestd_R526_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R526_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-/* ffestd_R527_start -- TARGET statement list begin
-
- ffestd_R527_start();
-
- Verify that TARGET is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_R527_start ()
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("* TARGET ", dmpout);
-#endif
-}
-
-/* ffestd_R527_item -- TARGET statement for object-name
-
- ffestd_R527_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be TARGETd. */
-
-void
-ffestd_R527_item (ffelexToken name, ffesttDimList dims)
-{
- ffestd_check_item_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs (ffelex_token_text (name), dmpout);
- if (dims != NULL)
- {
- fputc ('(', dmpout);
- ffestt_dimlist_dump (dims);
- fputc (')', dmpout);
- }
- fputc (',', dmpout);
-#endif
-}
-
-/* ffestd_R527_finish -- TARGET statement list complete
-
- ffestd_R527_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R527_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-#endif
/* ffestd_R537_start -- PARAMETER statement list begin
ffestd_R537_start();
@@ -2286,49 +1536,6 @@ ffestd_R542_finish ()
ffestd_check_finish_ ();
}
-/* ffestd_R544_start -- EQUIVALENCE statement list begin
-
- ffestd_R544_start();
-
- Verify that EQUIVALENCE is valid here, and begin accepting items in the
- list. */
-
-#if 0
-void
-ffestd_R544_start ()
-{
- ffestd_check_start_ ();
-}
-
-#endif
-/* ffestd_R544_item -- EQUIVALENCE statement assignment
-
- ffestd_R544_item(exprlist);
-
- Make sure the equivalence is valid, then implement it. */
-
-#if 0
-void
-ffestd_R544_item (ffesttExprList exprlist)
-{
- ffestd_check_item_ ();
-}
-
-#endif
-/* ffestd_R544_finish -- EQUIVALENCE statement list complete
-
- ffestd_R544_finish();
-
- Just wrap up any local activities. */
-
-#if 0
-void
-ffestd_R544_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-#endif
/* ffestd_R547_start -- COMMON statement list begin
ffestd_R547_start();
@@ -2378,58 +1585,6 @@ ffestd_R547_finish ()
ffestd_check_finish_ ();
}
-/* ffestd_R620 -- ALLOCATE statement
-
- ffestd_R620(exprlist,stat,stat_token);
-
- Make sure the expression list is valid, then implement it. */
-
-#if FFESTR_F90
-void
-ffestd_R620 (ffesttExprList exprlist, ffebld stat)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-/* ffestd_R624 -- NULLIFY statement
-
- ffestd_R624(pointer_name_list);
-
- Make sure pointer_name_list identifies valid pointers for a NULLIFY. */
-
-void
-ffestd_R624 (ffesttExprList pointers)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("+ NULLIFY (", dmpout);
- assert (pointers != NULL);
- ffestt_exprlist_dump (pointers);
- fputs (")\n", dmpout);
-#endif
-}
-
-/* ffestd_R625 -- DEALLOCATE statement
-
- ffestd_R625(exprlist,stat,stat_token);
-
- Make sure the equivalence is valid, then implement it. */
-
-void
-ffestd_R625 (ffesttExprList exprlist, ffebld stat)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-#endif
/* ffestd_R737A -- Assignment statement outside of WHERE
ffestd_R737A(dest_expr,source_expr); */
@@ -2450,94 +1605,6 @@ ffestd_R737A (ffebld dest, ffebld source)
ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
}
-/* ffestd_R737B -- Assignment statement inside of WHERE
-
- ffestd_R737B(dest_expr,source_expr); */
-
-#if FFESTR_F90
-void
-ffestd_R737B (ffebld dest, ffebld source)
-{
- ffestd_check_simple_ ();
-}
-
-/* ffestd_R738 -- Pointer assignment statement
-
- ffestd_R738(dest_expr,source_expr,source_token);
-
- Make sure the assignment is valid. */
-
-void
-ffestd_R738 (ffebld dest, ffebld source)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-/* ffestd_R740 -- WHERE statement
-
- ffestd_R740(expr,expr_token);
-
- Make sure statement is valid here; implement. */
-
-void
-ffestd_R740 (ffebld expr)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-/* ffestd_R742 -- WHERE-construct statement
-
- ffestd_R742(expr,expr_token);
-
- Make sure statement is valid here; implement. */
-
-void
-ffestd_R742 (ffebld expr)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-/* ffestd_R744 -- ELSE WHERE statement
-
- ffestd_R744();
-
- Make sure ffestd_kind_ identifies a WHERE block.
- Implement the ELSE of the current WHERE block. */
-
-void
-ffestd_R744 ()
-{
- ffestd_check_simple_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs ("+ ELSE_WHERE\n", dmpout);
-#endif
-}
-
-/* ffestd_R745 -- Implicit END WHERE statement. */
-
-void
-ffestd_R745 (bool ok)
-{
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs ("+ END_WHERE\n", dmpout); /* Also see ffestd_R745. */
-
- --ffestd_block_level_;
- assert (ffestd_block_level_ >= 0);
-#endif
-}
-
-#endif
/* Block IF (IF-THEN) statement. */
@@ -4054,114 +3121,6 @@ ffestd_R1103 (bool ok UNUSED)
ffestd_stmt_append_ (stmt);
}
-/* ffestd_R1105 -- MODULE statement
-
- ffestd_R1105(name_token);
-
- Make sure ffestd_kind_ identifies an empty block. Make sure name_token
- gives a valid name. Implement the beginning of a module. */
-
-#if FFESTR_F90
-void
-ffestd_R1105 (ffelexToken name)
-{
- assert (ffestd_block_level_ == 0);
-
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "* MODULE %s\n", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R1106 -- End a MODULE
-
- ffestd_R1106(TRUE); */
-
-void
-ffestd_R1106 (bool ok)
-{
- assert (ffestd_block_level_ == 0);
-
- /* Generate any wrap-up code here (unlikely in MODULE!). */
-
- if (ffestw_state (ffestw_stack_top ()) != FFESTV_stateMODULE5)
- ffestd_subr_labels_ (TRUE); /* Handle any undefined labels (unlikely). */
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "< END_MODULE %s\n",
- ffelex_token_text (ffestw_name (ffestw_stack_top ())));
-#endif
-}
-
-/* ffestd_R1107_start -- USE statement list begin
-
- ffestd_R1107_start();
-
- Verify that USE is valid here, and begin accepting items in the list. */
-
-void
-ffestd_R1107_start (ffelexToken name, bool only)
-{
- ffestd_check_start_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "* USE %s,", ffelex_token_text (name)); /* NB
- _shriek_begin_uses_. */
- if (only)
- fputs ("only: ", dmpout);
-#endif
-}
-
-/* ffestd_R1107_item -- USE statement for name
-
- ffestd_R1107_item(local_token,use_token);
-
- Make sure name_token identifies a valid object to be USEed. local_token
- may be NULL if _start_ was called with only==TRUE. */
-
-void
-ffestd_R1107_item (ffelexToken local, ffelexToken use)
-{
- ffestd_check_item_ ();
- assert (use != NULL);
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- if (local != NULL)
- fprintf (dmpout, "%s=>", ffelex_token_text (local));
- fprintf (dmpout, "%s,", ffelex_token_text (use));
-#endif
-}
-
-/* ffestd_R1107_finish -- USE statement list complete
-
- ffestd_R1107_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R1107_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-#endif
/* ffestd_R1111 -- BLOCK DATA statement
ffestd_R1111(name_token);
@@ -4202,190 +3161,6 @@ ffestd_R1112 (bool ok UNUSED)
ffestd_stmt_append_ (stmt);
}
-/* ffestd_R1202 -- INTERFACE statement
-
- ffestd_R1202(operator,defined_name);
-
- Make sure ffestd_kind_ identifies an INTERFACE block.
- Implement the end of the current interface.
-
- 06-Jun-90 JCB 1.1
- Allow no operator or name to mean INTERFACE by itself; missed this
- valid form when originally doing syntactic analysis code. */
-
-#if FFESTR_F90
-void
-ffestd_R1202 (ffestpDefinedOperator operator, ffelexToken name)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- switch (operator)
- {
- case FFESTP_definedoperatorNone:
- if (name == NULL)
- fputs ("* INTERFACE_unnamed\n", dmpout);
- else
- fprintf (dmpout, "* INTERFACE %s\n", ffelex_token_text (name));
- break;
-
- case FFESTP_definedoperatorOPERATOR:
- fprintf (dmpout, "* INTERFACE_OPERATOR (.%s.)\n", ffelex_token_text (name));
- break;
-
- case FFESTP_definedoperatorASSIGNMENT:
- fputs ("* INTERFACE_ASSIGNMENT (=)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorPOWER:
- fputs ("* INTERFACE_OPERATOR (**)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorMULT:
- fputs ("* INTERFACE_OPERATOR (*)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorADD:
- fputs ("* INTERFACE_OPERATOR (+)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorCONCAT:
- fputs ("* INTERFACE_OPERATOR (//)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorDIVIDE:
- fputs ("* INTERFACE_OPERATOR (/)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorSUBTRACT:
- fputs ("* INTERFACE_OPERATOR (-)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorNOT:
- fputs ("* INTERFACE_OPERATOR (.not.)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorAND:
- fputs ("* INTERFACE_OPERATOR (.and.)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorOR:
- fputs ("* INTERFACE_OPERATOR (.or.)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorEQV:
- fputs ("* INTERFACE_OPERATOR (.eqv.)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorNEQV:
- fputs ("* INTERFACE_OPERATOR (.neqv.)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorEQ:
- fputs ("* INTERFACE_OPERATOR (==)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorNE:
- fputs ("* INTERFACE_OPERATOR (/=)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorLT:
- fputs ("* INTERFACE_OPERATOR (<)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorLE:
- fputs ("* INTERFACE_OPERATOR (<=)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorGT:
- fputs ("* INTERFACE_OPERATOR (>)\n", dmpout);
- break;
-
- case FFESTP_definedoperatorGE:
- fputs ("* INTERFACE_OPERATOR (>=)\n", dmpout);
- break;
-
- default:
- assert (FALSE);
- break;
- }
-#endif
-}
-
-/* ffestd_R1203 -- End an INTERFACE
-
- ffestd_R1203(TRUE); */
-
-void
-ffestd_R1203 (bool ok)
-{
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs ("* END_INTERFACE\n", dmpout);
-#endif
-}
-
-/* ffestd_R1205_start -- MODULE PROCEDURE statement list begin
-
- ffestd_R1205_start();
-
- Verify that MODULE PROCEDURE is valid here, and begin accepting items in
- the list. */
-
-void
-ffestd_R1205_start ()
-{
- ffestd_check_start_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputs ("* MODULE_PROCEDURE ", dmpout);
-#endif
-}
-
-/* ffestd_R1205_item -- MODULE PROCEDURE statement for name
-
- ffestd_R1205_item(name_token);
-
- Make sure name_token identifies a valid object to be MODULE PROCEDUREed. */
-
-void
-ffestd_R1205_item (ffelexToken name)
-{
- ffestd_check_item_ ();
- assert (name != NULL);
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fprintf (dmpout, "%s,", ffelex_token_text (name));
-#endif
-}
-
-/* ffestd_R1205_finish -- MODULE PROCEDURE statement list complete
-
- ffestd_R1205_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_R1205_finish ()
-{
- ffestd_check_finish_ ();
-
- return; /* F90. */
-
-#ifdef FFESTD_F90
- fputc ('\n', dmpout);
-#endif
-}
-
-#endif
/* ffestd_R1207_start -- EXTERNAL statement list begin
ffestd_R1207_start();
@@ -4481,22 +3256,6 @@ ffestd_R1212 (ffebld expr)
ffesta_set_outpooldisp (FFESTA_pooldispPRESERVE);
}
-/* ffestd_R1213 -- Defined assignment statement
-
- ffestd_R1213(dest_expr,source_expr,source_token);
-
- Make sure the assignment is valid. */
-
-#if FFESTR_F90
-void
-ffestd_R1213 (ffebld dest, ffebld source)
-{
- ffestd_check_simple_ ();
-
- ffestd_subr_f90_ ();
-}
-
-#endif
/* ffestd_R1219 -- FUNCTION statement
ffestd_R1219(funcname,arglist,ending_token,kind,kindt,len,lent,
@@ -4643,33 +3402,6 @@ ffestd_R1227 (ffebld expr)
ffestd_is_reachable_ = FALSE;
}
-/* ffestd_R1228 -- CONTAINS statement
-
- ffestd_R1228(); */
-
-#if FFESTR_F90
-void
-ffestd_R1228 ()
-{
- assert (ffestd_block_level_ == 0);
-
- ffestd_check_simple_ ();
-
- /* Generate RETURN/STOP code here */
-
- ffestd_subr_labels_ (ffestw_state (ffestw_stack_top ())
- == FFESTV_stateMODULE5); /* Handle any undefined
- labels. */
-
- ffestd_subr_f90_ ();
- return;
-
-#ifdef FFESTD_F90
- fputs ("- CONTAINS\n", dmpout);
-#endif
-}
-
-#endif
/* ffestd_R1229_start -- STMTFUNCTION statement begin
ffestd_R1229_start(func_name,func_arg_list,close_paren);
@@ -4756,92 +3488,6 @@ ffestd_S3P4 (ffebld filename)
}
}
-/* ffestd_V003_start -- STRUCTURE statement list begin
-
- ffestd_V003_start(structure_name);
-
- Verify that STRUCTURE is valid here, and begin accepting items in the list. */
-
-#if FFESTR_VXT
-void
-ffestd_V003_start (ffelexToken structure_name)
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V003_item -- STRUCTURE statement for object-name
-
- ffestd_V003_item(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be STRUCTUREd. */
-
-void
-ffestd_V003_item (ffelexToken name, ffesttDimList dims)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V003_finish -- STRUCTURE statement list complete
-
- ffestd_V003_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V003_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V004 -- End a STRUCTURE
-
- ffestd_V004(TRUE); */
-
-void
-ffestd_V004 (bool ok)
-{
-}
-
-/* ffestd_V009 -- UNION statement
-
- ffestd_V009(); */
-
-void
-ffestd_V009 ()
-{
- ffestd_check_simple_ ();
-}
-
-/* ffestd_V010 -- End a UNION
-
- ffestd_V010(TRUE); */
-
-void
-ffestd_V010 (bool ok)
-{
-}
-
-/* ffestd_V012 -- MAP statement
-
- ffestd_V012(); */
-
-void
-ffestd_V012 ()
-{
- ffestd_check_simple_ ();
-}
-
-/* ffestd_V013 -- End a MAP
-
- ffestd_V013(TRUE); */
-
-void
-ffestd_V013 (bool ok)
-{
-}
-
-#endif
/* ffestd_V014_start -- VOLATILE statement list begin
ffestd_V014_start();
@@ -4890,132 +3536,6 @@ ffestd_V014_finish ()
ffestd_check_finish_ ();
}
-/* ffestd_V016_start -- RECORD statement list begin
-
- ffestd_V016_start();
-
- Verify that RECORD is valid here, and begin accepting items in the list. */
-
-#if FFESTR_VXT
-void
-ffestd_V016_start ()
-{
- ffestd_check_start_ ();
-}
-
-/* ffestd_V016_item_structure -- RECORD statement for common-block-name
-
- ffestd_V016_item_structure(name_token);
-
- Make sure name_token identifies a valid structure to be RECORDed. */
-
-void
-ffestd_V016_item_structure (ffelexToken name)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V016_item_object -- RECORD statement for object-name
-
- ffestd_V016_item_object(name_token,dim_list);
-
- Make sure name_token identifies a valid object to be RECORDd. */
-
-void
-ffestd_V016_item_object (ffelexToken name, ffesttDimList dims)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V016_finish -- RECORD statement list complete
-
- ffestd_V016_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V016_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V018_start -- REWRITE(...) statement list begin
-
- ffestd_V018_start();
-
- Verify that REWRITE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_V018_start (ffestvFormat format)
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V018_item -- REWRITE statement i/o item
-
- ffestd_V018_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestd_V018_item (ffebld expr)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V018_finish -- REWRITE statement list complete
-
- ffestd_V018_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V018_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V019_start -- ACCEPT statement list begin
-
- ffestd_V019_start();
-
- Verify that ACCEPT is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_V019_start (ffestvFormat format)
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V019_item -- ACCEPT statement i/o item
-
- ffestd_V019_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestd_V019_item (ffebld expr)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V019_finish -- ACCEPT statement list complete
-
- ffestd_V019_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V019_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-#endif
/* ffestd_V020_start -- TYPE statement list begin
ffestd_V020_start();
@@ -5054,162 +3574,6 @@ ffestd_V020_finish ()
ffestd_check_finish_ ();
}
-/* ffestd_V021 -- DELETE statement
-
- ffestd_V021();
-
- Make sure a DELETE is valid in the current context, and implement it. */
-
-#if FFESTR_VXT
-void
-ffestd_V021 ()
-{
- ffestd_check_simple_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V022 -- UNLOCK statement
-
- ffestd_V022();
-
- Make sure a UNLOCK is valid in the current context, and implement it. */
-
-void
-ffestd_V022 ()
-{
- ffestd_check_simple_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V023_start -- ENCODE(...) statement list begin
-
- ffestd_V023_start();
-
- Verify that ENCODE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_V023_start ()
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V023_item -- ENCODE statement i/o item
-
- ffestd_V023_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestd_V023_item (ffebld expr)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V023_finish -- ENCODE statement list complete
-
- ffestd_V023_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V023_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V024_start -- DECODE(...) statement list begin
-
- ffestd_V024_start();
-
- Verify that DECODE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_V024_start ()
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V024_item -- DECODE statement i/o item
-
- ffestd_V024_item(expr,expr_token);
-
- Implement output-list expression. */
-
-void
-ffestd_V024_item (ffebld expr)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V024_finish -- DECODE statement list complete
-
- ffestd_V024_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V024_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V025_start -- DEFINEFILE statement list begin
-
- ffestd_V025_start();
-
- Verify that DEFINEFILE is valid here, and begin accepting items in the
- list. */
-
-void
-ffestd_V025_start ()
-{
- ffestd_check_start_ ();
- ffestd_subr_vxt_ ();
-}
-
-/* ffestd_V025_item -- DEFINE FILE statement item
-
- ffestd_V025_item(u,ut,m,mt,n,nt,asv,asvt);
-
- Implement item. Treat each item kind of like a separate statement,
- since there's really no need to treat them as an aggregate. */
-
-void
-ffestd_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv)
-{
- ffestd_check_item_ ();
-}
-
-/* ffestd_V025_finish -- DEFINE FILE statement list complete
-
- ffestd_V025_finish();
-
- Just wrap up any local activities. */
-
-void
-ffestd_V025_finish ()
-{
- ffestd_check_finish_ ();
-}
-
-/* ffestd_V026 -- FIND statement
-
- ffestd_V026();
-
- Make sure a FIND is valid in the current context, and implement it. */
-
-void
-ffestd_V026 ()
-{
- ffestd_check_simple_ ();
- ffestd_subr_vxt_ ();
-}
-
-#endif
/* ffestd_V027_start -- VXT PARAMETER statement list begin
ffestd_V027_start();
diff --git a/gcc/f/std.h b/gcc/f/std.h
index ea8292c..29a82a8 100644
--- a/gcc/f/std.h
+++ b/gcc/f/std.h
@@ -1,5 +1,5 @@
/* std.h -- Private #include File (module.h template V1.0)
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -58,10 +58,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
void ffestd_begin_uses (void);
void ffestd_do (bool ok);
-#if FFESTR_F90
-void ffestd_end_uses (bool ok);
-void ffestd_end_R740 (bool ok);
-#endif
void ffestd_end_R807 (bool ok);
void ffestd_exec_begin (void);
void ffestd_exec_end (void);
@@ -70,26 +66,6 @@ void ffestd_labeldef_any (ffelab label);
void ffestd_labeldef_branch (ffelab label);
void ffestd_labeldef_format (ffelab label);
void ffestd_labeldef_useless (ffelab label);
-#if FFESTR_F90
-void ffestd_R423A (void);
-void ffestd_R423B (void);
-void ffestd_R424 (ffelexToken access, ffestrOther access_kw, ffelexToken name);
-void ffestd_R425 (bool ok);
-void ffestd_R519_start (ffestrOther intent_kw);
-void ffestd_R519_item (ffelexToken name);
-void ffestd_R519_finish (void);
-void ffestd_R520_start (void);
-void ffestd_R520_item (ffelexToken name);
-void ffestd_R520_finish (void);
-void ffestd_R521A (void);
-void ffestd_R521Astart (void);
-void ffestd_R521Aitem (ffelexToken name);
-void ffestd_R521Afinish (void);
-void ffestd_R521B (void);
-void ffestd_R521Bstart (void);
-void ffestd_R521Bitem (ffelexToken name);
-void ffestd_R521Bfinish (void);
-#endif
void ffestd_R522 (void);
void ffestd_R522start (void);
void ffestd_R522item_object (ffelexToken name);
@@ -98,17 +74,6 @@ void ffestd_R522finish (void);
void ffestd_R524_start (bool virtual);
void ffestd_R524_item (ffelexToken name, ffesttDimList dims);
void ffestd_R524_finish (void);
-#if FFESTR_F90
-void ffestd_R525_start (void);
-void ffestd_R525_item (ffelexToken name, ffesttDimList dims);
-void ffestd_R525_finish (void);
-void ffestd_R526_start (void);
-void ffestd_R526_item (ffelexToken name, ffesttDimList dims);
-void ffestd_R526_finish (void);
-void ffestd_R527_start (void);
-void ffestd_R527_item (ffelexToken name, ffesttDimList dims);
-void ffestd_R527_finish (void);
-#endif
void ffestd_R537_start (void);
void ffestd_R537_item (ffebld dest, ffebld source);
void ffestd_R537_finish (void);
@@ -128,20 +93,7 @@ void ffestd_R547_start (void);
void ffestd_R547_item_object (ffelexToken name, ffesttDimList dims);
void ffestd_R547_item_cblock (ffelexToken name);
void ffestd_R547_finish (void);
-#if FFESTR_F90
-void ffestd_R620 (ffesttExprList exprlist, ffebld stat);
-void ffestd_R624 (ffesttExprList pointers);
-void ffestd_R625 (ffesttExprList exprlist, ffebld stat);
-#endif
void ffestd_R737A (ffebld dest, ffebld source);
-#if FFESTR_F90
-void ffestd_R737B (ffebld dest, ffebld source);
-void ffestd_R738 (ffebld dest, ffebld source);
-void ffestd_R740 (ffebld expr);
-void ffestd_R742 (ffebld expr);
-void ffestd_R744 (void);
-void ffestd_R745 (bool ok);
-#endif
void ffestd_R803 (ffelexToken construct_name, ffebld expr);
void ffestd_R804 (ffebld expr, ffelexToken name);
void ffestd_R805 (ffelexToken name);
@@ -188,22 +140,8 @@ void ffestd_R923B_finish (void);
void ffestd_R1001 (ffesttFormatList f);
void ffestd_R1102 (ffesymbol s, ffelexToken name);
void ffestd_R1103 (bool ok);
-#if FFESTR_F90
-void ffestd_R1105 (ffelexToken name);
-void ffestd_R1106 (bool ok);
-void ffestd_R1107_start (ffelexToken name, bool only);
-void ffestd_R1107_item (ffelexToken local, ffelexToken use);
-void ffestd_R1107_finish (void);
-#endif
void ffestd_R1111 (ffesymbol s, ffelexToken name);
void ffestd_R1112 (bool ok);
-#if FFESTR_F90
-void ffestd_R1202 (ffestpDefinedOperator operator, ffelexToken name);
-void ffestd_R1203 (bool ok);
-void ffestd_R1205_start (void);
-void ffestd_R1205_item (ffelexToken name);
-void ffestd_R1205_finish (void);
-#endif
void ffestd_R1207_start (void);
void ffestd_R1207_item (ffelexToken name);
void ffestd_R1207_finish (void);
@@ -211,9 +149,6 @@ void ffestd_R1208_start (void);
void ffestd_R1208_item (ffelexToken name);
void ffestd_R1208_finish (void);
void ffestd_R1212 (ffebld expr);
-#if FFESTR_F90
-void ffestd_R1213 (ffebld dest, ffebld source);
-#endif
void ffestd_R1219 (ffesymbol s, ffelexToken funcname,
ffesttTokenList args, ffestpType type, ffebld kind,
ffelexToken kindt, ffebld len, ffelexToken lent,
@@ -225,55 +160,16 @@ void ffestd_R1223 (ffesymbol s, ffelexToken subrname, ffesttTokenList args,
void ffestd_R1225 (bool ok);
void ffestd_R1226 (ffesymbol entry);
void ffestd_R1227 (ffebld expr);
-#if FFESTR_F90
-void ffestd_R1228 (void);
-#endif
void ffestd_R1229_start (ffelexToken name, ffesttTokenList args);
void ffestd_R1229_finish (ffesymbol s);
void ffestd_S3P4 (ffebld filename);
-#if FFESTR_VXT
-void ffestd_V003_start (ffelexToken structure_name);
-void ffestd_V003_item (ffelexToken name, ffesttDimList dims);
-void ffestd_V003_finish (void);
-void ffestd_V004 (bool ok);
-void ffestd_V009 (void);
-void ffestd_V010 (bool ok);
-void ffestd_V012 (void);
-void ffestd_V013 (bool ok);
-#endif
void ffestd_V014_start (void);
void ffestd_V014_item_object (ffelexToken name);
void ffestd_V014_item_cblock (ffelexToken name);
void ffestd_V014_finish (void);
-#if FFESTR_VXT
-void ffestd_V016_start (void);
-void ffestd_V016_item_structure (ffelexToken name);
-void ffestd_V016_item_object (ffelexToken name, ffesttDimList dims);
-void ffestd_V016_finish (void);
-void ffestd_V018_start (ffestvFormat format);
-void ffestd_V018_item (ffebld expr);
-void ffestd_V018_finish (void);
-void ffestd_V019_start (ffestvFormat format);
-void ffestd_V019_item (ffebld expr);
-void ffestd_V019_finish (void);
-#endif
void ffestd_V020_start (ffestvFormat format);
void ffestd_V020_item (ffebld expr);
void ffestd_V020_finish (void);
-#if FFESTR_VXT
-void ffestd_V021 (void);
-void ffestd_V022 (void);
-void ffestd_V023_start (void);
-void ffestd_V023_item (ffebld expr);
-void ffestd_V023_finish (void);
-void ffestd_V024_start (void);
-void ffestd_V024_item (ffebld expr);
-void ffestd_V024_finish (void);
-void ffestd_V025_start (void);
-void ffestd_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv);
-void ffestd_V025_finish (void);
-void ffestd_V026 (void);
-#endif
void ffestd_V027_start (void);
void ffestd_V027_item (ffelexToken dest_token, ffebld source);
void ffestd_V027_finish (void);
diff --git a/gcc/f/ste.c b/gcc/f/ste.c
index b0d464a..66ee92c 100644
--- a/gcc/f/ste.c
+++ b/gcc/f/ste.c
@@ -4436,54 +4436,6 @@ ffeste_R1227 (ffestw block UNUSED, ffebld expr)
/* REWRITE statement -- start. */
-#if FFESTR_VXT
-void
-ffeste_V018_start (ffestpRewriteStmt *info, ffestvFormat format)
-{
- ffeste_check_start_ ();
-}
-
-/* REWRITE statement -- I/O item. */
-
-void
-ffeste_V018_item (ffebld expr)
-{
- ffeste_check_item_ ();
-}
-
-/* REWRITE statement -- end. */
-
-void
-ffeste_V018_finish ()
-{
- ffeste_check_finish_ ();
-}
-
-/* ACCEPT statement -- start. */
-
-void
-ffeste_V019_start (ffestpAcceptStmt *info, ffestvFormat format)
-{
- ffeste_check_start_ ();
-}
-
-/* ACCEPT statement -- I/O item. */
-
-void
-ffeste_V019_item (ffebld expr)
-{
- ffeste_check_item_ ();
-}
-
-/* ACCEPT statement -- end. */
-
-void
-ffeste_V019_finish ()
-{
- ffeste_check_finish_ ();
-}
-
-#endif
/* TYPE statement -- start. */
void
@@ -4511,102 +4463,6 @@ ffeste_V020_finish ()
/* DELETE statement. */
-#if FFESTR_VXT
-void
-ffeste_V021 (ffestpDeleteStmt *info)
-{
- ffeste_check_simple_ ();
-}
-
-/* UNLOCK statement. */
-
-void
-ffeste_V022 (ffestpBeruStmt *info)
-{
- ffeste_check_simple_ ();
-}
-
-/* ENCODE statement -- start. */
-
-void
-ffeste_V023_start (ffestpVxtcodeStmt *info)
-{
- ffeste_check_start_ ();
-}
-
-/* ENCODE statement -- I/O item. */
-
-void
-ffeste_V023_item (ffebld expr)
-{
- ffeste_check_item_ ();
-}
-
-/* ENCODE statement -- end. */
-
-void
-ffeste_V023_finish ()
-{
- ffeste_check_finish_ ();
-}
-
-/* DECODE statement -- start. */
-
-void
-ffeste_V024_start (ffestpVxtcodeStmt *info)
-{
- ffeste_check_start_ ();
-}
-
-/* DECODE statement -- I/O item. */
-
-void
-ffeste_V024_item (ffebld expr)
-{
- ffeste_check_item_ ();
-}
-
-/* DECODE statement -- end. */
-
-void
-ffeste_V024_finish ()
-{
- ffeste_check_finish_ ();
-}
-
-/* DEFINEFILE statement -- start. */
-
-void
-ffeste_V025_start ()
-{
- ffeste_check_start_ ();
-}
-
-/* DEFINE FILE statement -- item. */
-
-void
-ffeste_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv)
-{
- ffeste_check_item_ ();
-}
-
-/* DEFINE FILE statement -- end. */
-
-void
-ffeste_V025_finish ()
-{
- ffeste_check_finish_ ();
-}
-
-/* FIND statement. */
-
-void
-ffeste_V026 (ffestpFindStmt *info)
-{
- ffeste_check_simple_ ();
-}
-
-#endif
#ifdef ENABLE_CHECKING
void
diff --git a/gcc/f/ste.h b/gcc/f/ste.h
index d911105..ac04a4c 100644
--- a/gcc/f/ste.h
+++ b/gcc/f/ste.h
@@ -114,31 +114,9 @@ void ffeste_R1221 (void);
void ffeste_R1225 (void);
void ffeste_R1226 (ffesymbol entry);
void ffeste_R1227 (ffestw block, ffebld expr);
-#if FFESTR_VXT
-void ffeste_V018_start (ffestpRewriteStmt *info, ffestvFormat format);
-void ffeste_V018_item (ffebld expr);
-void ffeste_V018_finish (void);
-void ffeste_V019_start (ffestpAcceptStmt *info, ffestvFormat format);
-void ffeste_V019_item (ffebld expr);
-void ffeste_V019_finish (void);
-#endif
void ffeste_V020_start (ffestpTypeStmt *info, ffestvFormat format);
void ffeste_V020_item (ffebld expr);
void ffeste_V020_finish (void);
-#if FFESTR_VXT
-void ffeste_V021 (ffestpDeleteStmt *info);
-void ffeste_V022 (ffestpBeruStmt *info);
-void ffeste_V023_start (ffestpVxtcodeStmt *info);
-void ffeste_V023_item (ffebld expr);
-void ffeste_V023_finish (void);
-void ffeste_V024_start (ffestpVxtcodeStmt *info);
-void ffeste_V024_item (ffebld expr);
-void ffeste_V024_finish (void);
-void ffeste_V025_start (void);
-void ffeste_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv);
-void ffeste_V025_finish (void);
-void ffeste_V026 (ffestpFindStmt *info);
-#endif
/* Define macros. */
diff --git a/gcc/f/str.h b/gcc/f/str.h
index 543eeeb..b3ac04e 100644
--- a/gcc/f/str.h
+++ b/gcc/f/str.h
@@ -1,5 +1,5 @@
/* str.h -- Private #include File (module.h template V1.0)
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -30,11 +30,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifndef GCC_F_STR_H
#define GCC_F_STR_H
-/* Simple definitions and enumerations. */
-
-#define FFESTR_F90 0 /* Unsupported F90 stuff. */
-#define FFESTR_VXT 0 /* Unsupported VXT stuff. */
-
/* Typedefs. */