]> andersk Git - splint.git/blobdiff - src/signature.c.der
Fixed bug which would cause splint to crash if it was started with the -i flags and...
[splint.git] / src / signature.c.der
index 9193368fb602954d746d515b5ee95d363dceb548..15b7d4fe5e83c5d567a88abbcbf01ea4329bbc6c 100644 (file)
 /*@-dependenttrans@*/
 /*@-unqualifiedtrans@*/
 /*@-nullassign@*/
+/*@-nullpass@*/
+/*@-nullptrarith*/
+/*@-usereleased@*/
+/*@-declundef@*/
 
+/*drl added 11/27/2001*/
+/*@-bounds@*/
 /* < end of bison.head > */
 
 
 /*  A Bison parser, made from signature.y
- by  GNU Bison version 1.27
-  */
+    by GNU Bison version 1.28  */
 
 #define YYBISON 1  /* Identify Bison output.  */
 
 #define        LST_unionTOKEN  300
 #define        LST_BADTOKEN    301
 
-#line 36 "signature.y"
 
 
-# include "bison.reset"
-
 # include <stdio.h>
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
 # include "llbasic.h"
 # include "lslparse.h"
 # include "signature.h"
 
-void lslerror (char *);
+static void lslerror (char *);
+extern int lsllex ();
+
 /*@dependent@*/ /*@null@*/ lslOp importedlslOp;
 
 /*@-noparams@*/ /* Can't list params since YYSTYPE isn't defined yet. */
@@ -126,10 +130,11 @@ static void yyprint (/*FILE *p_file, int p_type, YYSTYPE p_value */);
 
 # define YYDEBUG 1
 
