]> andersk Git - splint.git/blobdiff - src/lex.yy.c
Merged with Dave Evans's changes.
[splint.git] / src / lex.yy.c
index 5fef8607bdedf851536e0369b319fc438b8e6921..45e13de3dfc4e85f2fdae184199cc4558d77e1b3 100644 (file)
@@ -282,66 +282,68 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 177
-#define YY_END_OF_BUFFER 178
-static yyconst short int yy_accept[509] =
+#define YY_NUM_RULES 181
+#define YY_END_OF_BUFFER 182
+static yyconst short int yy_accept[530] =
     {   0,
-        0,    0,  178,  176,  156,  157,  144,  176,    3,   79,
-      150,  143,  176,  138,  139,  148,  147,  135,  146,  142,
-      149,   94,   94,  136,  132,  151,  137,  152,  155,  176,
-      140,  175,  141,  153,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,  133,  154,  134,  145,  131,
-        0,   42,    0,    2,   79,  117,  173,  174,  126,  118,
-        0,    0,  115,  123,  113,  124,  114,  125,    0,  107,
-        1,  116,  110,   87,    0,   96,   95,    0,   94,  122,
-      128,  130,  129,  121,    0,    0,    0,  119,   79,   79,
-
-       79,   79,   79,   79,   79,   79,    9,   79,   79,   79,
-       79,   79,   79,   79,   13,   44,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,  120,  127,    0,    0,    2,  101,
-        4,    0,  105,  106,  107,    0,  108,  109,   89,   88,
-        0,  104,   97,   98,   98,   80,  112,  111,  163,  164,
-      161,  166,  171,  162,  172,  167,  170,  165,  168,  169,
-        0,    0,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   11,
-
-       79,   79,   27,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   43,   79,   79,   79,   79,   79,   79,
-       74,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,    0,   42,    0,    0,  107,    0,  105,  106,
-        0,  110,   90,   91,   91,  102,  103,  100,   99,   81,
-       83,  160,    0,    0,   79,   79,   39,   79,    6,   29,
-       79,   79,   79,   79,   79,   79,   10,   25,   79,   79,
-       79,   79,   12,   79,   79,   79,   51,   79,   31,   79,
-       79,   52,   79,   79,   68,   79,   79,   79,   79,   79,
-
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       26,   79,   79,   79,    0,  107,   93,   92,   82,   84,
-       84,    0,  159,   79,   79,    5,   79,   36,   79,   79,
-       79,   79,   79,   79,   79,   30,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   69,   79,   79,   79,   79,
-       79,   79,   79,   32,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   77,   24,   79,   79,   79,   79,
-       79,   18,   76,   86,   85,  158,   79,   79,   79,   79,
-       79,   79,   79,   28,   79,   38,   79,   21,   79,   54,
-
-       78,   79,   60,   79,   79,   79,   79,   79,   79,   58,
-       79,   14,   75,   34,   15,   79,   41,   22,   17,   79,
-       79,   79,   79,   79,   72,   19,   20,   79,   37,   47,
-       64,   79,   79,    8,   79,   59,   79,   79,   79,   62,
-       53,   79,   79,   45,   79,   79,   57,   79,   46,   61,
-       79,   23,   79,   79,   79,   79,   65,    7,   79,   73,
-       79,   79,   70,   16,   79,   40,   79,   55,   79,   33,
-       35,   79,   71,   56,   79,   79,   79,   67,   79,   79,
-       79,   63,   79,   79,   79,   79,   79,   79,   79,   48,
-       79,   79,   66,   79,   79,   79,   79,   79,   79,   79,
-
-       79,   79,   79,   50,   79,   79,   49,    0
+        0,    0,  182,  180,  160,  161,  147,  180,    3,   82,
+      153,  146,  180,  141,  142,  151,  150,  138,  149,  145,
+      152,   97,   97,  139,  135,  154,  140,  155,  158,  180,
+       82,  143,  179,  144,  156,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,  136,  157,  137,  148,
+      134,    0,   42,    0,    2,   82,  120,  177,  178,  129,
+      121,    0,    0,  118,  126,  116,  127,  117,  128,    0,
+      110,    1,  119,  159,  113,   90,    0,   99,   98,    0,
+       97,  125,  131,  133,  132,  124,    0,    0,    0,   82,
+
+      122,   82,   82,   82,   82,   82,   82,   82,   82,    9,
+       82,   82,   82,   82,   82,   82,   82,   13,   44,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,  123,  130,    0,
+        0,    2,  104,    4,    0,  108,  109,  110,    0,  111,
+      112,   92,   91,    0,  107,  100,  101,  101,   83,  115,
+      114,  167,  168,  165,  170,  175,  166,  176,  171,  174,
+      169,  172,  173,    0,    0,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+
+       82,   82,   82,   11,   82,   82,   27,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   43,   82,   82,
+       82,   82,   82,   82,   74,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,    0,   42,    0,    0,
+      110,    0,  108,  109,    0,  113,   93,   94,   94,  105,
+      106,  103,  102,   84,   86,  164,    0,    0,   82,   82,
+       82,   82,   39,   82,    6,   29,   82,   82,   82,   82,
+       82,   82,   10,   25,   82,   82,   82,   82,   12,   82,
+       82,   82,   51,   82,   31,   82,   82,   52,   82,   82,
+
+       68,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,   82,   26,   82,   82,   82,
+        0,  110,   96,   95,   85,   87,   87,    0,  163,   82,
+       82,   82,   82,    5,   82,   36,   82,   82,   82,   82,
+       82,   82,   82,   30,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   69,   82,   82,   82,   82,   82,
+       82,   82,   32,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   77,   24,   82,   82,   82,   82,   82,
+       18,   76,   89,   88,  162,   82,   80,   82,   82,   82,
+
+       82,   82,   82,   82,   28,   82,   38,   82,   21,   82,
+       54,   78,   82,   60,   82,   82,   82,   82,   82,   82,
+       82,   58,   82,   14,   75,   34,   15,   82,   41,   22,
+       17,   82,   82,   82,   82,   82,   72,   19,   20,   82,
+       81,   37,   47,   64,   82,   82,    8,   82,   59,   82,
+       82,   82,   62,   53,   82,   82,   82,   45,   82,   82,
+       57,   82,   46,   61,   82,   23,   82,   82,   82,   82,
+       65,    7,   82,   73,   82,   82,   82,   70,   16,   82,
+       40,   82,   55,   82,   33,   35,   82,   71,   56,   82,
+       82,   82,   82,   67,   82,   82,   82,   82,   63,   82,
+
+       82,   82,   82,   82,   82,   82,   82,   48,   82,   82,
+       82,   66,   82,   82,   82,   79,   82,   82,   82,   82,
+       82,   82,   82,   82,   50,   82,   82,   49,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -388,214 +390,220 @@ static yyconst int yy_meta[79] =
         2,    2,    2,    2,    1,    1,    1,    1
     } ;
 
