X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/885824d34f6f6626fde2fb041801408cbaf1f6f1..35e063d82040a7c7a6da8634cf377e19ee0662d1:/src/signature.c.der diff --git a/src/signature.c.der b/src/signature.c.der index 9193368..15b7d4f 100644 --- a/src/signature.c.der +++ b/src/signature.c.der @@ -41,13 +41,18 @@ /*@-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. */ @@ -104,18 +109,17 @@ #define LST_unionTOKEN 300 #define LST_BADTOKEN 301 -#line 36 "signature.y" -# include "bison.reset" - # include -# 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 -#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" + 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@*/