# include "lclintMacros.nf"
# include "basic.h"
-# ifdef SANITIZER
-# include "sgrammar.h"
-# include "sgrammar_tokens.h"
-# else
# include "cgrammar.h"
# include "cgrammar_tokens.h"
-# endif
# include "fileIdList.h"
# include "portab.h"
"undef" { return (processSpec (QUNDEF)); }
"killed" { return (processSpec (QKILLED)); }
"nullterminated" { return (processSpec (QNULLTERMINATED));}
+"MaxSet" { return (processSpec (QMAXSET));}
+"MaxRead" { return (processSpec (QMAXREAD));}
+
{Letter}({Letter}|{Digit})* { int tok;
context_saveLocation ();
setTokLength (longUnsigned_toInt (mstring_length (yytext)));
{ "releases", QRELEASES } ,
{ "pre", QPRECLAUSE } ,
{ "post", QPOSTCLAUSE } ,
- { NULL, BADTOK }
+ {"setBufferSize", QSETBUFFERSIZE},
+ {"bufferConstraint", QBUFFERCONSTRAINT},
+ {"ensuresConstraint", QENSURESCONSTRAINT},
+ {"setStringLength", QSETSTRINGLENGTH},
+ {"testinRange", QTESTINRANGE},
+ { NULL, BADTOK }
} ;
/*
{ "null", QNULL } ,
{ "relnull", QRELNULL } ,
{ "nullterminated", QNULLTERMINATED },
+ { "setBufferSize", QSETBUFFERSIZE },
+ { "bufferConstraint", QBUFFERCONSTRAINT },
+ { "ensuresConstraint", QENSURESCONSTRAINT },
+ { "testInRange", QTESTINRANGE},
+ { "MaxSet", QMAXSET},
+ { "MaxRead", QMAXREAD},
{ "reldef", QRELDEF } ,
{ "observer", QOBSERVER } ,
{ "exits", QEXITS } ,
{
cstring flagname = thisflag;
flagcode fflag = identifyFlag (flagname);
-
+
if (flagcode_isSkip (fflag))
{
;
else
{
context_fileSetFlag (fflag, set);
-
+
if (flagcode_hasArgument (fflag))
{
if (ynm_isMaybe (set))
}
sfree (orest);
-
+
if (cstring_isUndefined (extra))
{
llerror
}
else
{
- }
+ ;
+ }
*s = c;
while ((c == ' ') || (c == '\t') || (c == '\n'))
if (usymtab_existsType (tname))
{
usymId uid = usymtab_getTypeId (tname);
-
- context_addFileAccessType (uid);
+ context_addFileAccessType (uid);
}
else
{
tval = (int) c - (int) 'A' + 10;
} else if (c >= 'a' && c <= 'f') {
tval = (int) c - (int) 'a' + 10;
+ } else if (c == 'U' || c == 'L' || c == 'u' || c == 'l') {
+ index++;
+ while (yytext[index] != '\0') {
+ if (c == 'U' || c == 'L' || c == 'u' || c == 'l') {
+ ;
+ } else {
+ voptgenerror
+ (FLG_SYNTAX,
+ message ("Invalid character (%c) following specifier in hex constant: %s",
+ c, cstring_fromChars (yytext)),
+ g_currentloc);
+ }
+ index++;
+ }
+
+ break;
} else {
voptgenerror
(FLG_SYNTAX,