-static yyconst short int yy_base[516] =
+static yyconst short int yy_base[537] =
     {   0,
-        0,    0,  659,  660,  660,  660,  633,   73,    0,    0,
-       55,   71,  610,  660,  660,  631,   67,  660,   68,   66,
-       74,   80,   85,  660,  660,   65,  630,   82,  660,   91,
-      660,  660,  660,  629,  603,   28,  586,   67,   40,   65,
-       72,  587,   88,   55,  586,   79,  101,  598,  593,  103,
-       90,  584,   51,  588,  586,  660,  113,  660,  660,  660,
-      133,  163,  641,    0,    0,  660,  660,  660,  660,  660,
-      100,  139,  660,  660,  660,  660,  660,  660,  625,  155,
-      660,  660,  162,  172,  164,  160,  142,    0,  204,  617,
-      660,  660,  660,  616,  245,  603,  603,  660,  585,  564,
-
-      568,  580,  567,  122,  570,  141,  563,  564,  561,  144,
-      568,  564,  561,  558,    0,   99,  562,  569,  562,  559,
-      550,  552,  558,  551,  561,  555,  547,  551,  547,  174,
-      556,  135,  158,  556,  154,  551,  547,  539,  542,  184,
-      556,  167,  546,  549,  660,  660,  242,  153,    0,  660,
-      660,  235,  660,  660,  251,  243,  660,  660,  233,  230,
-      241,  272,  165,  660,  234,  261,  660,  660,  660,  562,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      563,  564,  536,  531,  534,  546,  541,  529,  541,  200,
-      542,  537,  539,  535,  527,  524,  532,  519,  534,    0,
-
-      520,  524,  527,  512,  515,  518,  521,  511,  513,  514,
-      519,  506,  499,    0,  516,  502,  516,  509,  246,  498,
-        0,  500,  499,  501,  508,  509,  493,  491,  491,  493,
-      502,  501,  497,  499,  489,  493,  484,  203,  496,  498,
-      487,  486,  271,  308,  543,  278,  296,  304,  660,  660,
-      306,  314,  254,  660,  277,  660,  660,  660,  660,  295,
-      279,  660,  517,  505,  480,  469,    0,  481,    0,    0,
-      480,  471,  479,  468,  473,  474,    0,    0,  467,  467,
-      477,  463,    0,  467,  472,  467,    0,  287,    0,  472,
-      457,    0,  459,  469,    0,  469,  463,  457,  453,  464,
-
-      449,  451,  461,  447,  459,  449,  453,  452,  457,  456,
-      442,  444,  452,  450,  448,  440,  445,  446,  434,  446,
-        0,  430,  442,  442,  323,  325,  660,  660,  294,  660,
-      305,  467,  660,  427,  428,    0,  293,    0,  429,  430,
-      436,  434,  433,  424,  423,    0,  430,  418,  422,  428,
-      426,  424,  418,  408,  409,    0,  425,  406,  406,  417,
-      411,  408,  416,    0,  415,  412,  416,  413,  397,  406,
-      408,  393,  406,  407,    0,    0,  396,  404,  400,  395,
-      396,    0,    0,  660,  660,  660,  386,  398,  398,  387,
-      381,  381,  393,    0,  393,  395,  376,    0,  393,    0,
-
-        0,  387,    0,  381,  386,  376,  378,  375,  382,    0,
-      375,    0,    0,  376,    0,  373,    0,    0,    0,  377,
-      371,  375,  370,  374,    0,    0,    0,  367,    0,    0,
-      360,  372,  370,    0,  361,    0,  362,  361,  360,    0,
-        0,  354,  363,    0,  350,  351,    0,  353,    0,    0,
-      345,    0,  347,  343,  339,  325,    0,    0,  317,    0,
-      323,  315,    0,    0,  327,    0,  312,    0,  325,  319,
-        0,  311,    0,    0,  303,  320,  318,    0,  309,  312,
-      304,    0,  311,  299,  312,  307,  294,  304,  286,    0,
-      300,  292,    0,  278,  254,  236,  250,  176,  186,  174,
-
-      151,  158,  128,    0,   48,   28,    0,  660,  386,  390,
-      394,  399,  403,  405,  410
+        0,    0,  679,  680,  680,  680,  653,   73,    0,    0,
+       55,   71,  630,  680,  680,  651,   67,  680,   68,   66,
+       74,   80,   87,  680,  680,   65,  650,   77,  680,   99,
+      623,  680,  680,  680,  648,  622,   28,  605,   67,   40,
+       73,   82,  606,   84,   51,  605,   89,   98,  617,  612,
+      105,  102,  603,   62,  607,  605,  680,   86,  680,  680,
+      680,  108,  175,  660,    0,    0,  680,  680,  680,  680,
+      680,  127,  168,  680,  680,  680,  680,  680,  680,  644,
+      162,  680,  680,  680,  164,  169,  171,  166,  167,    0,
+      211,  636,  680,  680,  680,  635,  252,  622,  622,  585,
+
+      680,  603,  582,  586,  598,  585,  155,  588,  148,  581,
+      582,  579,  144,  586,  582,  579,  576,    0,   98,  580,
+      587,  580,  577,  568,  570,  576,  569,  579,  573,  565,
+      569,  565,  165,  574,   64,  142,  574,  114,  569,  565,
+      557,  560,  183,  574,  180,  564,  567,  680,  680,  242,
+      187,    0,  680,  680,  234,  680,  680,  243,  241,  680,
+      680,  204,  221,  194,  270,  225,  680,  223,  266,  680,
+      680,  680,  580,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  581,  582,  229,  554,  549,  552,  564,
+      559,  547,  559,  203,  560,  555,  557,  553,  545,  542,
+
+      550,  537,  552,    0,  538,  542,  545,  530,  533,  536,
+      539,  529,  531,  532,  537,  524,  517,    0,  534,  520,
+      534,  527,  246,  516,    0,  518,  517,  519,  526,  527,
+      511,  509,  509,  511,  520,  519,  515,  517,  507,  511,
+      502,  223,  514,  516,  505,  504,  254,  308,  561,  292,
+      296,  303,  680,  680,  301,  313,  236,  680,  279,  680,
+      680,  680,  680,  294,  283,  680,  535,  523,  506,  505,
+      496,  485,    0,  497,    0,    0,  496,  487,  495,  484,
+      489,  490,    0,    0,  483,  483,  493,  479,    0,  483,
+      488,  483,    0,  273,    0,  488,  473,  473,  474,  484,
+
+        0,  484,  478,  472,  468,  479,  464,  466,  476,  462,
+      474,  464,  468,  467,  472,  471,  457,  459,  467,  465,
+      463,  455,  460,  461,  449,  461,    0,  445,  457,  457,
+      317,  339,  680,  680,  299,  680,  289,  482,  680,  458,
+      440,  440,  441,    0,  292,    0,  442,  443,  449,  447,
+      446,  437,  436,    0,  443,  431,  435,  441,  439,  437,
+      431,  436,  420,  421,    0,  437,  418,  418,  429,  423,
+      420,  428,    0,  427,  424,  428,  425,  409,  418,  420,
+      405,  418,  419,    0,    0,  408,  416,  412,  407,  408,
+        0,    0,  680,  680,  680,  412,    0,  397,  409,  409,
+
+      398,  392,  392,  404,    0,  404,  406,  387,    0,  404,
+        0,    0,  398,    0,  392,  386,  396,  386,  388,  385,
+      392,    0,  385,    0,    0,  386,    0,  383,    0,    0,
+        0,  387,  381,  385,  380,  384,    0,    0,    0,  377,
+        0,    0,    0,  370,  382,  380,    0,  371,    0,  372,
+      371,  370,    0,    0,  368,  354,  360,    0,  343,  342,
+        0,  344,    0,    0,  338,    0,  343,  343,  341,  326,
+        0,    0,  325,    0,  331,  323,  331,    0,    0,  334,
+        0,  320,    0,  333,  327,    0,  319,    0,    0,  311,
+      320,  328,  326,    0,  317,  320,  313,  326,    0,  319,
+
+      305,  318,  315,  299,  300,  310,  296,    0,  307,  310,
+      301,    0,  302,  292,  285,    0,  280,  294,  270,  281,
+      242,  139,  117,   66,    0,   44,   28,    0,  680,  400,
+      404,  408,  413,  417,  419,  424
     } ;
 
-static yyconst short int yy_def[516] =
+static yyconst short int yy_def[537] =
     {   0,
-      508,    1,  508,  508,  508,  508,  508,  509,  510,  511,
-      508,  508,  512,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  508,  508,  508,  508,  508,
-      509,  508,  509,  513,  511,  508,  508,  508,  508,  508,
-      512,  512,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  514,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  508,  508,  508,  515,  513,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  514,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  515,  508,  515,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  508,  508,  508,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,    0,  508,  508,
-      508,  508,  508,  508,  508
+      529,    1,  529,  529,  529,  529,  529,  530,  531,  532,
+      529,  529,  533,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      532,  529,  529,  529,  529,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  529,  529,  529,  529,
+      529,  530,  529,  530,  534,  532,  529,  529,  529,  529,
+      529,  533,  533,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  535,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  532,
+
+      529,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  529,  529,  529,
+      536,  534,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  535,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  536,  529,  536,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  529,  529,  529,  532,  532,  532,  532,  532,
+
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
+      532,  532,  532,  532,  532,  532,  532,  532,    0,  529,
+      529,  529,  529,  529,  529,  529
     } ;
 