-# include "bison.head"
+/*@-redef@*/
+/*@-readonlytrans@*/
+/*@-nullassign@*/
 
 
-#line 73 "signature.y"
 typedef union {
   ltoken ltok;  /* a leaf is also an ltoken */
   unsigned int count;
@@ -139,6 +144,7 @@ typedef union {
   /*@only@*/  nameNode name;
   /*@owned@*/ lslOp operator;
   /*@only@*/  lslOpList operators;
+  /*@-redef@*/ /*@-matchfields@*/ 
 } YYSTYPE;
 #ifndef YYDEBUG
 #define YYDEBUG 1
@@ -312,8 +318,8 @@ static const short yycheck[] = {     3,
 #define YYPURE 1
 
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.27.  */
+
+/* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -526,7 +532,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
 #endif
 #endif
 \f
-#line 216 "/usr/lib/bison.simple"
+
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -855,175 +861,137 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 139 "signature.y"
 { lslOpList_free (yyvsp[0].operators); ;
     break;}
 case 2:
-#line 142 "signature.y"
 { lslOpList x = lslOpList_new ();
                g_importedlslOp = yyvsp[0].operator;
                lslOpList_add (x, yyvsp[0].operator);
                yyval.operators = x; ;
     break;}
 case 3:
-#line 147 "signature.y"
 { lslOpList_add (yyvsp[-1].operators, yyvsp[0].operator);
                yyval.operators = yyvsp[-1].operators; ;
     break;}
 case 4:
-#line 151 "signature.y"
 { yyval.operator = makelslOpNode (yyvsp[-2].name, yyvsp[0].signature); ;
     break;}
 case 5:
-#line 157 "signature.y"
 { yyval.name = makeNameNodeId (yyvsp[0].ltok); ;
     break;}
 case 6:
-#line 159 "signature.y"
 { yyval.name = makeNameNodeForm (yyvsp[0].opform); ;
     break;}
 case 7:
-#line 163 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-5].ltok, OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;
     break;}
 case 8:
-#line 165 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[0].ltok, OPF_ANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
     break;}
 case 9:
-#line 167 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
     break;}
 case 10:
-#line 169 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_ANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
     break;}
 case 11:
-#line 171 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
     break;}
 case 12:
-#line 173 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
     break;}
 case 13:
-#line 175 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
     break;}
 case 14:
-#line 177 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
     break;}
 case 15:
-#line 179 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLEM, 
                              opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
     break;}
 case 16:
-#line 182 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMIDDLE, 
                              opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
     break;}
 case 17:
-#line 185 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMMIDDLE, 
                              opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
     break;}
 case 18:
-#line 188 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMIDDLEM, 
                            opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
     break;}
 case 19:
-#line 191 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMMIDDLEM, 
                            opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
     break;}
 case 20:
-#line 194 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_SELECT, 
                            opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
     break;}
 case 21:
-#line 197 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MSELECT, 
                            opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
     break;}
 case 22:
-#line 202 "signature.y"
 { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMAP, 
                            opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
     break;}
 case 23:
-#line 207 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 case 24:
-#line 209 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 case 25:
-#line 211 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 case 26:
-#line 214 "signature.y"
 { yyval.count = 0; ;
     break;}
 case 27:
-#line 216 "signature.y"
 { yyval.count = yyvsp[0].count; ;
     break;}
 case 28:
-#line 219 "signature.y"
 { yyval.count = 1; ;
     break;}
 case 29:
-#line 221 "signature.y"
 { yyval.count = yyvsp[-2].count + 1; ;
     break;}
 case 30:
-#line 224 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 case 31:
-#line 226 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 case 32:
-#line 229 "signature.y"
 { yyval.signature = makesigNode (yyvsp[-1].ltok, yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
     break;}
 case 33:
-#line 232 "signature.y"
 { yyval.ltokenList = ltokenList_new (); ;
     break;}
 case 34:
-#line 234 "signature.y"
 { yyval.ltokenList = yyvsp[0].ltokenList; ;
     break;}
 case 35:
-#line 237 "signature.y"
 { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
     break;}
 case 36:
-#line 239 "signature.y"
 { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
     break;}
 case 37:
-#line 242 "signature.y"
 { 
          yyval.ltok = yyvsp[0].ltok; 
          ltoken_setText (yyval.ltok, processTraitSortId (ltoken_getText (yyvsp[0].ltok))); 
        ;
     break;}
 case 38:
-#line 248 "signature.y"
 { yyval.ltok = yyvsp[0].ltok; ;
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 542 "/usr/lib/bison.simple"
+
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1243,7 +1211,6 @@ yyerrhandle:
     }
   return 1;
 }
-#line 249 "signature.y"
 
 
 # include "bison.reset"
@@ -1252,9 +1219,12 @@ extern char *yytext;
 
 void lslerror (char *s) 
 {
-  lclplainerror 
-    (message ("An error has occurred in parsing LSL signature: %s", 
-             cstring_fromChars (s)));
+  llfatalbug 
+    (cstring_makeLiteral 
+     ("There has been a problem in the parser with LSL signatures. This is believed to result "
+      "from a problem with bison v. 1.25.  Please try rebuidling Splint "
+      "using the pre-compiled grammar files by commenting out the "
+      "BISON= line in the top-level Makefile."));
 }
 
 static void yyprint (FILE *file, int type, YYSTYPE value)
@@ -1318,3 +1288,50 @@ extern void PrintToken (ltoken tok) {
 
 
 
+/*
+** Resets all flags in bison.head
+*/
+
+
+/*@=allmacros@*/
+/*@=boolint@*/
+/*@=charint@*/
+/*@=macroparams@*/
+/*@=macroundef@*/
+/*@=unreachable@*/
+/*@=macrospec@*/
+/*@=varuse@*/
+/*@=ignorequals@*/
+/*@=macrostmt@*/
+/*@=noeffect@*/
+/*@=shadow@*/
+/*@=exitarg@*/
+/*@=macroredef@*/
+/*@=uniondef@*/
+/*@=compdef@*/
+/*@=matchfields@*/
+/*@=exportlocal@*/
+/*@=evalorderuncon@*/
+/*@=exportheader@*/
+/*@=typeuse@*/
+/*@=redecl@*/
+/*@=redef@*/
+/*@=noparams@*/
+/*@=ansireserved@*/
+/*@=fielduse@*/
+/*@=ifblock@*/
+/*@=elseifcomplete@*/
+/*@=whileblock@*/
+/*@=forblock@*/
+/*@=branchstate@*/
+/*@=readonlytrans@*/
+/*@=namechecks@*/
+/*@=usedef@*/
+/*@=systemunrecog@*/
+/*@=dependenttrans@*/
+/*@=unqualifiedtrans@*/
+/*@=declundef@*/
+
+
+/*drl added 11/27/2001*/
+/*@=bounds@*/
This page took 0.065007 seconds and 4 git commands to generate.