-static yyconst short int yy_nxt[739] =
+static yyconst short int yy_nxt[759] =
     {   0,
         4,    5,    6,    5,    7,    8,    9,   10,   11,   12,
        13,   14,   15,   16,   17,   18,   19,   20,   21,   22,
        23,   24,   25,   26,   27,   28,   29,   30,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   31,   32,   33,   34,   35,
-       36,   37,   38,   39,   40,   41,   42,   10,   43,   44,
-       45,   10,   46,   47,   48,   49,   50,   51,   52,   53,
-       54,   10,   55,   10,   56,   57,   58,   59,   62,   66,
-       69,   74,  507,   79,   76,   80,   80,   81,   90,   91,
-      100,   75,   77,   78,  106,   70,  101,   83,   82,   84,
-
-       84,  141,   83,  107,   89,   89,   93,   94,   95,  118,
-      150,   85,  506,  119,  142,   86,   85,  103,   96,   63,
-       86,   87,  111,   88,  104,  108,   87,  109,   97,   67,
-      105,   68,  112,  121,   85,  113,  110,  145,   62,   85,
-       86,  508,  122,  115,  137,   86,   72,  123,   87,   71,
-      116,   88,  124,   87,  117,  138,  125,  131,  244,  202,
-      132,  133,  139,  126,  147,  147,  203,  134,  148,  127,
-      135,  128,  188,  136,   80,   80,  189,  165,  161,   63,
-      161,  155,  155,  162,  162,  222,  152,  153,  146,   83,
-      154,   84,   84,  156,  157,  163,  191,  158,  223,  245,
-
-      505,  164,  165,   85,  227,  192,  258,  159,  196,  152,
-      153,  197,  504,  160,  224,  154,  156,  157,  503,  228,
-      163,   83,  158,   89,   89,  239,   85,  240,  164,  217,
-      218,  225,  159,  258,  219,   85,  233,  234,  502,   86,
-      160,  220,  235,  147,  147,   87,  501,  148,  500,  246,
-      236,  246,  237,  319,  247,  247,  320,  251,   85,  251,
-      162,  162,  252,  252,   86,  255,  272,  273,  253,  259,
-      155,  155,   87,  169,  254,  170,  244,  171,  172,  173,
-      174,  175,  248,  249,  176,  177,  250,  178,  179,  180,
-      255,  162,  162,  253,  259,  327,  260,  247,  247,  300,
-
-      499,  254,  261,  498,  256,  248,  249,  257,  301,  147,
-      147,  250,  328,  148,  331,  247,  247,  245,  325,  497,
-      325,  260,  327,  326,  326,  252,  252,  256,  153,  261,
-      329,  154,  257,  252,  252,  384,  330,  328,  496,  331,
-      385,  350,  326,  326,  326,  326,  157,  389,  495,  158,
-      494,  153,  351,  493,  390,  329,  154,  249,  492,  491,
-      250,  490,  384,  330,  489,  385,  488,  487,  486,  157,
-      485,  484,  483,  482,  158,  481,  480,  479,  478,  477,
-      249,  476,  475,  474,  473,  250,   61,   61,   61,   61,
-       61,   64,  472,  471,   64,   65,  470,   65,   65,   71,
-
-       71,  469,   71,   71,  149,  468,  149,  149,  166,  166,
-      243,  243,  243,  243,  243,  467,  466,  465,  464,  463,
-      462,  461,  460,  459,  458,  457,  456,  455,  454,  453,
-      452,  451,  450,  449,  448,  447,  446,  445,  444,  443,
-      442,  441,  440,  439,  438,  437,  436,  435,  434,  433,
-      432,  431,  430,  429,  428,  427,  426,  425,  424,  423,
-      422,  421,  420,  419,  418,  417,  416,  415,  414,  413,
-      412,  411,  410,  409,  408,  407,  406,  405,  404,  403,
-      402,  401,  400,  399,  398,  397,  396,  395,  394,  393,
-      392,  391,  388,  387,  386,  383,  382,  381,  380,  379,
-
-      378,  377,  376,  375,  374,  373,  372,  371,  370,  369,
-      368,  367,  366,  365,  364,  363,  362,  361,  360,  359,
-      358,  357,  356,  355,  354,  353,  352,  349,  348,  347,
-      346,  345,  344,  343,  342,  341,  340,  339,  338,  337,
-      336,  335,  334,  333,  332,  508,  324,  323,  322,  321,
-      318,  317,  316,  315,  314,  313,  312,  311,  310,  309,
-      308,  307,  306,  305,  304,  303,  302,  299,  298,  297,
-      296,  295,  294,  293,  292,  291,  290,  289,  288,  287,
-      286,  285,  284,  283,  282,  281,  280,  279,  278,  277,
-      276,  275,  274,  271,  270,  269,  268,  267,  266,  265,
-
-      264,  263,  262,  242,  241,  238,  232,  231,  230,  229,
-      226,  221,  216,  215,  214,  213,  212,  211,  210,  209,
-      208,  207,  206,  205,  204,  201,  200,  199,  198,  195,
-      194,  193,  190,  187,  186,  185,  184,  183,  182,  181,
-      168,  167,  151,  508,  144,  143,  140,  130,  129,  120,
-      114,  102,   99,   98,   92,   73,   72,   60,  508,    3,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508
+       10,   10,   10,   10,   10,   10,   31,   10,   10,   10,
+       10,   10,   10,   10,   10,   32,   33,   34,   35,   36,
+       37,   38,   39,   40,   41,   42,   43,   10,   44,   45,
+       46,   10,   47,   48,   49,   50,   51,   52,   53,   54,
+       55,   10,   56,   10,   57,   58,   59,   60,   63,   67,
+       70,   75,  528,   80,   77,   81,   81,   82,   92,   93,
+      103,   76,   78,   79,  109,   71,  104,   85,   83,   86,
+
+       86,   95,   96,  110,   85,  121,   91,   91,  527,  122,
+      148,   87,  144,   63,  226,   88,   97,  106,   87,   64,
+       84,   89,   88,   90,  107,  145,   98,  227,   89,   68,
+      108,   69,  114,  111,   87,  112,   99,  153,  526,  118,
+       88,   87,  115,  124,  113,  116,  119,   88,   89,  127,
+      120,   90,  125,  128,   64,   89,  140,  126,  206,  134,
+      129,  149,  135,  136,  231,  207,  130,  141,  131,  137,
+      529,  525,  138,   73,  142,  139,  150,  150,   72,  232,
+      151,   81,   81,  158,  158,  164,   85,  164,   86,   86,
+      165,  165,  248,  155,  156,  159,  160,  157,  228,  161,
+
+       87,  166,  168,  195,  162,  192,  524,  167,  200,  193,
+      163,  201,  196,  165,  165,  229,  155,  156,  159,  160,
+      221,  222,  157,   87,  161,  223,  166,  168,   85,  162,
+       91,   91,  224,  249,  167,  237,  238,  163,  243,  257,
+      244,  239,   87,  150,  150,  258,   88,  151,  250,  240,
+      250,  241,   89,  251,  251,  255,  259,  255,  263,  248,
+      256,  256,  158,  158,  257,   87,  262,  269,  270,  278,
+      279,   88,  258,  325,  252,  253,  326,  333,  254,   89,
+      172,  259,  173,  263,  174,  175,  176,  177,  178,  165,
+      165,  179,  180,  262,  181,  182,  183,  252,  253,  306,
+
+      249,  264,  260,  254,  333,  261,  523,  265,  307,  150,
+      150,  251,  251,  151,  334,  251,  251,  331,  337,  331,
+      256,  256,  332,  332,  394,  260,  264,  358,  156,  335,
+      261,  157,  256,  256,  265,  336,  332,  332,  359,  334,
+      393,  522,  521,  337,  520,  160,  400,  519,  161,  394,
+      518,  156,  517,  401,  335,  516,  157,  515,  332,  332,
+      514,  513,  336,  512,  511,  510,  509,  393,  160,  508,
+      507,  253,  506,  161,  254,  505,  504,  503,  502,  501,
+      500,  499,  498,  497,  496,  495,  494,  493,  492,  491,
+      490,  489,  488,  487,  253,  486,  485,  484,  483,  254,
+
+       62,   62,   62,   62,   62,   65,  482,  481,   65,   66,
+      480,   66,   66,   72,   72,  479,   72,   72,  152,  478,
+      152,  152,  169,  169,  247,  247,  247,  247,  247,  477,
+      476,  475,  474,  473,  472,  471,  470,  469,  468,  467,
+      466,  465,  464,  463,  462,  461,  460,  459,  458,  457,
+      456,  455,  454,  453,  452,  451,  450,  449,  448,  447,
+      446,  445,  444,  443,  442,  441,  440,  439,  438,  437,
+      436,  435,  434,  433,  432,  431,  430,  429,  428,  427,
+      426,  425,  424,  423,  422,  421,  420,  419,  418,  417,
+      416,  415,  414,  413,  412,  411,  410,  409,  408,  407,
+
+      406,  405,  404,  403,  402,  399,  398,  397,  396,  395,
+      392,  391,  390,  389,  388,  387,  386,  385,  384,  383,
+      382,  381,  380,  379,  378,  377,  376,  375,  374,  373,
+      372,  371,  370,  369,  368,  367,  366,  365,  364,  363,
+      362,  361,  360,  357,  356,  355,  354,  353,  352,  351,
+      350,  349,  348,  347,  346,  345,  344,  343,  342,  341,
+      340,  339,  338,  529,  330,  329,  328,  327,  324,  323,
+      322,  321,  320,  319,  318,  317,  316,  315,  314,  313,
+      312,  311,  310,  309,  308,  305,  304,  303,  302,  301,
+      300,  299,  298,  297,  296,  295,  294,  293,  292,  291,
+
+      290,  289,  288,  287,  286,  285,  284,  283,  282,  281,
+      280,  277,  276,  275,  274,  273,  272,  271,  268,  267,
+      266,  246,  245,  242,  236,  235,  234,  233,  230,  225,
+      220,  219,  218,  217,  216,  215,  214,  213,  212,  211,
+      210,  209,  208,  205,  204,  203,  202,  199,  198,  197,
+      194,  191,  190,  189,  188,  187,  186,  185,  184,  171,
+      170,  154,  529,  147,  146,  143,  133,  132,  123,  117,
+      105,  102,  101,  100,   94,   74,   73,   61,  529,    3,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529
     } ;
 
-static yyconst short int yy_chk[739] =
+static yyconst short int yy_chk[759] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -605,79 +613,81 @@ static yyconst short int yy_chk[739] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    8,   11,
-       12,   17,  506,   20,   19,   20,   20,   21,   26,   26,
-       36,   17,   19,   19,   39,   12,   36,   22,   21,   22,
-
-       22,   53,   23,   39,   23,   23,   28,   28,   30,   44,
-       71,   22,  505,   44,   53,   22,   23,   38,   30,    8,
-       23,   22,   41,   22,   38,   40,   23,   40,   30,   11,
-       38,   11,   41,   46,   22,   41,   40,   57,   61,   23,
-       22,   72,   46,   43,   51,   23,   71,   46,   22,   72,
-       43,   22,   47,   23,   43,   51,   47,   50,  148,  116,
-       50,   50,   51,   47,   62,   62,  116,   50,   62,   47,
-       50,   47,  104,   50,   80,   80,  104,   87,   85,   61,
-       85,   83,   83,   85,   85,  132,   80,   80,   57,   84,
-       80,   84,   84,   83,   83,   86,  106,   83,  132,  148,
-
-      503,   86,   87,   84,  135,  106,  163,   84,  110,   80,
-       80,  110,  502,   84,  133,   80,   83,   83,  501,  135,
-       86,   89,   83,   89,   89,  142,   84,  142,   86,  130,
-      130,  133,   84,  163,  130,   89,  140,  140,  500,   89,
-       84,  130,  140,  147,  147,   89,  499,  147,  498,  152,
-      140,  152,  140,  238,  152,  152,  238,  156,   89,  156,
-      161,  161,  156,  156,   89,  160,  190,  190,  159,  165,
-      155,  155,   89,   95,  159,   95,  243,   95,   95,   95,
-       95,   95,  155,  155,   95,   95,  155,   95,   95,   95,
-      160,  162,  162,  159,  165,  253,  166,  246,  246,  219,
-
-      497,  159,  166,  496,  162,  155,  155,  162,  219,  244,
-      244,  155,  255,  244,  261,  247,  247,  243,  248,  495,
-      248,  166,  253,  248,  248,  251,  251,  162,  247,  166,
-      260,  247,  162,  252,  252,  329,  260,  255,  494,  261,
-      331,  288,  325,  325,  326,  326,  252,  337,  492,  252,
-      491,  247,  288,  489,  337,  260,  247,  326,  488,  487,
-      326,  486,  329,  260,  485,  331,  484,  483,  481,  252,
-      480,  479,  477,  476,  252,  475,  472,  470,  469,  467,
-      326,  465,  462,  461,  459,  326,  509,  509,  509,  509,
-      509,  510,  456,  455,  510,  511,  454,  511,  511,  512,
-
-      512,  453,  512,  512,  513,  451,  513,  513,  514,  514,
-      515,  515,  515,  515,  515,  448,  446,  445,  443,  442,
-      439,  438,  437,  435,  433,  432,  431,  428,  424,  423,
-      422,  421,  420,  416,  414,  411,  409,  408,  407,  406,
-      405,  404,  402,  399,  397,  396,  395,  393,  392,  391,
-      390,  389,  388,  387,  381,  380,  379,  378,  377,  374,
-      373,  372,  371,  370,  369,  368,  367,  366,  365,  363,
-      362,  361,  360,  359,  358,  357,  355,  354,  353,  352,
-      351,  350,  349,  348,  347,  345,  344,  343,  342,  341,
-      340,  339,  335,  334,  332,  324,  323,  322,  320,  319,
-
-      318,  317,  316,  315,  314,  313,  312,  311,  310,  309,
-      308,  307,  306,  305,  304,  303,  302,  301,  300,  299,
-      298,  297,  296,  294,  293,  291,  290,  286,  285,  284,
-      282,  281,  280,  279,  276,  275,  274,  273,  272,  271,
-      268,  266,  265,  264,  263,  245,  242,  241,  240,  239,
-      237,  236,  235,  234,  233,  232,  231,  230,  229,  228,
-      227,  226,  225,  224,  223,  222,  220,  218,  217,  216,
-      215,  213,  212,  211,  210,  209,  208,  207,  206,  205,
-      204,  203,  202,  201,  199,  198,  197,  196,  195,  194,
-      193,  192,  191,  189,  188,  187,  186,  185,  184,  183,
-
-      182,  181,  170,  144,  143,  141,  139,  138,  137,  136,
-      134,  131,  129,  128,  127,  126,  125,  124,  123,  122,
-      121,  120,  119,  118,  117,  114,  113,  112,  111,  109,
-      108,  107,  105,  103,  102,  101,  100,   99,   97,   96,
-       94,   90,   79,   63,   55,   54,   52,   49,   48,   45,
-       42,   37,   35,   34,   27,   16,   13,    7,    3,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508,  508,  508,
-      508,  508,  508,  508,  508,  508,  508,  508
+       12,   17,  527,   20,   19,   20,   20,   21,   26,   26,
+       37,   17,   19,   19,   40,   12,   37,   22,   21,   22,
+
+       22,   28,   28,   40,   23,   45,   23,   23,  526,   45,
+       58,   22,   54,   62,  135,   22,   30,   39,   23,    8,
+       21,   22,   23,   22,   39,   54,   30,  135,   23,   11,
+       39,   11,   42,   41,   22,   41,   30,   72,  524,   44,
+       22,   23,   42,   47,   41,   42,   44,   23,   22,   48,
+       44,   22,   47,   48,   62,   23,   52,   47,  119,   51,
+       48,   58,   51,   51,  138,  119,   48,   52,   48,   51,
+       73,  523,   51,   72,   52,   51,   63,   63,   73,  138,
+       63,   81,   81,   85,   85,   87,   86,   87,   86,   86,
+       87,   87,  151,   81,   81,   85,   85,   81,  136,   85,
+
+       86,   88,   89,  109,   86,  107,  522,   88,  113,  107,
+       86,  113,  109,  164,  164,  136,   81,   81,   85,   85,
+      133,  133,   81,   86,   85,  133,   88,   89,   91,   86,
+       91,   91,  133,  151,   88,  143,  143,   86,  145,  162,
+      145,  143,   91,  150,  150,  162,   91,  150,  155,  143,
+      155,  143,   91,  155,  155,  159,  163,  159,  168,  247,
+      159,  159,  158,  158,  162,   91,  166,  186,  186,  194,
+      194,   91,  162,  242,  158,  158,  242,  257,  158,   91,
+       97,  163,   97,  168,   97,   97,   97,   97,   97,  165,
+      165,   97,   97,  166,   97,   97,   97,  158,  158,  223,
+
+      247,  169,  165,  158,  257,  165,  521,  169,  223,  248,
+      248,  250,  250,  248,  259,  251,  251,  252,  265,  252,
+      255,  255,  252,  252,  337,  165,  169,  294,  251,  264,
+      165,  251,  256,  256,  169,  264,  331,  331,  294,  259,
+      335,  520,  519,  265,  518,  256,  345,  517,  256,  337,
+      515,  251,  514,  345,  264,  513,  251,  511,  332,  332,
+      510,  509,  264,  507,  506,  505,  504,  335,  256,  503,
+      502,  332,  501,  256,  332,  500,  498,  497,  496,  495,
+      493,  492,  491,  490,  487,  485,  484,  482,  480,  477,
+      476,  475,  473,  470,  332,  469,  468,  467,  465,  332,
+
+      530,  530,  530,  530,  530,  531,  462,  460,  531,  532,
+      459,  532,  532,  533,  533,  457,  533,  533,  534,  456,
+      534,  534,  535,  535,  536,  536,  536,  536,  536,  455,
+      452,  451,  450,  448,  446,  445,  444,  440,  436,  435,
+      434,  433,  432,  428,  426,  423,  421,  420,  419,  418,
+      417,  416,  415,  413,  410,  408,  407,  406,  404,  403,
+      402,  401,  400,  399,  398,  396,  390,  389,  388,  387,
+      386,  383,  382,  381,  380,  379,  378,  377,  376,  375,
+      374,  372,  371,  370,  369,  368,  367,  366,  364,  363,
+      362,  361,  360,  359,  358,  357,  356,  355,  353,  352,
+
+      351,  350,  349,  348,  347,  343,  342,  341,  340,  338,
+      330,  329,  328,  326,  325,  324,  323,  322,  321,  320,
+      319,  318,  317,  316,  315,  314,  313,  312,  311,  310,
+      309,  308,  307,  306,  305,  304,  303,  302,  300,  299,
+      298,  297,  296,  292,  291,  290,  288,  287,  286,  285,
+      282,  281,  280,  279,  278,  277,  274,  272,  271,  270,
+      269,  268,  267,  249,  246,  245,  244,  243,  241,  240,
+      239,  238,  237,  236,  235,  234,  233,  232,  231,  230,
+      229,  228,  227,  226,  224,  222,  221,  220,  219,  217,
+      216,  215,  214,  213,  212,  211,  210,  209,  208,  207,
+
+      206,  205,  203,  202,  201,  200,  199,  198,  197,  196,
+      195,  193,  192,  191,  190,  189,  188,  187,  185,  184,
+      173,  147,  146,  144,  142,  141,  140,  139,  137,  134,
+      132,  131,  130,  129,  128,  127,  126,  125,  124,  123,
+      122,  121,  120,  117,  116,  115,  114,  112,  111,  110,
+      108,  106,  105,  104,  103,  102,  100,   99,   98,   96,
+       92,   80,   64,   56,   55,   53,   50,   49,   46,   43,
+       38,   36,   35,   31,   27,   16,   13,    7,    3,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529,  529,  529,
+      529,  529,  529,  529,  529,  529,  529,  529
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -745,13 +755,8 @@ char *yytext;
 # 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"
@@ -868,7 +873,7 @@ static void setTokLengthT (size_t len)
 }
 
 # include "flex.head"
-#line 872 "lex.yy.c"
+#line 877 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1016,13 +1021,13 @@ YY_MALLOC_DECL
 YY_DECL
        {
        register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
+       register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
 
-#line 190 "cscanner.l"
+#line 185 "cscanner.l"
 
 
-#line 1026 "lex.yy.c"
+#line 1031 "lex.yy.c"
 
        if ( yy_init )
                {
@@ -1073,13 +1078,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 509 )
+                               if ( yy_current_state >= 530 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 660 );
+               while ( yy_base[yy_current_state] != 680 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -1107,12 +1112,12 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 192 "cscanner.l"
+#line 187 "cscanner.l"
 { llfatalbug (cstring_makeLiteral ("Comment in pre-processor output")); }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 194 "cscanner.l"
+#line 189 "cscanner.l"
 { 
                  context_saveLocation (); 
                  setTokLength (longUnsigned_toInt (mstring_length (yytext))); 
@@ -1140,7 +1145,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 218 "cscanner.l"
+#line 213 "cscanner.l"
 { if (handleSpecial (yytext)) 
                     { 
                        setTokLength (1); RETURN_TOK (0); 
@@ -1149,385 +1154,400 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 223 "cscanner.l"
+#line 218 "cscanner.l"
 { setTokLength (3); RETURN_TOK (CTOK_ELIPSIS); }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 224 "cscanner.l"
+#line 219 "cscanner.l"
 { setTokLength (5); RETURN_TOK (BREAK); }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 225 "cscanner.l"
+#line 220 "cscanner.l"
 { setTokLength (4); RETURN_TOK (CASE); }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 226 "cscanner.l"
+#line 221 "cscanner.l"
 { setTokLength (8); RETURN_TOK (CONTINUE); }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 227 "cscanner.l"
+#line 222 "cscanner.l"
 { setTokLength (7); RETURN_TOK (DEFAULT); }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 228 "cscanner.l"
+#line 223 "cscanner.l"
 { setTokLength (2); RETURN_TOK (DO); }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 229 "cscanner.l"
+#line 224 "cscanner.l"
 { setTokLength (4); RETURN_TOK (CELSE); }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 230 "cscanner.l"
+#line 225 "cscanner.l"
 { setTokLength (3); RETURN_TOK (CFOR); }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 231 "cscanner.l"
+#line 226 "cscanner.l"
 { setTokLength (4); RETURN_TOK (GOTO); }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 232 "cscanner.l"
+#line 227 "cscanner.l"
 { setTokLength (2); RETURN_TOK (CIF); }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 233 "cscanner.l"
+#line 228 "cscanner.l"
 { setTokLength (6); RETURN_TOK (RETURN); }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 234 "cscanner.l"
+#line 229 "cscanner.l"
 { setTokLength (6); RETURN_TOK (CSIZEOF); }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 235 "cscanner.l"
+#line 230 "cscanner.l"
 { setTokLength (8); RETURN_TOK (COFFSETOF); }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 236 "cscanner.l"
+#line 231 "cscanner.l"
 { setTokLength (6); RETURN_TOK (SWITCH); }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 237 "cscanner.l"
+#line 232 "cscanner.l"
 { setTokLength (5); RETURN_TOK (WHILE); }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 238 "cscanner.l"
+#line 233 "cscanner.l"
 { setTokLength (6); RETURN_TOK (VA_ARG); }   
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 239 "cscanner.l"
+#line 234 "cscanner.l"
 { setTokLength (6); RETURN_TOK (VA_DCL); }   
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 240 "cscanner.l"
+#line 235 "cscanner.l"
 { 
                   /* gcc extension...this might not be appropriate */
                   setTokLength (6); RETURN_TOK (QINLINE); }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 244 "cscanner.l"
+#line 239 "cscanner.l"
 { setTokLength (6); RETURN_TOK (CSTRUCT); }  
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 245 "cscanner.l"
+#line 240 "cscanner.l"
 { setTokLength (7); RETURN_TOK (CTYPEDEF); }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 247 "cscanner.l"
+#line 242 "cscanner.l"
 { setTokLength (5); RETURN_TOK (CUNION); }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 248 "cscanner.l"
+#line 243 "cscanner.l"
 { setTokLength (4); RETURN_TOK (CENUM); }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 250 "cscanner.l"
+#line 245 "cscanner.l"
 { setTokLength (4); RETURN_TYPE (CVOID, ctype_void); }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 251 "cscanner.l"
+#line 246 "cscanner.l"
 { setTokLength (3); RETURN_TYPE (CINT, ctype_int); }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 252 "cscanner.l"
+#line 247 "cscanner.l"
 { setTokLength (6); RETURN_TYPE (CDOUBLE, ctype_double); }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 253 "cscanner.l"
+#line 248 "cscanner.l"
 { setTokLength (4); RETURN_TYPE (CGCHAR, ctype_char); }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 254 "cscanner.l"
+#line 249 "cscanner.l"
 { setTokLength (5); RETURN_TYPE (CGFLOAT, ctype_float); }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 256 "cscanner.l"
+#line 251 "cscanner.l"
 { setTokLength (4); RETURN_TOK (QLONG); }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 257 "cscanner.l"
+#line 252 "cscanner.l"
 { setTokLength (5); RETURN_TOK (QSHORT); }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 258 "cscanner.l"
+#line 253 "cscanner.l"
 { setTokLength (8); RETURN_TOK (QUNSIGNED); }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 259 "cscanner.l"
+#line 254 "cscanner.l"
 { setTokLength (6); RETURN_TOK (QSIGNED); }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 261 "cscanner.l"
+#line 256 "cscanner.l"
 { setTokLength (8); RETURN_TOK (QVOLATILE); }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 262 "cscanner.l"
+#line 257 "cscanner.l"
 { setTokLength (5); RETURN_TOK (QCONST); }
        YY_BREAK
 /* some systems expect this! [gack!] */ 
 case 37:
 YY_RULE_SETUP
-#line 265 "cscanner.l"
+#line 260 "cscanner.l"
 { setTokLength (7); RETURN_TOK (QCONST); }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 267 "cscanner.l"
+#line 262 "cscanner.l"
 { setTokLength (6); RETURN_TOK (QEXTERN); }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 268 "cscanner.l"
+#line 263 "cscanner.l"
 { setTokLength (4); RETURN_TOK (QAUTO); }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 269 "cscanner.l"
+#line 264 "cscanner.l"
 { setTokLength (8); RETURN_TOK (QREGISTER); }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 270 "cscanner.l"
+#line 265 "cscanner.l"
 { setTokLength (6); RETURN_TOK (QSTATIC); }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 272 "cscanner.l"
+#line 267 "cscanner.l"
 { RETURN_EXPR (processString ()); }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 273 "cscanner.l"
+#line 268 "cscanner.l"
 { return (processSpec (QOUT)); }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 274 "cscanner.l"
+#line 269 "cscanner.l"
 { return (processSpec (QIN)); }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 275 "cscanner.l"
+#line 270 "cscanner.l"
 { return (processSpec (QPARTIAL)); }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 276 "cscanner.l"
+#line 271 "cscanner.l"
 { return (processSpec (QSPECIAL)); }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 277 "cscanner.l"
+#line 272 "cscanner.l"
 { return (processSpec (QANYTYPE)); }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 278 "cscanner.l"
+#line 273 "cscanner.l"
 { return (processSpec (QINTEGRALTYPE)); }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 279 "cscanner.l"
+#line 274 "cscanner.l"
 { return (processSpec (QUNSIGNEDINTEGRALTYPE)); }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 280 "cscanner.l"
+#line 275 "cscanner.l"
 { return (processSpec (QSIGNEDINTEGRALTYPE)); }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 281 "cscanner.l"
+#line 276 "cscanner.l"
 { return (processSpec (QKEEP)); }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 282 "cscanner.l"
+#line 277 "cscanner.l"
 { return (processSpec (QNULL)); } 
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 283 "cscanner.l"
+#line 278 "cscanner.l"
 { return (processSpec (QNOTNULL)); } 
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 284 "cscanner.l"
+#line 279 "cscanner.l"
 { return (processSpec (QISNULL)); } 
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 285 "cscanner.l"
+#line 280 "cscanner.l"
 { return (processSpec (QTRUENULL)); } 
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 286 "cscanner.l"
+#line 281 "cscanner.l"
 { return (processSpec (QFALSENULL)); } 
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 287 "cscanner.l"
+#line 282 "cscanner.l"
 { return (processSpec (QRELNULL)); }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 288 "cscanner.l"
+#line 283 "cscanner.l"
 { return (processSpec (QRELDEF)); }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 289 "cscanner.l"
+#line 284 "cscanner.l"
 { return (processSpec (QEXPOSED)); }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 290 "cscanner.l"
+#line 285 "cscanner.l"
 { return (processSpec (QNEWREF)); }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 291 "cscanner.l"
+#line 286 "cscanner.l"
 { return (processSpec (QTEMPREF)); }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 292 "cscanner.l"
+#line 287 "cscanner.l"
 { return (processSpec (QKILLREF)); }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 293 "cscanner.l"
+#line 288 "cscanner.l"
 { return (processSpec (QREFCOUNTED)); }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 294 "cscanner.l"
+#line 289 "cscanner.l"
 { return (processSpec (QCHECKED)); }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 295 "cscanner.l"
+#line 290 "cscanner.l"
 { return (processSpec (QCHECKMOD)); }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 296 "cscanner.l"
+#line 291 "cscanner.l"
 { return (processSpec (QCHECKEDSTRICT)); }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 297 "cscanner.l"
+#line 292 "cscanner.l"
 { return (processSpec (QUNCHECKED)); }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 298 "cscanner.l"
+#line 293 "cscanner.l"
 { return (processSpec (QONLY)); }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 299 "cscanner.l"
+#line 294 "cscanner.l"
 { return (processSpec (QOWNED)); }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 300 "cscanner.l"
+#line 295 "cscanner.l"
 { return (processSpec (QOBSERVER)); }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 301 "cscanner.l"
+#line 296 "cscanner.l"
 { return (processSpec (QDEPENDENT)); }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 302 "cscanner.l"
+#line 297 "cscanner.l"
 { return (processSpec (QUNUSED)); }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 303 "cscanner.l"
+#line 298 "cscanner.l"
 { return (processSpec (QEXTERNAL)); }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 304 "cscanner.l"
+#line 299 "cscanner.l"
 { return (processSpec (QSEF)); }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 305 "cscanner.l"
+#line 300 "cscanner.l"
 { return (processSpec (QSHARED)); }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 306 "cscanner.l"
+#line 301 "cscanner.l"
 { return (processSpec (QYIELD)); }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 307 "cscanner.l"
+#line 302 "cscanner.l"
 { return (processSpec (QUNDEF)); }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 308 "cscanner.l"
+#line 303 "cscanner.l"
 { return (processSpec (QKILLED)); }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 309 "cscanner.l"
+#line 304 "cscanner.l"
+{ return (processSpec (QNULLTERMINATED));}
+       YY_BREAK
+case 80:
+YY_RULE_SETUP
+#line 305 "cscanner.l"
+{ return (processSpec (QMAXSET));}
+       YY_BREAK
+case 81:
+YY_RULE_SETUP
+#line 306 "cscanner.l"
+{ return (processSpec (QMAXREAD));}
+       YY_BREAK
+case 82:
+YY_RULE_SETUP
+#line 308 "cscanner.l"
 { int tok; 
                              context_saveLocation (); 
                              setTokLength (longUnsigned_toInt (mstring_length (yytext))); 
@@ -1538,426 +1558,431 @@ YY_RULE_SETUP
                                }
                            }
        YY_BREAK
-case 80:
+case 83:
 YY_RULE_SETUP
-#line 318 "cscanner.l"
+#line 317 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                           RETURN_INT (ctype_int, processHex ());  /* evs 2000-05-17 was ctype_uint */
                        }
        YY_BREAK
-case 81:
+case 84:
 YY_RULE_SETUP
-#line 321 "cscanner.l"
+#line 320 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_lint, processHex ()); }
        YY_BREAK
-case 82:
+case 85:
 YY_RULE_SETUP
-#line 323 "cscanner.l"
+#line 322 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_llint, processHex ()); }
        YY_BREAK
-case 83:
+case 86:
 YY_RULE_SETUP
-#line 325 "cscanner.l"
+#line 324 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                           RETURN_INT (ctype_uint, processHex ()); }
        YY_BREAK
-case 84:
+case 87:
 YY_RULE_SETUP
-#line 327 "cscanner.l"
+#line 326 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ulint, processHex ()); }
        YY_BREAK
-case 85:
+case 88:
 YY_RULE_SETUP
-#line 329 "cscanner.l"
+#line 328 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ullint, processHex ()); }
        YY_BREAK
-case 86:
+case 89:
 YY_RULE_SETUP
-#line 331 "cscanner.l"
+#line 330 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ullint, processHex ()); }
        YY_BREAK
-case 87:
+case 90:
 YY_RULE_SETUP
-#line 333 "cscanner.l"
+#line 332 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_int, processOctal ()); } 
        YY_BREAK
-case 88:
+case 91:
 YY_RULE_SETUP
-#line 335 "cscanner.l"
+#line 334 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_uint, processOctal ()); } 
        YY_BREAK
-case 89:
+case 92:
 YY_RULE_SETUP
-#line 337 "cscanner.l"
+#line 336 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_lint, processOctal ()); } 
        YY_BREAK
-case 90:
+case 93:
 YY_RULE_SETUP
-#line 339 "cscanner.l"
+#line 338 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_llint, processOctal ()); } 
        YY_BREAK
-case 91:
+case 94:
 YY_RULE_SETUP
-#line 341 "cscanner.l"
+#line 340 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ulint, processOctal ()); } 
        YY_BREAK
-case 92:
+case 95:
 YY_RULE_SETUP
-#line 343 "cscanner.l"
+#line 342 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ullint, processOctal ()); } 
        YY_BREAK
-case 93:
+case 96:
 YY_RULE_SETUP
-#line 345 "cscanner.l"
+#line 344 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_INT (ctype_ullint, processOctal ()); } 
        YY_BREAK
-case 94:
+case 97:
 YY_RULE_SETUP
-#line 347 "cscanner.l"
+#line 346 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_int, processDec ()); } 
        YY_BREAK
-case 95:
+case 98:
 YY_RULE_SETUP
-#line 349 "cscanner.l"
+#line 348 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_uint, processDec ()); } 
        YY_BREAK
-case 96:
+case 99:
 YY_RULE_SETUP
-#line 351 "cscanner.l"
+#line 350 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_lint, processDec ()); } 
        YY_BREAK
-case 97:
+case 100:
 YY_RULE_SETUP
-#line 353 "cscanner.l"
+#line 352 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_llint, processDec ()); } 
        YY_BREAK
-case 98:
+case 101:
 YY_RULE_SETUP
-#line 355 "cscanner.l"
+#line 354 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_ulint, processDec ()); } 
        YY_BREAK
-case 99:
+case 102:
 YY_RULE_SETUP
-#line 357 "cscanner.l"
+#line 356 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_ullint, processDec ()); } 
        YY_BREAK
-case 100:
+case 103:
 YY_RULE_SETUP
-#line 359 "cscanner.l"
+#line 358 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_INT (ctype_ullint, processDec ()); } 
        YY_BREAK
-case 101:
+case 104:
 YY_RULE_SETUP
-#line 361 "cscanner.l"
+#line 360 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                          RETURN_CHAR (processChar ()); }
        YY_BREAK
-case 102:
+case 105:
 YY_RULE_SETUP
-#line 363 "cscanner.l"
+#line 362 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_FLOAT (ctype_float, processFloat ()); }
        YY_BREAK
-case 103:
+case 106:
 YY_RULE_SETUP
-#line 365 "cscanner.l"
+#line 364 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_FLOAT (ctype_ldouble, processFloat ()); }
        YY_BREAK
-case 104:
+case 107:
 YY_RULE_SETUP
-#line 367 "cscanner.l"
+#line 366 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                         RETURN_FLOAT (ctype_double, processFloat ()); }
        YY_BREAK
-case 105:
+case 108:
 YY_RULE_SETUP
-#line 370 "cscanner.l"
+#line 369 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                RETURN_FLOAT (ctype_float, processFloat ()); }
        YY_BREAK
-case 106:
+case 109:
 YY_RULE_SETUP
-#line 372 "cscanner.l"
+#line 371 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                RETURN_FLOAT (ctype_ldouble, processFloat ()); }
        YY_BREAK
-case 107:
+case 110:
 YY_RULE_SETUP
-#line 374 "cscanner.l"
+#line 373 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                RETURN_FLOAT (ctype_double, processFloat ()); }
        YY_BREAK
-case 108:
+case 111:
 YY_RULE_SETUP
-#line 377 "cscanner.l"
+#line 376 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                  RETURN_FLOAT (ctype_float, processFloat ()); }
        YY_BREAK
-case 109:
+case 112:
 YY_RULE_SETUP
-#line 379 "cscanner.l"
+#line 378 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                  RETURN_FLOAT (ctype_ldouble, processFloat ()); }
        YY_BREAK
-case 110:
+case 113:
 YY_RULE_SETUP
-#line 381 "cscanner.l"
+#line 380 "cscanner.l"
 { setTokLengthT (mstring_length (yytext)); 
                                  RETURN_FLOAT (ctype_double, processFloat ()); }
        YY_BREAK
-case 111:
+case 114:
 YY_RULE_SETUP
-#line 384 "cscanner.l"
+#line 383 "cscanner.l"
 { setTokLength (3); RETURN_TOK (RIGHT_ASSIGN); }
        YY_BREAK
-case 112:
+case 115:
 YY_RULE_SETUP
-#line 385 "cscanner.l"
+#line 384 "cscanner.l"
 { setTokLength (3); RETURN_TOK (LEFT_ASSIGN); }
        YY_BREAK
-case 113:
+case 116:
 YY_RULE_SETUP
-#line 386 "cscanner.l"
+#line 385 "cscanner.l"
 { setTokLength (2); RETURN_TOK (ADD_ASSIGN); }
        YY_BREAK
-case 114:
+case 117:
 YY_RULE_SETUP
-#line 387 "cscanner.l"
+#line 386 "cscanner.l"
 { setTokLength (2); RETURN_TOK (SUB_ASSIGN); }
        YY_BREAK
-case 115:
+case 118:
 YY_RULE_SETUP
-#line 388 "cscanner.l"
+#line 387 "cscanner.l"
 { setTokLength (2); RETURN_TOK (MUL_ASSIGN); }
        YY_BREAK
-case 116:
+case 119:
 YY_RULE_SETUP
-#line 389 "cscanner.l"
+#line 388 "cscanner.l"
 { setTokLength (2); RETURN_TOK (DIV_ASSIGN); }
        YY_BREAK
-case 117:
+case 120:
 YY_RULE_SETUP
-#line 390 "cscanner.l"
+#line 389 "cscanner.l"
 { setTokLength (2); RETURN_TOK (MOD_ASSIGN); }
        YY_BREAK
-case 118:
+case 121:
 YY_RULE_SETUP
-#line 391 "cscanner.l"
+#line 390 "cscanner.l"
 { setTokLength (2); RETURN_TOK (AND_ASSIGN); }
        YY_BREAK
-case 119:
+case 122:
 YY_RULE_SETUP
-#line 392 "cscanner.l"
+#line 391 "cscanner.l"
 { setTokLength (2); RETURN_TOK (XOR_ASSIGN); }
        YY_BREAK
-case 120:
+case 123:
 YY_RULE_SETUP
-#line 393 "cscanner.l"
+#line 392 "cscanner.l"
 { setTokLength (2); RETURN_TOK (OR_ASSIGN); }
        YY_BREAK
-case 121:
+case 124:
 YY_RULE_SETUP
-#line 394 "cscanner.l"
+#line 393 "cscanner.l"
 { setTokLength (2); RETURN_TOK (RIGHT_OP); }
        YY_BREAK
-case 122:
+case 125:
 YY_RULE_SETUP
-#line 395 "cscanner.l"
+#line 394 "cscanner.l"
 { setTokLength (2); RETURN_TOK (LEFT_OP); }
        YY_BREAK
-case 123:
+case 126:
 YY_RULE_SETUP
-#line 396 "cscanner.l"
+#line 395 "cscanner.l"
 { setTokLength (2); RETURN_TOK (INC_OP); }
        YY_BREAK
-case 124:
+case 127:
 YY_RULE_SETUP
-#line 397 "cscanner.l"
+#line 396 "cscanner.l"
 { setTokLength (2); RETURN_TOK (DEC_OP); }
        YY_BREAK
-case 125:
+case 128:
 YY_RULE_SETUP
-#line 398 "cscanner.l"
+#line 397 "cscanner.l"
 { setTokLength (2); RETURN_TOK (ARROW_OP); }
        YY_BREAK
-case 126:
+case 129:
 YY_RULE_SETUP
-#line 399 "cscanner.l"
+#line 398 "cscanner.l"
 { setTokLength (2); RETURN_TOK (AND_OP); }
        YY_BREAK
-case 127:
+case 130:
 YY_RULE_SETUP
-#line 400 "cscanner.l"
+#line 399 "cscanner.l"
 { setTokLength (2); RETURN_TOK (OR_OP); }
        YY_BREAK
-case 128:
+case 131:
 YY_RULE_SETUP
-#line 401 "cscanner.l"
+#line 400 "cscanner.l"
 { setTokLength (2); RETURN_TOK (LE_OP); }
        YY_BREAK
-case 129:
+case 132:
 YY_RULE_SETUP
-#line 402 "cscanner.l"
+#line 401 "cscanner.l"
 { setTokLength (2); RETURN_TOK (GE_OP); }
        YY_BREAK
-case 130:
+case 133:
 YY_RULE_SETUP
-#line 403 "cscanner.l"
+#line 402 "cscanner.l"
 { setTokLength (2); RETURN_TOK (EQ_OP); }
        YY_BREAK
-case 131:
+case 134:
 YY_RULE_SETUP
-#line 404 "cscanner.l"
+#line 403 "cscanner.l"
 { setTokLength (2); RETURN_TOK (NE_OP); }
        YY_BREAK
-case 132:
+case 135:
 YY_RULE_SETUP
-#line 405 "cscanner.l"
+#line 404 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TSEMI); }
        YY_BREAK
-case 133:
+case 136:
 YY_RULE_SETUP
-#line 406 "cscanner.l"
+#line 405 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TLBRACE); }
        YY_BREAK
-case 134:
+case 137:
 YY_RULE_SETUP
-#line 407 "cscanner.l"
+#line 406 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TRBRACE); }
        YY_BREAK
-case 135:
+case 138:
 YY_RULE_SETUP
-#line 408 "cscanner.l"
+#line 407 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TCOMMA); }
        YY_BREAK
-case 136:
+case 139:
 YY_RULE_SETUP
-#line 409 "cscanner.l"
+#line 408 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TCOLON); }
        YY_BREAK
-case 137:
+case 140:
 YY_RULE_SETUP
-#line 410 "cscanner.l"
+#line 409 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TASSIGN); }
        YY_BREAK
-case 138:
+case 141:
 YY_RULE_SETUP
-#line 411 "cscanner.l"
+#line 410 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TLPAREN); }
        YY_BREAK
-case 139:
+case 142:
 YY_RULE_SETUP
-#line 412 "cscanner.l"
+#line 411 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TRPAREN); }
        YY_BREAK
-case 140:
+case 143:
 YY_RULE_SETUP
-#line 413 "cscanner.l"
+#line 412 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TLSQBR); }
        YY_BREAK
-case 141:
+case 144:
 YY_RULE_SETUP
-#line 414 "cscanner.l"
+#line 413 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TRSQBR); }
        YY_BREAK
-case 142:
+case 145:
 YY_RULE_SETUP
-#line 415 "cscanner.l"
+#line 414 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TDOT); }
        YY_BREAK
-case 143:
+case 146:
 YY_RULE_SETUP
-#line 416 "cscanner.l"
+#line 415 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TAMPERSAND); }
        YY_BREAK
-case 144:
+case 147:
 YY_RULE_SETUP
-#line 417 "cscanner.l"
+#line 416 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TEXCL); }
        YY_BREAK
-case 145:
+case 148:
 YY_RULE_SETUP
-#line 420 "cscanner.l"
+#line 419 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TTILDE); }
        YY_BREAK
-case 146:
+case 149:
 YY_RULE_SETUP
-#line 421 "cscanner.l"
+#line 420 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TMINUS); }
        YY_BREAK
-case 147:
+case 150:
 YY_RULE_SETUP
-#line 422 "cscanner.l"
+#line 421 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TPLUS); }
        YY_BREAK
-case 148:
+case 151:
 YY_RULE_SETUP
-#line 423 "cscanner.l"
+#line 422 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TMULT); }
        YY_BREAK
-case 149:
+case 152:
 YY_RULE_SETUP
-#line 424 "cscanner.l"
+#line 423 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TDIV); }
        YY_BREAK
-case 150:
+case 153:
 YY_RULE_SETUP
-#line 425 "cscanner.l"
+#line 424 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TPERCENT); }
        YY_BREAK
-case 151:
+case 154:
 YY_RULE_SETUP
-#line 426 "cscanner.l"
+#line 425 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TLT); }
        YY_BREAK
-case 152:
+case 155:
 YY_RULE_SETUP
-#line 427 "cscanner.l"
+#line 426 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TGT); }
        YY_BREAK
-case 153:
+case 156:
 YY_RULE_SETUP
-#line 428 "cscanner.l"
+#line 427 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TCIRC); }
        YY_BREAK
-case 154:
+case 157:
 YY_RULE_SETUP
-#line 429 "cscanner.l"
+#line 428 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TBAR); }
        YY_BREAK
-case 155:
+case 158:
 YY_RULE_SETUP
-#line 430 "cscanner.l"
+#line 429 "cscanner.l"
 { setTokLength (1); RETURN_TOK (TQUEST); }
        YY_BREAK
-case 156:
+case 159:
 YY_RULE_SETUP
 #line 432 "cscanner.l"
+{ setTokLength (1); RETURN_TOK (TCAND); }
+       YY_BREAK
+case 160:
+YY_RULE_SETUP
+#line 435 "cscanner.l"
 { incColumn (); }
        YY_BREAK
-case 157:
+case 161:
 YY_RULE_SETUP
-#line 433 "cscanner.l"
+#line 436 "cscanner.l"
 { context_incLineno ();
                  if (continueLine)
                    {
@@ -1975,9 +2000,9 @@ YY_RULE_SETUP
                   }
                }
        YY_BREAK
-case 158:
+case 162:
 YY_RULE_SETUP
-#line 449 "cscanner.l"
+#line 452 "cscanner.l"
 { setTokLength (6); 
                  
                  if (processMacro ()) {
@@ -1996,9 +2021,9 @@ YY_RULE_SETUP
                  }
                }
        YY_BREAK
-case 159:
+case 163:
 YY_RULE_SETUP
-#line 466 "cscanner.l"
+#line 469 "cscanner.l"
 { if (context_inHeader () || context_inFunction ())
                    { 
                      handleMacro ();
@@ -2036,79 +2061,79 @@ YY_RULE_SETUP
                    }
                }
        YY_BREAK
-case 160:
+case 164:
 YY_RULE_SETUP
-#line 502 "cscanner.l"
+#line 505 "cscanner.l"
 { setTokLength (4); lldiagmsg (ctype_unparseTable ()); }
        YY_BREAK
-case 161:
+case 165:
 YY_RULE_SETUP
-#line 503 "cscanner.l"
+#line 506 "cscanner.l"
 { setTokLength (3); 
                  lldiagmsg (message ("%q: *** marker ***", fileloc_unparse (g_currentloc)));
                }
        YY_BREAK
-case 162:
+case 166:
 YY_RULE_SETUP
-#line 506 "cscanner.l"
+#line 509 "cscanner.l"
 { setTokLength (3); usymtab_printLocal (); }
        YY_BREAK
-case 163:
+case 167:
 YY_RULE_SETUP
-#line 507 "cscanner.l"
+#line 510 "cscanner.l"
 { setTokLength (3); lldiagmsg (usymtab_unparseAliases ()); }
        YY_BREAK
-case 164:
+case 168:
 YY_RULE_SETUP
-#line 508 "cscanner.l"
+#line 511 "cscanner.l"
 { setTokLength (3); lldiagmsg (context_unparse ()); }
        YY_BREAK
-case 165:
+case 169:
 YY_RULE_SETUP
-#line 509 "cscanner.l"
+#line 512 "cscanner.l"
 { setTokLength (3); lldiagmsg (context_unparseClauses ()); }
        YY_BREAK
-case 166:
+case 170:
 YY_RULE_SETUP
-#line 510 "cscanner.l"
+#line 513 "cscanner.l"
 { setTokLength (3); usymtab_printGuards (); }
        YY_BREAK
-case 167:
+case 171:
 YY_RULE_SETUP
-#line 511 "cscanner.l"
+#line 514 "cscanner.l"
 { setTokLength (3); usymtab_printOut (); }
        YY_BREAK
-case 168:
+case 172:
 YY_RULE_SETUP
-#line 512 "cscanner.l"
+#line 515 "cscanner.l"
 { setTokLength (3); usymtab_printAll (); }
        YY_BREAK
-case 169:
+case 173:
 YY_RULE_SETUP
-#line 513 "cscanner.l"
+#line 516 "cscanner.l"
 { setTokLength (3); usymtab_printComplete (); }
        YY_BREAK
-case 170:
+case 174:
 YY_RULE_SETUP
-#line 514 "cscanner.l"
+#line 517 "cscanner.l"
 { setTokLength (3); usymtab_printTypes (); }
        YY_BREAK
-case 171:
+case 175:
 YY_RULE_SETUP
-#line 515 "cscanner.l"
+#line 518 "cscanner.l"
 { setTokLength (3); lldiagmsg (usymtab_unparseStack ()); }
        YY_BREAK
-case 172:
+case 176:
 YY_RULE_SETUP
-#line 516 "cscanner.l"
+#line 519 "cscanner.l"
 { setTokLength (3); 
                  lldiagmsg (message ("Can modify: %q", 
                                  sRefSet_unparse (context_modList ()))); 
                }
        YY_BREAK
-case 173:
+case 177:
 YY_RULE_SETUP
-#line 520 "cscanner.l"
+#line 523 "cscanner.l"
 { /* BEFORE_COMMENT_MARKER */
                   int tok; 
                  incColumn (); incColumn ();
@@ -2119,22 +2144,22 @@ YY_RULE_SETUP
                    }
                }
        YY_BREAK
-case 174:
+case 178:
 YY_RULE_SETUP
-#line 529 "cscanner.l"
+#line 532 "cscanner.l"
 { /* AFTER_COMMENT_MARKER */ 
                   setTokLength (2);
                  inSpecPart = FALSE;
                  RETURN_TOK (QENDMACRO); }
        YY_BREAK
-case 175:
+case 179:
 YY_RULE_SETUP
-#line 533 "cscanner.l"
+#line 536 "cscanner.l"
 { incColumn (); continueLine = TRUE; }
        YY_BREAK
-case 176:
+case 180:
 YY_RULE_SETUP
-#line 534 "cscanner.l"
+#line 537 "cscanner.l"
 { incColumn (); 
                  voptgenerror
                    (FLG_SYNTAX, 
@@ -2143,12 +2168,12 @@ YY_RULE_SETUP
                     g_currentloc);
                }
        YY_BREAK
-case 177:
+case 181:
 YY_RULE_SETUP
-#line 541 "cscanner.l"
+#line 544 "cscanner.l"
 ECHO;
        YY_BREAK
-#line 2152 "lex.yy.c"
+#line 2177 "lex.yy.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -2440,7 +2465,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 509 )
+                       if ( yy_current_state >= 530 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2475,11 +2500,11 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 509 )
+               if ( yy_current_state >= 530 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 508);
+       yy_is_jam = (yy_current_state == 529);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
@@ -3034,7 +3059,7 @@ int main()
        return 0;
        }
 #endif
-#line 541 "cscanner.l"
+#line 544 "cscanner.l"
 
 
 struct skeyword
@@ -3062,7 +3087,12 @@ struct skeyword s_parsetable[] = {
   { "releases", QRELEASES } ,
   { "pre", QPRECLAUSE } ,
   { "post", QPOSTCLAUSE } ,
-  { NULL, BADTOK } 
+  {"setBufferSize", QSETBUFFERSIZE},
+  {"requires", QBUFFERCONSTRAINT},
+  {"ensures", QENSURESCONSTRAINT},
+  {"setStringLength", QSETSTRINGLENGTH},
+  {"testinRange", QTESTINRANGE},
+  { NULL, BADTOK }
 } ;
 
 /*
@@ -3104,6 +3134,13 @@ struct skeyword s_keytable[] = {
   { "killref", QKILLREF } ,
   { "null", QNULL } ,
   { "relnull", QRELNULL } ,
+  { "nullterminated", QNULLTERMINATED }, 
+  { "setBufferSize", QSETBUFFERSIZE },
+  { "requires", QBUFFERCONSTRAINT },
+  { "ensures", QENSURESCONSTRAINT },
+  { "testInRange", QTESTINRANGE},
+  { "MaxSet", QMAXSET},
+  { "MaxRead", QMAXREAD},
   { "reldef", QRELDEF } ,
   { "observer", QOBSERVER } ,
   { "exits", QEXITS } ,
@@ -4442,7 +4479,7 @@ static int handleLlSpecial ()
            {
              cstring flagname = thisflag;
              flagcode fflag = identifyFlag (flagname);
-
+               
              if (flagcode_isSkip (fflag))
                {
                  ;
@@ -4485,7 +4522,7 @@ static int handleLlSpecial ()
              else
                {
                  context_fileSetFlag (fflag, set);
-
+                 
                  if (flagcode_hasArgument (fflag))
                    {
                      if (ynm_isMaybe (set))
@@ -4525,7 +4562,7 @@ static int handleLlSpecial ()
                            }
                          
                          sfree (orest);
-
+                         
                          if (cstring_isUndefined (extra))
                            {
                              llerror 
@@ -4557,7 +4594,8 @@ static int handleLlSpecial ()
            }
          else
            {
-                   }
+             ;
+           }
 
          *s = c;
          while ((c == ' ') || (c == '\t') || (c == '\n'))
@@ -4724,8 +4762,7 @@ static int handleLlSpecial ()
                  if (usymtab_existsType (tname))
                    {
                      usymId uid = usymtab_getTypeId (tname);
-
-                                     context_addFileAccessType (uid);
+                     context_addFileAccessType (uid);
                    }
                  else
                    {
@@ -5277,6 +5314,22 @@ long processHex ()
       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, 
This page took 0.138267 seconds and 4 git commands to generate.