VirtualBox

Changeset 63135 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 7, 2016 2:21:18 PM (8 years ago)
Author:
vboxsync
Message:

VBoxDTrace/generate: updated

Location:
trunk/src/VBox/ExtPacks/VBoxDTrace/generated
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ExtPacks/VBoxDTrace/generated/dt_grammar.c

    r62839 r63135  
    1 /* A Bison parser, made by GNU Bison 2.3.  */
     1
     2/* A Bison parser, made by GNU Bison 2.4.1.  */
    23
    34/* Skeleton implementation for Bison's Yacc-like parsers in C
    4 
    5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
     5   
     6      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    67   Free Software Foundation, Inc.
    7 
    8    This program is free software; you can redistribute it and/or modify
     8   
     9   This program is free software: you can redistribute it and/or modify
    910   it under the terms of the GNU General Public License as published by
    10    the Free Software Foundation; either version 2, or (at your option)
    11    any later version.
    12 
     11   the Free Software Foundation, either version 3 of the License, or
     12   (at your option) any later version.
     13   
    1314   This program is distributed in the hope that it will be useful,
    1415   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1516   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1617   GNU General Public License for more details.
    17 
     18   
    1819   You should have received a copy of the GNU General Public License
    19    along with this program; if not, write to the Free Software
    20    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    21    Boston, MA 02110-1301, USA.  */
     20   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    2221
    2322/* As a special exception, you may create a larger work that contains
     
    3029   Bison output files to be licensed under the GNU General Public
    3130   License without this special exception.
    32 
     31   
    3332   This special exception was added by the Free Software Foundation in
    3433   version 2.2 of Bison.  */
     
    4847
    4948/* Bison version.  */
    50 #define YYBISON_VERSION "2.3"
     49#define YYBISON_VERSION "2.4.1"
    5150
    5251/* Skeleton name.  */
     
    5655#define YYPURE 0
    5756
     57/* Push parsers.  */
     58#define YYPUSH 0
     59
     60/* Pull parsers.  */
     61#define YYPULL 1
     62
    5863/* Using locations.  */
    5964#define YYLSP_NEEDED 0
    6065
     66
     67
     68/* Copy the first part of user declarations.  */
     69
     70/* Line 189 of yacc.c  */
     71#line 1 "dt_grammar.y"
     72
     73/*
     74 * CDDL HEADER START
     75 *
     76 * The contents of this file are subject to the terms of the
     77 * Common Development and Distribution License, Version 1.0 only
     78 * (the "License").  You may not use this file except in compliance
     79 * with the License.
     80 *
     81 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     82 * or http://www.opensolaris.org/os/licensing.
     83 * See the License for the specific language governing permissions
     84 * and limitations under the License.
     85 *
     86 * When distributing Covered Code, include this CDDL HEADER in each
     87 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     88 * If applicable, add the following below this CDDL HEADER, with the
     89 * fields enclosed by brackets "[]" replaced with your own identifying
     90 * information: Portions Copyright [yyyy] [name of copyright owner]
     91 *
     92 * CDDL HEADER END
     93 *
     94 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
     95 * Use is subject to license terms.
     96 */
     97
     98#ifndef VBOX
     99#pragma ident   "%Z%%M% %I%     %E% SMI"
     100#else
     101# ifdef _MSC_VER
     102#  pragma warning(disable:4255 4702)
     103# endif
     104#endif
     105
     106#include <dt_impl.h>
     107
     108#define OP1(op, c)      dt_node_op1(op, c)
     109#define OP2(op, l, r)   dt_node_op2(op, l, r)
     110#define OP3(x, y, z)    dt_node_op3(x, y, z)
     111#define LINK(l, r)      dt_node_link(l, r)
     112#define DUP(s)          strdup(s)
     113
     114#ifdef VBOX
     115# define YYMALLOC RTMemAlloc
     116# define YYFREE   RTMemFree
     117#endif
     118
     119
     120
     121
     122/* Line 189 of yacc.c  */
     123#line 124 "dt_grammar.c"
     124
     125/* Enabling traces.  */
     126#ifndef YYDEBUG
     127# define YYDEBUG 0
     128#endif
     129
     130/* Enabling verbose error messages.  */
     131#ifdef YYERROR_VERBOSE
     132# undef YYERROR_VERBOSE
     133# define YYERROR_VERBOSE 1
     134#else
     135# define YYERROR_VERBOSE 0
     136#endif
     137
     138/* Enabling the token table.  */
     139#ifndef YYTOKEN_TABLE
     140# define YYTOKEN_TABLE 0
     141#endif
    61142
    62143
     
    290371
    291372
    292 /* Copy the first part of user declarations.  */
    293 #line 1 "dt_grammar.y"
    294 
    295 /*
    296  * CDDL HEADER START
    297  *
    298  * The contents of this file are subject to the terms of the
    299  * Common Development and Distribution License, Version 1.0 only
    300  * (the "License").  You may not use this file except in compliance
    301  * with the License.
    302  *
    303  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
    304  * or http://www.opensolaris.org/os/licensing.
    305  * See the License for the specific language governing permissions
    306  * and limitations under the License.
    307  *
    308  * When distributing Covered Code, include this CDDL HEADER in each
    309  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
    310  * If applicable, add the following below this CDDL HEADER, with the
    311  * fields enclosed by brackets "[]" replaced with your own identifying
    312  * information: Portions Copyright [yyyy] [name of copyright owner]
    313  *
    314  * CDDL HEADER END
    315  *
    316  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
    317  * Use is subject to license terms.
    318  */
    319 
    320 #ifndef VBOX
    321 #pragma ident   "%Z%%M% %I%     %E% SMI"
    322 #endif
    323 
    324 #include <dt_impl.h>
    325 
    326 #define OP1(op, c)      dt_node_op1(op, c)
    327 #define OP2(op, l, r)   dt_node_op2(op, l, r)
    328 #define OP3(x, y, z)    dt_node_op3(x, y, z)
    329 #define LINK(l, r)      dt_node_link(l, r)
    330 #define DUP(s)          strdup(s)
    331 
    332 #ifdef VBOX
    333 # define YYMALLOC RTMemAlloc
    334 # define YYFREE   RTMemFree
    335 #endif
    336 
    337 
    338 
    339 
    340 /* Enabling traces.  */
    341 #ifndef YYDEBUG
    342 # define YYDEBUG 0
    343 #endif
    344 
    345 /* Enabling verbose error messages.  */
    346 #ifdef YYERROR_VERBOSE
    347 # undef YYERROR_VERBOSE
    348 # define YYERROR_VERBOSE 1
    349 #else
    350 # define YYERROR_VERBOSE 0
    351 #endif
    352 
    353 /* Enabling the token table.  */
    354 #ifndef YYTOKEN_TABLE
    355 # define YYTOKEN_TABLE 0
    356 #endif
    357 
    358373#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    359374typedef union YYSTYPE
    360 #line 47 "dt_grammar.y"
    361375{
     376
     377/* Line 214 of yacc.c  */
     378#line 51 "dt_grammar.y"
     379
    362380        dt_node_t *l_node;
    363381        dt_decl_t *l_decl;
     
    365383        uintmax_t l_int;
    366384        int l_tok;
    367 }
    368 /* Line 193 of yacc.c.  */
    369 #line 370 "dt_grammar.c"
    370         YYSTYPE;
     385
     386
     387
     388/* Line 214 of yacc.c  */
     389#line 390 "dt_grammar.c"
     390} YYSTYPE;
     391# define YYSTYPE_IS_TRIVIAL 1
    371392# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    372393# define YYSTYPE_IS_DECLARED 1
    373 # define YYSTYPE_IS_TRIVIAL 1
    374 #endif
    375 
     394#endif
    376395
    377396
     
    379398
    380399
    381 /* Line 216 of yacc.c.  */
    382 #line 383 "dt_grammar.c"
     400/* Line 264 of yacc.c  */
     401#line 402 "dt_grammar.c"
    383402
    384403#ifdef short
     
    430449
    431450#ifndef YY_
    432 # if defined YYENABLE_NLS && YYENABLE_NLS
     451# if YYENABLE_NLS
    433452#  if ENABLE_NLS
    434453#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
     
    455474     || defined __cplusplus || defined _MSC_VER)
    456475static int
    457 YYID (int i)
     476YYID (int yyi)
    458477#else
    459478static int
    460 YYID (i)
    461     int i;
     479YYID (yyi)
     480    int yyi;
    462481#endif
    463482{
    464   return i;
     483  return yyi;
    465484}
    466485#endif
     
    543562union yyalloc
    544563{
    545   yytype_int16 yyss;
    546   YYSTYPE yyvs;
    547   };
     564  yytype_int16 yyss_alloc;
     565  YYSTYPE yyvs_alloc;
     566};
    548567
    549568/* The size of the maximum gap between one aligned stack and the next.  */
     
    579598   stack.  Advance YYPTR to a properly aligned location for the next
    580599   stack.  */
    581 # define YYSTACK_RELOCATE(Stack)                                        \
     600# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    582601    do                                                                  \
    583602      {                                                                 \
    584603        YYSIZE_T yynewbytes;                                            \
    585         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
    586         Stack = &yyptr->Stack                                        \
     604        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
     605        Stack = &yyptr->Stack_alloc;                                    \
    587606        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    588607        yyptr += yynewbytes / sizeof (*yyptr);                          \
     
    765784static const yytype_uint16 yyrline[] =
    766785{
    767        0,   217,   217,   218,   219,   222,   223,   226,   227,   230,
    768      231,   235,   236,   240,   241,   242,   243,   244,   249,   248,
    769      264,   268,   275,   276,   280,   286,   289,   295,   296,   300,
    770      303,   310,   326,   329,   333,   340,   344,   345,   351,   352,
    771      355,   356,   359,   360,   364,   365,   371,   372,   373,   374,
    772      375,   376,   377,   381,   382,   386,   389,   393,   396,   399,
    773      402,   405,   408,   411,   415,   419,   426,   427,   428,   429,
    774      430,   431,   434,   439,   440,   441,   442,   443,   444,   448,
    775      449,   455,   456,   459,   462,   468,   469,   472,   478,   479,
    776      482,   488,   489,   492,   495,   498,   504,   505,   508,   514,
    777      515,   521,   522,   528,   529,   535,   536,   542,   543,   549,
    778      550,   555,   559,   560,   565,   566,   572,   573,   574,   575,
    779      576,   577,   578,   579,   580,   581,   582,   585,   586,   591,
    780      596,   604,   605,   606,   607,   608,   609,   613,   614,   615,
    781      616,   617,   618,   622,   623,   624,   625,   626,   630,   631,
    782      632,   635,   636,   637,   638,   639,   640,   641,   642,   643,
    783      644,   647,   648,   649,   652,   653,   654,   658,   661,   662,
    784      666,   667,   668,   672,   673,   677,   678,   682,   683,   689,
    785      696,   702,   703,   704,   705,   709,   710,   714,   715,   716,
    786      722,   723,   724,   728,   729,   730,   734,   735,   738,   739,
    787      744,   745,   749,   750,   751,   752,   755,   758,   759,   760,
    788      761,   765,   766,   770,   771,   772,   777,   778,   784,   787,
    789      790,   795,   798,   804,   805,   806,   810,   811,   812,   813,
    790      814,   817,   817,   825,   826,   827,   830,   830,   838,   839
     786       0,   221,   221,   222,   223,   226,   227,   230,   231,   234,
     787     235,   239,   240,   244,   245,   246,   247,   248,   253,   252,
     788     268,   272,   279,   280,   284,   290,   293,   299,   300,   304,
     789     307,   314,   330,   333,   337,   344,   348,   349,   355,   356,
     790     359,   360,   363,   364,   368,   369,   375,   376,   377,   378,
     791     379,   380,   381,   385,   386,   390,   393,   397,   400,   403,
     792     406,   409,   412,   415,   419,   423,   430,   431,   432,   433,
     793     434,   435,   438,   443,   444,   445,   446,   447,   448,   452,
     794     453,   459,   460,   463,   466,   472,   473,   476,   482,   483,
     795     486,   492,   493,   496,   499,   502,   508,   509,   512,   518,
     796     519,   525,   526,   532,   533,   539,   540,   546,   547,   553,
     797     554,   559,   563,   564,   569,   570,   576,   577,   578,   579,
     798     580,   581,   582,   583,   584,   585,   586,   589,   590,   595,
     799     600,   608,   609,   610,   611,   612,   613,   617,   618,   619,
     800     620,   621,   622,   626,   627,   628,   629,   630,   634,   635,
     801     636,   639,   640,   641,   642,   643,   644,   645,   646,   647,
     802     648,   651,   652,   653,   656,   657,   658,   662,   665,   666,
     803     670,   671,   672,   676,   677,   681,   682,   686,   687,   693,
     804     700,   706,   707,   708,   709,   713,   714,   718,   719,   720,
     805     726,   727,   728,   732,   733,   734,   738,   739,   742,   743,
     806     748,   749,   753,   754,   755,   756,   759,   762,   763,   764,
     807     765,   769,   770,   774,   775,   776,   781,   782,   788,   791,
     808     794,   799,   802,   808,   809,   810,   814,   815,   816,   817,
     809     818,   821,   821,   829,   830,   831,   834,   834,   842,   843
    791810};
    792811#endif
     
    825844  "DT_CTX_DTYPE", "';'", "'{'", "'}'", "$accept", "dtrace_program",
    826845  "d_expression", "d_program", "d_type", "translation_unit",
    827   "external_declaration", "inline_definition", "@1",
     846  "external_declaration", "inline_definition", "$@1",
    828847  "translator_definition", "translator_member_list", "translator_member",
    829848  "provider_definition", "provider_probe_list", "provider_probe",
     
    849868  "parameter_type_list", "parameter_list", "parameter_declaration",
    850869  "type_name", "abstract_declarator", "direct_abstract_declarator",
    851   "array", "@2", "array_parameters", "function", "@3",
     870  "array", "$@2", "array_parameters", "function", "$@3",
    852871  "function_parameters", 0
    853872};
     
    13431362
    13441363#ifndef YY_LOCATION_PRINT
    1345 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
     1364# if YYLTYPE_IS_TRIVIAL
    13461365#  define YY_LOCATION_PRINT(File, Loc)                  \
    13471366     fprintf (File, "%d.%d-%d.%d",                      \
     
    14541473     || defined __cplusplus || defined _MSC_VER)
    14551474static void
    1456 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
     1475yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    14571476#else
    14581477static void
    1459 yy_stack_print (bottom, top)
    1460     yytype_int16 *bottom;
    1461     yytype_int16 *top;
     1478yy_stack_print (yybottom, yytop)
     1479    yytype_int16 *yybottom;
     1480    yytype_int16 *yytop;
    14621481#endif
    14631482{
    14641483  YYFPRINTF (stderr, "Stack now");
    1465   for (; bottom <= top; ++bottom)
    1466     YYFPRINTF (stderr, " %d", *bottom);
     1484  for (; yybottom <= yytop; yybottom++)
     1485    {
     1486      int yybot = *yybottom;
     1487      YYFPRINTF (stderr, " %d", yybot);
     1488    }
    14671489  YYFPRINTF (stderr, "\n");
    14681490}
     
    14981520  for (yyi = 0; yyi < yynrhs; yyi++)
    14991521    {
    1500       fprintf (stderr, "   $%d = ", yyi + 1);
     1522      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
    15011523      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
    15021524                       &(yyvsp[(yyi + 1) - (yynrhs)])
    15031525                                       );
    1504       fprintf (stderr, "\n");
     1526      YYFPRINTF (stderr, "\n");
    15051527    }
    15061528}
     
    17851807}
    17861808
    1787 
    1788 
    17891809/* Prevent warnings from -Wmissing-prototypes.  */
    1790 
    17911810#ifdef YYPARSE_PARAM
    17921811#if defined __STDC__ || defined __cplusplus
     
    18041823
    18051824
    1806 
    1807 /* The look-ahead symbol.  */
     1825/* The lookahead symbol.  */
    18081826int yychar;
    18091827
    1810 /* The semantic value of the look-ahead symbol.  */
     1828/* The semantic value of the lookahead symbol.  */
    18111829YYSTYPE yylval;
    18121830
     
    18161834
    18171835
    1818 /*----------.
    1819 | yyparse.  |
    1820 `----------*/
     1836/*-------------------------.
     1837| yyparse or yypush_parse.  |
     1838`-------------------------*/
    18211839
    18221840#ifdef YYPARSE_PARAM
     
    18421860#endif
    18431861{
    1844  
    1845   int yystate;
     1862
     1863
     1864    int yystate;
     1865    /* Number of tokens to shift before error messages enabled.  */
     1866    int yyerrstatus;
     1867
     1868    /* The stacks and their tools:
     1869       `yyss': related to states.
     1870       `yyvs': related to semantic values.
     1871
     1872       Refer to the stacks thru separate pointers, to allow yyoverflow
     1873       to reallocate them elsewhere.  */
     1874
     1875    /* The state stack.  */
     1876    yytype_int16 yyssa[YYINITDEPTH];
     1877    yytype_int16 *yyss;
     1878    yytype_int16 *yyssp;
     1879
     1880    /* The semantic value stack.  */
     1881    YYSTYPE yyvsa[YYINITDEPTH];
     1882    YYSTYPE *yyvs;
     1883    YYSTYPE *yyvsp;
     1884
     1885    YYSIZE_T yystacksize;
     1886
    18461887  int yyn;
    18471888  int yyresult;
    1848   /* Number of tokens to shift before error messages enabled.  */
    1849   int yyerrstatus;
    1850   /* Look-ahead token as an internal (translated) token number.  */
    1851   int yytoken = 0;
     1889  /* Lookahead token as an internal (translated) token number.  */
     1890  int yytoken;
     1891  /* The variables used to return semantic value and location from the
     1892     action routines.  */
     1893  YYSTYPE yyval;
     1894
    18521895#if YYERROR_VERBOSE
    18531896  /* Buffer for error messages, and its allocated size.  */
     
    18571900#endif
    18581901
    1859   /* Three stacks and their tools:
    1860      `yyss': related to states,
    1861      `yyvs': related to semantic values,
    1862      `yyls': related to locations.
    1863 
    1864      Refer to the stacks thru separate pointers, to allow yyoverflow
    1865      to reallocate them elsewhere.  */
    1866 
    1867   /* The state stack.  */
    1868   yytype_int16 yyssa[YYINITDEPTH];
    1869   yytype_int16 *yyss = yyssa;
    1870   yytype_int16 *yyssp;
    1871 
    1872   /* The semantic value stack.  */
    1873   YYSTYPE yyvsa[YYINITDEPTH];
    1874   YYSTYPE *yyvs = yyvsa;
    1875   YYSTYPE *yyvsp;
    1876 
    1877 
    1878 
    18791902#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
    1880 
    1881   YYSIZE_T yystacksize = YYINITDEPTH;
    1882 
    1883   /* The variables used to return semantic value and location from the
    1884      action routines.  */
    1885   YYSTYPE yyval;
    1886 
    18871903
    18881904  /* The number of symbols on the RHS of the reduced rule.
     
    18901906  int yylen = 0;
    18911907
     1908  yytoken = 0;
     1909  yyss = yyssa;
     1910  yyvs = yyvsa;
     1911  yystacksize = YYINITDEPTH;
     1912
    18921913  YYDPRINTF ((stderr, "Starting parse\n"));
    18931914
     
    18951916  yyerrstatus = 0;
    18961917  yynerrs = 0;
    1897   yychar = YYEMPTY;             /* Cause a token to be read.  */
     1918  yychar = YYEMPTY; /* Cause a token to be read.  */
    18981919
    18991920  /* Initialize stack pointers.
     
    19011922     so that they stay on the same level as the state stack.
    19021923     The wasted elements are never initialized.  */
    1903 
    19041924  yyssp = yyss;
    19051925  yyvsp = yyvs;
     
    19311951        yytype_int16 *yyss1 = yyss;
    19321952
    1933 
    19341953        /* Each stack pointer address is followed by the size of the
    19351954           data in use in that stack, in bytes.  This used to be a
     
    19391958                    &yyss1, yysize * sizeof (*yyssp),
    19401959                    &yyvs1, yysize * sizeof (*yyvsp),
    1941 
    19421960                    &yystacksize);
    19431961
     
    19621980        if (! yyptr)
    19631981          goto yyexhaustedlab;
    1964         YYSTACK_RELOCATE (yyss);
    1965         YYSTACK_RELOCATE (yyvs);
    1966 
     1982        YYSTACK_RELOCATE (yyss_alloc, yyss);
     1983        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    19671984#  undef YYSTACK_RELOCATE
    19681985        if (yyss1 != yyssa)
     
    19751992      yyvsp = yyvs + yysize - 1;
    19761993
    1977 
    19781994      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    19791995                  (unsigned long int) yystacksize));
     
    19842000
    19852001  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
     2002
     2003  if (yystate == YYFINAL)
     2004    YYACCEPT;
    19862005
    19872006  goto yybackup;
     
    19932012
    19942013  /* Do appropriate processing given the current state.  Read a
    1995      look-ahead token if we need one and don't already have one.  */
    1996 
    1997   /* First try to decide what to do without reference to look-ahead token.  */
     2014     lookahead token if we need one and don't already have one.  */
     2015
     2016  /* First try to decide what to do without reference to lookahead token.  */
    19982017  yyn = yypact[yystate];
    19992018  if (yyn == YYPACT_NINF)
    20002019    goto yydefault;
    20012020
    2002   /* Not known => get a look-ahead token if don't already have one.  */
    2003 
    2004   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
     2021  /* Not known => get a lookahead token if don't already have one.  */
     2022
     2023  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
    20052024  if (yychar == YYEMPTY)
    20062025    {
     
    20342053    }
    20352054
    2036   if (yyn == YYFINAL)
    2037     YYACCEPT;
    2038 
    20392055  /* Count tokens shifted since error; after three, turn off error
    20402056     status.  */
     
    20422058    yyerrstatus--;
    20432059
    2044   /* Shift the look-ahead token.  */
     2060  /* Shift the lookahead token.  */
    20452061  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
    20462062
    2047   /* Discard the shifted token unless it is eof.  */
    2048   if (yychar != YYEOF)
    2049     yychar = YYEMPTY;
     2063  /* Discard the shifted token.  */
     2064  yychar = YYEMPTY;
    20502065
    20512066  yystate = yyn;
     
    20872102    {
    20882103        case 2:
    2089 #line 217 "dt_grammar.y"
     2104
     2105/* Line 1455 of yacc.c  */
     2106#line 221 "dt_grammar.y"
    20902107    { return (dt_node_root((yyvsp[(1) - (2)].l_node))); }
    20912108    break;
    20922109
    20932110  case 3:
    2094 #line 218 "dt_grammar.y"
     2111
     2112/* Line 1455 of yacc.c  */
     2113#line 222 "dt_grammar.y"
    20952114    { return (dt_node_root((yyvsp[(1) - (2)].l_node))); }
    20962115    break;
    20972116
    20982117  case 4:
    2099 #line 219 "dt_grammar.y"
     2118
     2119/* Line 1455 of yacc.c  */
     2120#line 223 "dt_grammar.y"
    21002121    { return (dt_node_root((yyvsp[(1) - (2)].l_node))); }
    21012122    break;
    21022123
    21032124  case 5:
    2104 #line 222 "dt_grammar.y"
     2125
     2126/* Line 1455 of yacc.c  */
     2127#line 226 "dt_grammar.y"
    21052128    { (yyval.l_node) = NULL; }
    21062129    break;
    21072130
    21082131  case 6:
    2109 #line 223 "dt_grammar.y"
     2132
     2133/* Line 1455 of yacc.c  */
     2134#line 227 "dt_grammar.y"
    21102135    { (yyval.l_node) = (yyvsp[(2) - (2)].l_node); }
    21112136    break;
    21122137
    21132138  case 7:
    2114 #line 226 "dt_grammar.y"
     2139
     2140/* Line 1455 of yacc.c  */
     2141#line 230 "dt_grammar.y"
    21152142    { (yyval.l_node) = dt_node_program(NULL); }
    21162143    break;
    21172144
    21182145  case 8:
    2119 #line 227 "dt_grammar.y"
     2146
     2147/* Line 1455 of yacc.c  */
     2148#line 231 "dt_grammar.y"
    21202149    { (yyval.l_node) = dt_node_program((yyvsp[(2) - (2)].l_node)); }
    21212150    break;
    21222151
    21232152  case 9:
    2124 #line 230 "dt_grammar.y"
     2153
     2154/* Line 1455 of yacc.c  */
     2155#line 234 "dt_grammar.y"
    21252156    { (yyval.l_node) = NULL; }
    21262157    break;
    21272158
    21282159  case 10:
    2129 #line 231 "dt_grammar.y"
     2160
     2161/* Line 1455 of yacc.c  */
     2162#line 235 "dt_grammar.y"
    21302163    { (yyval.l_node) = (dt_node_t *)(yyvsp[(2) - (2)].l_decl); }
    21312164    break;
    21322165
    21332166  case 12:
    2134 #line 236 "dt_grammar.y"
     2167
     2168/* Line 1455 of yacc.c  */
     2169#line 240 "dt_grammar.y"
    21352170    { (yyval.l_node) = LINK((yyvsp[(1) - (2)].l_node), (yyvsp[(2) - (2)].l_node)); }
    21362171    break;
    21372172
    21382173  case 18:
    2139 #line 249 "dt_grammar.y"
     2174
     2175/* Line 1455 of yacc.c  */
     2176#line 253 "dt_grammar.y"
    21402177    { dt_scope_push(NULL, CTF_ERR); }
    21412178    break;
    21422179
    21432180  case 19:
    2144 #line 250 "dt_grammar.y"
     2181
     2182/* Line 1455 of yacc.c  */
     2183#line 254 "dt_grammar.y"
    21452184    {
    21462185                        /*
     
    21572196
    21582197  case 20:
    2159 #line 265 "dt_grammar.y"
     2198
     2199/* Line 1455 of yacc.c  */
     2200#line 269 "dt_grammar.y"
    21602201    {
    21612202                        (yyval.l_node) = dt_node_xlator((yyvsp[(2) - (10)].l_decl), (yyvsp[(4) - (10)].l_decl), (yyvsp[(5) - (10)].l_str), (yyvsp[(8) - (10)].l_node));
     
    21642205
    21652206  case 21:
    2166 #line 269 "dt_grammar.y"
     2207
     2208/* Line 1455 of yacc.c  */
     2209#line 273 "dt_grammar.y"
    21672210    {
    21682211                        (yyval.l_node) = dt_node_xlator((yyvsp[(2) - (9)].l_decl), (yyvsp[(4) - (9)].l_decl), (yyvsp[(5) - (9)].l_str), NULL);
     
    21712214
    21722215  case 23:
    2173 #line 276 "dt_grammar.y"
     2216
     2217/* Line 1455 of yacc.c  */
     2218#line 280 "dt_grammar.y"
    21742219    { (yyval.l_node) = LINK((yyvsp[(1) - (2)].l_node),(yyvsp[(2) - (2)].l_node)); }
    21752220    break;
    21762221
    21772222  case 24:
    2178 #line 280 "dt_grammar.y"
     2223
     2224/* Line 1455 of yacc.c  */
     2225#line 284 "dt_grammar.y"
    21792226    {
    21802227                        (yyval.l_node) = dt_node_member(NULL, (yyvsp[(1) - (4)].l_str), (yyvsp[(3) - (4)].l_node));
     
    21832230
    21842231  case 25:
    2185 #line 286 "dt_grammar.y"
     2232
     2233/* Line 1455 of yacc.c  */
     2234#line 290 "dt_grammar.y"
    21862235    {
    21872236                        (yyval.l_node) = dt_node_provider((yyvsp[(2) - (6)].l_str), (yyvsp[(4) - (6)].l_node));
     
    21902239
    21912240  case 26:
    2192 #line 289 "dt_grammar.y"
     2241
     2242/* Line 1455 of yacc.c  */
     2243#line 293 "dt_grammar.y"
    21932244    {
    21942245                        (yyval.l_node) = dt_node_provider((yyvsp[(2) - (5)].l_str), NULL);
     
    21972248
    21982249  case 28:
    2199 #line 296 "dt_grammar.y"
     2250
     2251/* Line 1455 of yacc.c  */
     2252#line 300 "dt_grammar.y"
    22002253    { (yyval.l_node) = LINK((yyvsp[(1) - (2)].l_node), (yyvsp[(2) - (2)].l_node)); }
    22012254    break;
    22022255
    22032256  case 29:
    2204 #line 300 "dt_grammar.y"
     2257
     2258/* Line 1455 of yacc.c  */
     2259#line 304 "dt_grammar.y"
    22052260    {
    22062261                        (yyval.l_node) = dt_node_probe((yyvsp[(2) - (6)].l_str), 2, (yyvsp[(3) - (6)].l_node), (yyvsp[(5) - (6)].l_node));
     
    22092264
    22102265  case 30:
    2211 #line 303 "dt_grammar.y"
     2266
     2267/* Line 1455 of yacc.c  */
     2268#line 307 "dt_grammar.y"
    22122269    {
    22132270                        (yyval.l_node) = dt_node_probe((yyvsp[(2) - (4)].l_str), 1, (yyvsp[(3) - (4)].l_node), NULL);
     
    22162273
    22172274  case 31:
    2218 #line 310 "dt_grammar.y"
     2275
     2276/* Line 1455 of yacc.c  */
     2277#line 314 "dt_grammar.y"
    22192278    {
    22202279                        /*
     
    22362295
    22372296  case 32:
    2238 #line 326 "dt_grammar.y"
     2297
     2298/* Line 1455 of yacc.c  */
     2299#line 330 "dt_grammar.y"
    22392300    {
    22402301                        (yyval.l_node) = dt_node_clause((yyvsp[(1) - (4)].l_node), NULL, (yyvsp[(3) - (4)].l_node));
     
    22432304
    22442305  case 33:
    2245 #line 329 "dt_grammar.y"
     2306
     2307/* Line 1455 of yacc.c  */
     2308#line 333 "dt_grammar.y"
    22462309    {
    22472310                        dnerror((yyvsp[(3) - (4)].l_node), D_SYNTAX, "expected actions { } following "
     
    22512314
    22522315  case 34:
    2253 #line 334 "dt_grammar.y"
     2316
     2317/* Line 1455 of yacc.c  */
     2318#line 338 "dt_grammar.y"
    22542319    {
    22552320                        (yyval.l_node) = dt_node_clause((yyvsp[(1) - (7)].l_node), (yyvsp[(3) - (7)].l_node), (yyvsp[(6) - (7)].l_node));
     
    22582323
    22592324  case 35:
    2260 #line 340 "dt_grammar.y"
     2325
     2326/* Line 1455 of yacc.c  */
     2327#line 344 "dt_grammar.y"
    22612328    { yybegin(YYS_EXPR); (yyval.l_node) = (yyvsp[(1) - (1)].l_node); }
    22622329    break;
    22632330
    22642331  case 37:
    2265 #line 345 "dt_grammar.y"
     2332
     2333/* Line 1455 of yacc.c  */
     2334#line 349 "dt_grammar.y"
    22662335    {
    22672336                        (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    22702339
    22712340  case 38:
    2272 #line 351 "dt_grammar.y"
     2341
     2342/* Line 1455 of yacc.c  */
     2343#line 355 "dt_grammar.y"
    22732344    { (yyval.l_node) = dt_node_pdesc_by_name((yyvsp[(1) - (1)].l_str)); }
    22742345    break;
    22752346
    22762347  case 39:
    2277 #line 352 "dt_grammar.y"
     2348
     2349/* Line 1455 of yacc.c  */
     2350#line 356 "dt_grammar.y"
    22782351    { (yyval.l_node) = dt_node_pdesc_by_id((yyvsp[(1) - (1)].l_int)); }
    22792352    break;
    22802353
    22812354  case 40:
    2282 #line 355 "dt_grammar.y"
     2355
     2356/* Line 1455 of yacc.c  */
     2357#line 359 "dt_grammar.y"
    22832358    { (yyval.l_node) = (yyvsp[(1) - (1)].l_node); }
    22842359    break;
    22852360
    22862361  case 41:
    2287 #line 356 "dt_grammar.y"
     2362
     2363/* Line 1455 of yacc.c  */
     2364#line 360 "dt_grammar.y"
    22882365    { (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node)); }
    22892366    break;
    22902367
    22912368  case 42:
    2292 #line 359 "dt_grammar.y"
     2369
     2370/* Line 1455 of yacc.c  */
     2371#line 363 "dt_grammar.y"
    22932372    { (yyval.l_node) = NULL; }
    22942373    break;
    22952374
    22962375  case 43:
    2297 #line 360 "dt_grammar.y"
     2376
     2377/* Line 1455 of yacc.c  */
     2378#line 364 "dt_grammar.y"
    22982379    { (yyval.l_node) = dt_node_statement((yyvsp[(1) - (1)].l_node)); }
    22992380    break;
    23002381
    23012382  case 45:
    2302 #line 365 "dt_grammar.y"
     2383
     2384/* Line 1455 of yacc.c  */
     2385#line 369 "dt_grammar.y"
    23032386    {
    23042387                        (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    23072390
    23082391  case 46:
    2309 #line 371 "dt_grammar.y"
     2392
     2393/* Line 1455 of yacc.c  */
     2394#line 375 "dt_grammar.y"
    23102395    { (yyval.l_node) = dt_node_ident((yyvsp[(1) - (1)].l_str)); }
    23112396    break;
    23122397
    23132398  case 47:
    2314 #line 372 "dt_grammar.y"
     2399
     2400/* Line 1455 of yacc.c  */
     2401#line 376 "dt_grammar.y"
    23152402    { (yyval.l_node) = dt_node_ident((yyvsp[(1) - (1)].l_str)); }
    23162403    break;
    23172404
    23182405  case 48:
    2319 #line 373 "dt_grammar.y"
     2406
     2407/* Line 1455 of yacc.c  */
     2408#line 377 "dt_grammar.y"
    23202409    { (yyval.l_node) = dt_node_int((yyvsp[(1) - (1)].l_int)); }
    23212410    break;
    23222411
    23232412  case 49:
    2324 #line 374 "dt_grammar.y"
     2413
     2414/* Line 1455 of yacc.c  */
     2415#line 378 "dt_grammar.y"
    23252416    { (yyval.l_node) = dt_node_string((yyvsp[(1) - (1)].l_str)); }
    23262417    break;
    23272418
    23282419  case 50:
    2329 #line 375 "dt_grammar.y"
     2420
     2421/* Line 1455 of yacc.c  */
     2422#line 379 "dt_grammar.y"
    23302423    { (yyval.l_node) = dt_node_ident(DUP("self")); }
    23312424    break;
    23322425
    23332426  case 51:
    2334 #line 376 "dt_grammar.y"
     2427
     2428/* Line 1455 of yacc.c  */
     2429#line 380 "dt_grammar.y"
    23352430    { (yyval.l_node) = dt_node_ident(DUP("this")); }
    23362431    break;
    23372432
    23382433  case 52:
    2339 #line 377 "dt_grammar.y"
     2434
     2435/* Line 1455 of yacc.c  */
     2436#line 381 "dt_grammar.y"
    23402437    { (yyval.l_node) = (yyvsp[(2) - (3)].l_node); }
    23412438    break;
    23422439
    23432440  case 54:
    2344 #line 383 "dt_grammar.y"
     2441
     2442/* Line 1455 of yacc.c  */
     2443#line 387 "dt_grammar.y"
    23452444    {
    23462445                        (yyval.l_node) = OP2(DT_TOK_LBRAC, (yyvsp[(1) - (4)].l_node), (yyvsp[(3) - (4)].l_node));
     
    23492448
    23502449  case 55:
    2351 #line 386 "dt_grammar.y"
     2450
     2451/* Line 1455 of yacc.c  */
     2452#line 390 "dt_grammar.y"
    23522453    {
    23532454                        (yyval.l_node) = dt_node_func((yyvsp[(1) - (3)].l_node), NULL);
     
    23562457
    23572458  case 56:
    2358 #line 390 "dt_grammar.y"
     2459
     2460/* Line 1455 of yacc.c  */
     2461#line 394 "dt_grammar.y"
    23592462    {
    23602463                        (yyval.l_node) = dt_node_func((yyvsp[(1) - (4)].l_node), (yyvsp[(3) - (4)].l_node));
     
    23632466
    23642467  case 57:
    2365 #line 393 "dt_grammar.y"
     2468
     2469/* Line 1455 of yacc.c  */
     2470#line 397 "dt_grammar.y"
    23662471    {
    23672472                        (yyval.l_node) = OP2(DT_TOK_DOT, (yyvsp[(1) - (3)].l_node), dt_node_ident((yyvsp[(3) - (3)].l_str)));
     
    23702475
    23712476  case 58:
    2372 #line 396 "dt_grammar.y"
     2477
     2478/* Line 1455 of yacc.c  */
     2479#line 400 "dt_grammar.y"
    23732480    {
    23742481                        (yyval.l_node) = OP2(DT_TOK_DOT, (yyvsp[(1) - (3)].l_node), dt_node_ident((yyvsp[(3) - (3)].l_str)));
     
    23772484
    23782485  case 59:
    2379 #line 399 "dt_grammar.y"
     2486
     2487/* Line 1455 of yacc.c  */
     2488#line 403 "dt_grammar.y"
    23802489    {
    23812490                        (yyval.l_node) = OP2(DT_TOK_PTR, (yyvsp[(1) - (3)].l_node), dt_node_ident((yyvsp[(3) - (3)].l_str)));
     
    23842493
    23852494  case 60:
    2386 #line 402 "dt_grammar.y"
     2495
     2496/* Line 1455 of yacc.c  */
     2497#line 406 "dt_grammar.y"
    23872498    {
    23882499                        (yyval.l_node) = OP2(DT_TOK_PTR, (yyvsp[(1) - (3)].l_node), dt_node_ident((yyvsp[(3) - (3)].l_str)));
     
    23912502
    23922503  case 61:
    2393 #line 405 "dt_grammar.y"
     2504
     2505/* Line 1455 of yacc.c  */
     2506#line 409 "dt_grammar.y"
    23942507    {
    23952508                        (yyval.l_node) = OP1(DT_TOK_POSTINC, (yyvsp[(1) - (2)].l_node));
     
    23982511
    23992512  case 62:
    2400 #line 408 "dt_grammar.y"
     2513
     2514/* Line 1455 of yacc.c  */
     2515#line 412 "dt_grammar.y"
    24012516    {
    24022517                        (yyval.l_node) = OP1(DT_TOK_POSTDEC, (yyvsp[(1) - (2)].l_node));
     
    24052520
    24062521  case 63:
    2407 #line 412 "dt_grammar.y"
     2522
     2523/* Line 1455 of yacc.c  */
     2524#line 416 "dt_grammar.y"
    24082525    {
    24092526                        (yyval.l_node) = dt_node_offsetof((yyvsp[(3) - (6)].l_decl), (yyvsp[(5) - (6)].l_str));
     
    24122529
    24132530  case 64:
    2414 #line 416 "dt_grammar.y"
     2531
     2532/* Line 1455 of yacc.c  */
     2533#line 420 "dt_grammar.y"
    24152534    {
    24162535                        (yyval.l_node) = dt_node_offsetof((yyvsp[(3) - (6)].l_decl), (yyvsp[(5) - (6)].l_str));
     
    24192538
    24202539  case 65:
    2421 #line 420 "dt_grammar.y"
     2540
     2541/* Line 1455 of yacc.c  */
     2542#line 424 "dt_grammar.y"
    24222543    {
    24232544                        (yyval.l_node) = OP2(DT_TOK_XLATE, dt_node_type((yyvsp[(3) - (7)].l_decl)), (yyvsp[(6) - (7)].l_node));
     
    24262547
    24272548  case 67:
    2428 #line 427 "dt_grammar.y"
     2549
     2550/* Line 1455 of yacc.c  */
     2551#line 431 "dt_grammar.y"
    24292552    { (yyval.l_node) = OP1(DT_TOK_PREINC, (yyvsp[(2) - (2)].l_node)); }
    24302553    break;
    24312554
    24322555  case 68:
    2433 #line 428 "dt_grammar.y"
     2556
     2557/* Line 1455 of yacc.c  */
     2558#line 432 "dt_grammar.y"
    24342559    { (yyval.l_node) = OP1(DT_TOK_PREDEC, (yyvsp[(2) - (2)].l_node)); }
    24352560    break;
    24362561
    24372562  case 69:
    2438 #line 429 "dt_grammar.y"
     2563
     2564/* Line 1455 of yacc.c  */
     2565#line 433 "dt_grammar.y"
    24392566    { (yyval.l_node) = OP1((yyvsp[(1) - (2)].l_tok), (yyvsp[(2) - (2)].l_node)); }
    24402567    break;
    24412568
    24422569  case 70:
    2443 #line 430 "dt_grammar.y"
     2570
     2571/* Line 1455 of yacc.c  */
     2572#line 434 "dt_grammar.y"
    24442573    { (yyval.l_node) = OP1(DT_TOK_SIZEOF, (yyvsp[(2) - (2)].l_node)); }
    24452574    break;
    24462575
    24472576  case 71:
    2448 #line 431 "dt_grammar.y"
     2577
     2578/* Line 1455 of yacc.c  */
     2579#line 435 "dt_grammar.y"
    24492580    {
    24502581                        (yyval.l_node) = OP1(DT_TOK_SIZEOF, dt_node_type((yyvsp[(3) - (4)].l_decl)));
     
    24532584
    24542585  case 72:
    2455 #line 434 "dt_grammar.y"
     2586
     2587/* Line 1455 of yacc.c  */
     2588#line 438 "dt_grammar.y"
    24562589    {
    24572590                        (yyval.l_node) = OP1(DT_TOK_STRINGOF, (yyvsp[(2) - (2)].l_node));
     
    24602593
    24612594  case 73:
    2462 #line 439 "dt_grammar.y"
     2595
     2596/* Line 1455 of yacc.c  */
     2597#line 443 "dt_grammar.y"
    24632598    { (yyval.l_tok) = DT_TOK_ADDROF; }
    24642599    break;
    24652600
    24662601  case 74:
    2467 #line 440 "dt_grammar.y"
     2602
     2603/* Line 1455 of yacc.c  */
     2604#line 444 "dt_grammar.y"
    24682605    { (yyval.l_tok) = DT_TOK_DEREF; }
    24692606    break;
    24702607
    24712608  case 75:
    2472 #line 441 "dt_grammar.y"
     2609
     2610/* Line 1455 of yacc.c  */
     2611#line 445 "dt_grammar.y"
    24732612    { (yyval.l_tok) = DT_TOK_IPOS; }
    24742613    break;
    24752614
    24762615  case 76:
    2477 #line 442 "dt_grammar.y"
     2616
     2617/* Line 1455 of yacc.c  */
     2618#line 446 "dt_grammar.y"
    24782619    { (yyval.l_tok) = DT_TOK_INEG; }
    24792620    break;
    24802621
    24812622  case 77:
    2482 #line 443 "dt_grammar.y"
     2623
     2624/* Line 1455 of yacc.c  */
     2625#line 447 "dt_grammar.y"
    24832626    { (yyval.l_tok) = DT_TOK_BNEG; }
    24842627    break;
    24852628
    24862629  case 78:
    2487 #line 444 "dt_grammar.y"
     2630
     2631/* Line 1455 of yacc.c  */
     2632#line 448 "dt_grammar.y"
    24882633    { (yyval.l_tok) = DT_TOK_LNEG; }
    24892634    break;
    24902635
    24912636  case 80:
    2492 #line 449 "dt_grammar.y"
     2637
     2638/* Line 1455 of yacc.c  */
     2639#line 453 "dt_grammar.y"
    24932640    {
    24942641                        (yyval.l_node) = OP2(DT_TOK_LPAR, dt_node_type((yyvsp[(2) - (4)].l_decl)), (yyvsp[(4) - (4)].l_node));
     
    24972644
    24982645  case 82:
    2499 #line 456 "dt_grammar.y"
     2646
     2647/* Line 1455 of yacc.c  */
     2648#line 460 "dt_grammar.y"
    25002649    {
    25012650                        (yyval.l_node) = OP2(DT_TOK_MUL, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25042653
    25052654  case 83:
    2506 #line 459 "dt_grammar.y"
     2655
     2656/* Line 1455 of yacc.c  */
     2657#line 463 "dt_grammar.y"
    25072658    {
    25082659                        (yyval.l_node) = OP2(DT_TOK_DIV, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25112662
    25122663  case 84:
    2513 #line 462 "dt_grammar.y"
     2664
     2665/* Line 1455 of yacc.c  */
     2666#line 466 "dt_grammar.y"
    25142667    {
    25152668                        (yyval.l_node) = OP2(DT_TOK_MOD, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25182671
    25192672  case 86:
    2520 #line 469 "dt_grammar.y"
     2673
     2674/* Line 1455 of yacc.c  */
     2675#line 473 "dt_grammar.y"
    25212676    {
    25222677                        (yyval.l_node) = OP2(DT_TOK_ADD, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25252680
    25262681  case 87:
    2527 #line 472 "dt_grammar.y"
     2682
     2683/* Line 1455 of yacc.c  */
     2684#line 476 "dt_grammar.y"
    25282685    {
    25292686                        (yyval.l_node) = OP2(DT_TOK_SUB, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25322689
    25332690  case 89:
    2534 #line 479 "dt_grammar.y"
     2691
     2692/* Line 1455 of yacc.c  */
     2693#line 483 "dt_grammar.y"
    25352694    {
    25362695                        (yyval.l_node) = OP2(DT_TOK_LSH, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25392698
    25402699  case 90:
    2541 #line 482 "dt_grammar.y"
     2700
     2701/* Line 1455 of yacc.c  */
     2702#line 486 "dt_grammar.y"
    25422703    {
    25432704                        (yyval.l_node) = OP2(DT_TOK_RSH, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25462707
    25472708  case 92:
    2548 #line 489 "dt_grammar.y"
     2709
     2710/* Line 1455 of yacc.c  */
     2711#line 493 "dt_grammar.y"
    25492712    {
    25502713                        (yyval.l_node) = OP2(DT_TOK_LT, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25532716
    25542717  case 93:
    2555 #line 492 "dt_grammar.y"
     2718
     2719/* Line 1455 of yacc.c  */
     2720#line 496 "dt_grammar.y"
    25562721    {
    25572722                        (yyval.l_node) = OP2(DT_TOK_GT, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25602725
    25612726  case 94:
    2562 #line 495 "dt_grammar.y"
     2727
     2728/* Line 1455 of yacc.c  */
     2729#line 499 "dt_grammar.y"
    25632730    {
    25642731                        (yyval.l_node) = OP2(DT_TOK_LE, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25672734
    25682735  case 95:
    2569 #line 498 "dt_grammar.y"
     2736
     2737/* Line 1455 of yacc.c  */
     2738#line 502 "dt_grammar.y"
    25702739    {
    25712740                        (yyval.l_node) = OP2(DT_TOK_GE, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25742743
    25752744  case 97:
    2576 #line 505 "dt_grammar.y"
     2745
     2746/* Line 1455 of yacc.c  */
     2747#line 509 "dt_grammar.y"
    25772748    {
    25782749                        (yyval.l_node) = OP2(DT_TOK_EQU, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25812752
    25822753  case 98:
    2583 #line 508 "dt_grammar.y"
     2754
     2755/* Line 1455 of yacc.c  */
     2756#line 512 "dt_grammar.y"
    25842757    {
    25852758                        (yyval.l_node) = OP2(DT_TOK_NEQ, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25882761
    25892762  case 100:
    2590 #line 515 "dt_grammar.y"
     2763
     2764/* Line 1455 of yacc.c  */
     2765#line 519 "dt_grammar.y"
    25912766    {
    25922767                        (yyval.l_node) = OP2(DT_TOK_BAND, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    25952770
    25962771  case 102:
    2597 #line 522 "dt_grammar.y"
     2772
     2773/* Line 1455 of yacc.c  */
     2774#line 526 "dt_grammar.y"
    25982775    {
    25992776                        (yyval.l_node) = OP2(DT_TOK_XOR, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26022779
    26032780  case 104:
    2604 #line 529 "dt_grammar.y"
     2781
     2782/* Line 1455 of yacc.c  */
     2783#line 533 "dt_grammar.y"
    26052784    {
    26062785                        (yyval.l_node) = OP2(DT_TOK_BOR, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26092788
    26102789  case 106:
    2611 #line 536 "dt_grammar.y"
     2790
     2791/* Line 1455 of yacc.c  */
     2792#line 540 "dt_grammar.y"
    26122793    {
    26132794                        (yyval.l_node) = OP2(DT_TOK_LAND, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26162797
    26172798  case 108:
    2618 #line 543 "dt_grammar.y"
     2799
     2800/* Line 1455 of yacc.c  */
     2801#line 547 "dt_grammar.y"
    26192802    {
    26202803                        (yyval.l_node) = OP2(DT_TOK_LXOR, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26232806
    26242807  case 110:
    2625 #line 550 "dt_grammar.y"
     2808
     2809/* Line 1455 of yacc.c  */
     2810#line 554 "dt_grammar.y"
    26262811    {
    26272812                        (yyval.l_node) = OP2(DT_TOK_LOR, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26302815
    26312816  case 113:
    2632 #line 561 "dt_grammar.y"
     2817
     2818/* Line 1455 of yacc.c  */
     2819#line 565 "dt_grammar.y"
    26332820    { (yyval.l_node) = OP3((yyvsp[(1) - (5)].l_node), (yyvsp[(3) - (5)].l_node), (yyvsp[(5) - (5)].l_node)); }
    26342821    break;
    26352822
    26362823  case 115:
    2637 #line 566 "dt_grammar.y"
     2824
     2825/* Line 1455 of yacc.c  */
     2826#line 570 "dt_grammar.y"
    26382827    {
    26392828                        (yyval.l_node) = OP2((yyvsp[(2) - (3)].l_tok), (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    26422831
    26432832  case 116:
    2644 #line 572 "dt_grammar.y"
     2833
     2834/* Line 1455 of yacc.c  */
     2835#line 576 "dt_grammar.y"
    26452836    { (yyval.l_tok) = DT_TOK_ASGN; }
    26462837    break;
    26472838
    26482839  case 117:
    2649 #line 573 "dt_grammar.y"
     2840
     2841/* Line 1455 of yacc.c  */
     2842#line 577 "dt_grammar.y"
    26502843    { (yyval.l_tok) = DT_TOK_MUL_EQ; }
    26512844    break;
    26522845
    26532846  case 118:
    2654 #line 574 "dt_grammar.y"
     2847
     2848/* Line 1455 of yacc.c  */
     2849#line 578 "dt_grammar.y"
    26552850    { (yyval.l_tok) = DT_TOK_DIV_EQ; }
    26562851    break;
    26572852
    26582853  case 119:
    2659 #line 575 "dt_grammar.y"
     2854
     2855/* Line 1455 of yacc.c  */
     2856#line 579 "dt_grammar.y"
    26602857    { (yyval.l_tok) = DT_TOK_MOD_EQ; }
    26612858    break;
    26622859
    26632860  case 120:
    2664 #line 576 "dt_grammar.y"
     2861
     2862/* Line 1455 of yacc.c  */
     2863#line 580 "dt_grammar.y"
    26652864    { (yyval.l_tok) = DT_TOK_ADD_EQ; }
    26662865    break;
    26672866
    26682867  case 121:
    2669 #line 577 "dt_grammar.y"
     2868
     2869/* Line 1455 of yacc.c  */
     2870#line 581 "dt_grammar.y"
    26702871    { (yyval.l_tok) = DT_TOK_SUB_EQ; }
    26712872    break;
    26722873
    26732874  case 122:
    2674 #line 578 "dt_grammar.y"
     2875
     2876/* Line 1455 of yacc.c  */
     2877#line 582 "dt_grammar.y"
    26752878    { (yyval.l_tok) = DT_TOK_LSH_EQ; }
    26762879    break;
    26772880
    26782881  case 123:
    2679 #line 579 "dt_grammar.y"
     2882
     2883/* Line 1455 of yacc.c  */
     2884#line 583 "dt_grammar.y"
    26802885    { (yyval.l_tok) = DT_TOK_RSH_EQ; }
    26812886    break;
    26822887
    26832888  case 124:
    2684 #line 580 "dt_grammar.y"
     2889
     2890/* Line 1455 of yacc.c  */
     2891#line 584 "dt_grammar.y"
    26852892    { (yyval.l_tok) = DT_TOK_AND_EQ; }
    26862893    break;
    26872894
    26882895  case 125:
    2689 #line 581 "dt_grammar.y"
     2896
     2897/* Line 1455 of yacc.c  */
     2898#line 585 "dt_grammar.y"
    26902899    { (yyval.l_tok) = DT_TOK_XOR_EQ; }
    26912900    break;
    26922901
    26932902  case 126:
    2694 #line 582 "dt_grammar.y"
     2903
     2904/* Line 1455 of yacc.c  */
     2905#line 586 "dt_grammar.y"
    26952906    { (yyval.l_tok) = DT_TOK_OR_EQ; }
    26962907    break;
    26972908
    26982909  case 128:
    2699 #line 586 "dt_grammar.y"
     2910
     2911/* Line 1455 of yacc.c  */
     2912#line 590 "dt_grammar.y"
    27002913    {
    27012914                        (yyval.l_node) = OP2(DT_TOK_COMMA, (yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    27042917
    27052918  case 129:
    2706 #line 591 "dt_grammar.y"
     2919
     2920/* Line 1455 of yacc.c  */
     2921#line 595 "dt_grammar.y"
    27072922    {
    27082923                        (yyval.l_node) = dt_node_decl();
     
    27132928
    27142929  case 130:
    2715 #line 596 "dt_grammar.y"
     2930
     2931/* Line 1455 of yacc.c  */
     2932#line 600 "dt_grammar.y"
    27162933    {
    27172934                        (yyval.l_node) = (yyvsp[(2) - (3)].l_node);
     
    27222939
    27232940  case 143:
    2724 #line 622 "dt_grammar.y"
     2941
     2942/* Line 1455 of yacc.c  */
     2943#line 626 "dt_grammar.y"
    27252944    { dt_decl_class(DT_DC_AUTO); }
    27262945    break;
    27272946
    27282947  case 144:
    2729 #line 623 "dt_grammar.y"
     2948
     2949/* Line 1455 of yacc.c  */
     2950#line 627 "dt_grammar.y"
    27302951    { dt_decl_class(DT_DC_REGISTER); }
    27312952    break;
    27322953
    27332954  case 145:
    2734 #line 624 "dt_grammar.y"
     2955
     2956/* Line 1455 of yacc.c  */
     2957#line 628 "dt_grammar.y"
    27352958    { dt_decl_class(DT_DC_STATIC); }
    27362959    break;
    27372960
    27382961  case 146:
    2739 #line 625 "dt_grammar.y"
     2962
     2963/* Line 1455 of yacc.c  */
     2964#line 629 "dt_grammar.y"
    27402965    { dt_decl_class(DT_DC_EXTERN); }
    27412966    break;
    27422967
    27432968  case 147:
    2744 #line 626 "dt_grammar.y"
     2969
     2970/* Line 1455 of yacc.c  */
     2971#line 630 "dt_grammar.y"
    27452972    { dt_decl_class(DT_DC_TYPEDEF); }
    27462973    break;
    27472974
    27482975  case 149:
    2749 #line 631 "dt_grammar.y"
     2976
     2977/* Line 1455 of yacc.c  */
     2978#line 635 "dt_grammar.y"
    27502979    { dt_decl_class(DT_DC_SELF); }
    27512980    break;
    27522981
    27532982  case 150:
    2754 #line 632 "dt_grammar.y"
     2983
     2984/* Line 1455 of yacc.c  */
     2985#line 636 "dt_grammar.y"
    27552986    { dt_decl_class(DT_DC_THIS); }
    27562987    break;
    27572988
    27582989  case 151:
    2759 #line 635 "dt_grammar.y"
     2990
     2991/* Line 1455 of yacc.c  */
     2992#line 639 "dt_grammar.y"
    27602993    { (yyval.l_decl) = dt_decl_spec(CTF_K_INTEGER, DUP("void")); }
    27612994    break;
    27622995
    27632996  case 152:
    2764 #line 636 "dt_grammar.y"
     2997
     2998/* Line 1455 of yacc.c  */
     2999#line 640 "dt_grammar.y"
    27653000    { (yyval.l_decl) = dt_decl_spec(CTF_K_INTEGER, DUP("char")); }
    27663001    break;
    27673002
    27683003  case 153:
    2769 #line 637 "dt_grammar.y"
     3004
     3005/* Line 1455 of yacc.c  */
     3006#line 641 "dt_grammar.y"
    27703007    { (yyval.l_decl) = dt_decl_attr(DT_DA_SHORT); }
    27713008    break;
    27723009
    27733010  case 154:
    2774 #line 638 "dt_grammar.y"
     3011
     3012/* Line 1455 of yacc.c  */
     3013#line 642 "dt_grammar.y"
    27753014    { (yyval.l_decl) = dt_decl_spec(CTF_K_INTEGER, DUP("int")); }
    27763015    break;
    27773016
    27783017  case 155:
    2779 #line 639 "dt_grammar.y"
     3018
     3019/* Line 1455 of yacc.c  */
     3020#line 643 "dt_grammar.y"
    27803021    { (yyval.l_decl) = dt_decl_attr(DT_DA_LONG); }
    27813022    break;
    27823023
    27833024  case 156:
    2784 #line 640 "dt_grammar.y"
     3025
     3026/* Line 1455 of yacc.c  */
     3027#line 644 "dt_grammar.y"
    27853028    { (yyval.l_decl) = dt_decl_spec(CTF_K_FLOAT, DUP("float")); }
    27863029    break;
    27873030
    27883031  case 157:
    2789 #line 641 "dt_grammar.y"
     3032
     3033/* Line 1455 of yacc.c  */
     3034#line 645 "dt_grammar.y"
    27903035    { (yyval.l_decl) = dt_decl_spec(CTF_K_FLOAT, DUP("double")); }
    27913036    break;
    27923037
    27933038  case 158:
    2794 #line 642 "dt_grammar.y"
     3039
     3040/* Line 1455 of yacc.c  */
     3041#line 646 "dt_grammar.y"
    27953042    { (yyval.l_decl) = dt_decl_attr(DT_DA_SIGNED); }
    27963043    break;
    27973044
    27983045  case 159:
    2799 #line 643 "dt_grammar.y"
     3046
     3047/* Line 1455 of yacc.c  */
     3048#line 647 "dt_grammar.y"
    28003049    { (yyval.l_decl) = dt_decl_attr(DT_DA_UNSIGNED); }
    28013050    break;
    28023051
    28033052  case 160:
    2804 #line 644 "dt_grammar.y"
     3053
     3054/* Line 1455 of yacc.c  */
     3055#line 648 "dt_grammar.y"
    28053056    {
    28063057                        (yyval.l_decl) = dt_decl_spec(CTF_K_TYPEDEF, DUP("string"));
     
    28093060
    28103061  case 161:
    2811 #line 647 "dt_grammar.y"
     3062
     3063/* Line 1455 of yacc.c  */
     3064#line 651 "dt_grammar.y"
    28123065    { (yyval.l_decl) = dt_decl_spec(CTF_K_TYPEDEF, (yyvsp[(1) - (1)].l_str)); }
    28133066    break;
    28143067
    28153068  case 164:
    2816 #line 652 "dt_grammar.y"
     3069
     3070/* Line 1455 of yacc.c  */
     3071#line 656 "dt_grammar.y"
    28173072    { (yyval.l_decl) = dt_decl_attr(DT_DA_CONST); }
    28183073    break;
    28193074
    28203075  case 165:
    2821 #line 653 "dt_grammar.y"
     3076
     3077/* Line 1455 of yacc.c  */
     3078#line 657 "dt_grammar.y"
    28223079    { (yyval.l_decl) = dt_decl_attr(DT_DA_RESTRICT); }
    28233080    break;
    28243081
    28253082  case 166:
    2826 #line 654 "dt_grammar.y"
     3083
     3084/* Line 1455 of yacc.c  */
     3085#line 658 "dt_grammar.y"
    28273086    { (yyval.l_decl) = dt_decl_attr(DT_DA_VOLATILE); }
    28283087    break;
    28293088
    28303089  case 167:
    2831 #line 658 "dt_grammar.y"
     3090
     3091/* Line 1455 of yacc.c  */
     3092#line 662 "dt_grammar.y"
    28323093    {
    28333094                        (yyval.l_decl) = dt_scope_pop();
     
    28363097
    28373098  case 168:
    2838 #line 661 "dt_grammar.y"
     3099
     3100/* Line 1455 of yacc.c  */
     3101#line 665 "dt_grammar.y"
    28393102    { (yyval.l_decl) = dt_decl_spec((yyvsp[(1) - (2)].l_tok), (yyvsp[(2) - (2)].l_str)); }
    28403103    break;
    28413104
    28423105  case 169:
    2843 #line 662 "dt_grammar.y"
     3106
     3107/* Line 1455 of yacc.c  */
     3108#line 666 "dt_grammar.y"
    28443109    { (yyval.l_decl) = dt_decl_spec((yyvsp[(1) - (2)].l_tok), (yyvsp[(2) - (2)].l_str)); }
    28453110    break;
    28463111
    28473112  case 170:
    2848 #line 666 "dt_grammar.y"
     3113
     3114/* Line 1455 of yacc.c  */
     3115#line 670 "dt_grammar.y"
    28493116    { dt_decl_sou((yyvsp[(1) - (2)].l_tok), NULL); }
    28503117    break;
    28513118
    28523119  case 171:
    2853 #line 667 "dt_grammar.y"
     3120
     3121/* Line 1455 of yacc.c  */
     3122#line 671 "dt_grammar.y"
    28543123    { dt_decl_sou((yyvsp[(1) - (3)].l_tok), (yyvsp[(2) - (3)].l_str)); }
    28553124    break;
    28563125
    28573126  case 172:
    2858 #line 668 "dt_grammar.y"
     3127
     3128/* Line 1455 of yacc.c  */
     3129#line 672 "dt_grammar.y"
    28593130    { dt_decl_sou((yyvsp[(1) - (3)].l_tok), (yyvsp[(2) - (3)].l_str)); }
    28603131    break;
    28613132
    28623133  case 173:
    2863 #line 672 "dt_grammar.y"
     3134
     3135/* Line 1455 of yacc.c  */
     3136#line 676 "dt_grammar.y"
    28643137    { (yyval.l_tok) = CTF_K_STRUCT; }
    28653138    break;
    28663139
    28673140  case 174:
    2868 #line 673 "dt_grammar.y"
     3141
     3142/* Line 1455 of yacc.c  */
     3143#line 677 "dt_grammar.y"
    28693144    { (yyval.l_tok) = CTF_K_UNION; }
    28703145    break;
    28713146
    28723147  case 178:
    2873 #line 683 "dt_grammar.y"
     3148
     3149/* Line 1455 of yacc.c  */
     3150#line 687 "dt_grammar.y"
    28743151    {
    28753152                        (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    28783155
    28793156  case 179:
    2880 #line 689 "dt_grammar.y"
     3157
     3158/* Line 1455 of yacc.c  */
     3159#line 693 "dt_grammar.y"
    28813160    {
    28823161                        (yyval.l_node) = dt_node_decl();
     
    28863165
    28873166  case 180:
    2888 #line 696 "dt_grammar.y"
     3167
     3168/* Line 1455 of yacc.c  */
     3169#line 700 "dt_grammar.y"
    28893170    {
    28903171                        dt_decl_free(dt_decl_pop());
     
    28933174
    28943175  case 182:
    2895 #line 703 "dt_grammar.y"
     3176
     3177/* Line 1455 of yacc.c  */
     3178#line 707 "dt_grammar.y"
    28963179    { (yyval.l_decl) = (yyvsp[(2) - (2)].l_decl); }
    28973180    break;
    28983181
    28993182  case 184:
    2900 #line 705 "dt_grammar.y"
     3183
     3184/* Line 1455 of yacc.c  */
     3185#line 709 "dt_grammar.y"
    29013186    { (yyval.l_decl) = (yyvsp[(2) - (2)].l_decl); }
    29023187    break;
    29033188
    29043189  case 187:
    2905 #line 714 "dt_grammar.y"
     3190
     3191/* Line 1455 of yacc.c  */
     3192#line 718 "dt_grammar.y"
    29063193    { dt_decl_member(NULL); }
    29073194    break;
    29083195
    29093196  case 188:
    2910 #line 715 "dt_grammar.y"
     3197
     3198/* Line 1455 of yacc.c  */
     3199#line 719 "dt_grammar.y"
    29113200    { dt_decl_member((yyvsp[(2) - (2)].l_node)); }
    29123201    break;
    29133202
    29143203  case 189:
    2915 #line 716 "dt_grammar.y"
     3204
     3205/* Line 1455 of yacc.c  */
     3206#line 720 "dt_grammar.y"
    29163207    {
    29173208                        dt_decl_member((yyvsp[(3) - (3)].l_node));
     
    29203211
    29213212  case 190:
    2922 #line 722 "dt_grammar.y"
     3213
     3214/* Line 1455 of yacc.c  */
     3215#line 726 "dt_grammar.y"
    29233216    { (yyval.l_decl) = dt_scope_pop(); }
    29243217    break;
    29253218
    29263219  case 191:
    2927 #line 723 "dt_grammar.y"
     3220
     3221/* Line 1455 of yacc.c  */
     3222#line 727 "dt_grammar.y"
    29283223    { (yyval.l_decl) = dt_decl_spec(CTF_K_ENUM, (yyvsp[(2) - (2)].l_str)); }
    29293224    break;
    29303225
    29313226  case 192:
    2932 #line 724 "dt_grammar.y"
     3227
     3228/* Line 1455 of yacc.c  */
     3229#line 728 "dt_grammar.y"
    29333230    { (yyval.l_decl) = dt_decl_spec(CTF_K_ENUM, (yyvsp[(2) - (2)].l_str)); }
    29343231    break;
    29353232
    29363233  case 193:
    2937 #line 728 "dt_grammar.y"
     3234
     3235/* Line 1455 of yacc.c  */
     3236#line 732 "dt_grammar.y"
    29383237    { dt_decl_enum(NULL); }
    29393238    break;
    29403239
    29413240  case 194:
    2942 #line 729 "dt_grammar.y"
     3241
     3242/* Line 1455 of yacc.c  */
     3243#line 733 "dt_grammar.y"
    29433244    { dt_decl_enum((yyvsp[(2) - (3)].l_str)); }
    29443245    break;
    29453246
    29463247  case 195:
    2947 #line 730 "dt_grammar.y"
     3248
     3249/* Line 1455 of yacc.c  */
     3250#line 734 "dt_grammar.y"
    29483251    { dt_decl_enum((yyvsp[(2) - (3)].l_str)); }
    29493252    break;
    29503253
    29513254  case 198:
    2952 #line 738 "dt_grammar.y"
     3255
     3256/* Line 1455 of yacc.c  */
     3257#line 742 "dt_grammar.y"
    29533258    { dt_decl_enumerator((yyvsp[(1) - (1)].l_str), NULL); }
    29543259    break;
    29553260
    29563261  case 199:
    2957 #line 739 "dt_grammar.y"
     3262
     3263/* Line 1455 of yacc.c  */
     3264#line 743 "dt_grammar.y"
    29583265    {
    29593266                        dt_decl_enumerator((yyvsp[(1) - (3)].l_str), (yyvsp[(3) - (3)].l_node));
     
    29623269
    29633270  case 202:
    2964 #line 749 "dt_grammar.y"
     3271
     3272/* Line 1455 of yacc.c  */
     3273#line 753 "dt_grammar.y"
    29653274    { (yyval.l_decl) = dt_decl_ident((yyvsp[(1) - (1)].l_str)); }
    29663275    break;
    29673276
    29683277  case 203:
    2969 #line 750 "dt_grammar.y"
     3278
     3279/* Line 1455 of yacc.c  */
     3280#line 754 "dt_grammar.y"
    29703281    { (yyval.l_decl) = (yyvsp[(2) - (3)].l_decl); }
    29713282    break;
    29723283
    29733284  case 204:
    2974 #line 751 "dt_grammar.y"
     3285
     3286/* Line 1455 of yacc.c  */
     3287#line 755 "dt_grammar.y"
    29753288    { dt_decl_array((yyvsp[(2) - (2)].l_node)); }
    29763289    break;
    29773290
    29783291  case 205:
    2979 #line 752 "dt_grammar.y"
     3292
     3293/* Line 1455 of yacc.c  */
     3294#line 756 "dt_grammar.y"
    29803295    { dt_decl_func((yyvsp[(1) - (2)].l_decl), (yyvsp[(2) - (2)].l_node)); }
    29813296    break;
    29823297
    29833298  case 206:
    2984 #line 755 "dt_grammar.y"
     3299
     3300/* Line 1455 of yacc.c  */
     3301#line 759 "dt_grammar.y"
    29853302    { dt_decl_top()->dd_attr |= DT_DA_PAREN; }
    29863303    break;
    29873304
    29883305  case 207:
    2989 #line 758 "dt_grammar.y"
     3306
     3307/* Line 1455 of yacc.c  */
     3308#line 762 "dt_grammar.y"
    29903309    { (yyval.l_decl) = dt_decl_ptr(); }
    29913310    break;
    29923311
    29933312  case 208:
    2994 #line 759 "dt_grammar.y"
     3313
     3314/* Line 1455 of yacc.c  */
     3315#line 763 "dt_grammar.y"
    29953316    { (yyval.l_decl) = dt_decl_ptr(); }
    29963317    break;
    29973318
    29983319  case 209:
    2999 #line 760 "dt_grammar.y"
     3320
     3321/* Line 1455 of yacc.c  */
     3322#line 764 "dt_grammar.y"
    30003323    { (yyval.l_decl) = dt_decl_ptr(); }
    30013324    break;
    30023325
    30033326  case 210:
    3004 #line 761 "dt_grammar.y"
     3327
     3328/* Line 1455 of yacc.c  */
     3329#line 765 "dt_grammar.y"
    30053330    { (yyval.l_decl) = dt_decl_ptr(); }
    30063331    break;
    30073332
    30083333  case 212:
    3009 #line 766 "dt_grammar.y"
     3334
     3335/* Line 1455 of yacc.c  */
     3336#line 770 "dt_grammar.y"
    30103337    { (yyval.l_decl) = (yyvsp[(2) - (2)].l_decl); }
    30113338    break;
    30123339
    30133340  case 214:
    3014 #line 771 "dt_grammar.y"
     3341
     3342/* Line 1455 of yacc.c  */
     3343#line 775 "dt_grammar.y"
    30153344    { (yyval.l_node) = dt_node_vatype(); }
    30163345    break;
    30173346
    30183347  case 215:
    3019 #line 772 "dt_grammar.y"
     3348
     3349/* Line 1455 of yacc.c  */
     3350#line 776 "dt_grammar.y"
    30203351    {
    30213352                        (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), dt_node_vatype());
     
    30243355
    30253356  case 217:
    3026 #line 778 "dt_grammar.y"
     3357
     3358/* Line 1455 of yacc.c  */
     3359#line 782 "dt_grammar.y"
    30273360    {
    30283361                        (yyval.l_node) = LINK((yyvsp[(1) - (3)].l_node), (yyvsp[(3) - (3)].l_node));
     
    30313364
    30323365  case 218:
    3033 #line 784 "dt_grammar.y"
     3366
     3367/* Line 1455 of yacc.c  */
     3368#line 788 "dt_grammar.y"
    30343369    {
    30353370                        (yyval.l_node) = dt_node_type(NULL);
     
    30383373
    30393374  case 219:
    3040 #line 787 "dt_grammar.y"
     3375
     3376/* Line 1455 of yacc.c  */
     3377#line 791 "dt_grammar.y"
    30413378    {
    30423379                        (yyval.l_node) = dt_node_type(NULL);
     
    30453382
    30463383  case 220:
    3047 #line 790 "dt_grammar.y"
     3384
     3385/* Line 1455 of yacc.c  */
     3386#line 794 "dt_grammar.y"
    30483387    {
    30493388                        (yyval.l_node) = dt_node_type(NULL);
     
    30523391
    30533392  case 221:
    3054 #line 795 "dt_grammar.y"
     3393
     3394/* Line 1455 of yacc.c  */
     3395#line 799 "dt_grammar.y"
    30553396    {
    30563397                        (yyval.l_decl) = dt_decl_pop();
     
    30593400
    30603401  case 222:
    3061 #line 798 "dt_grammar.y"
     3402
     3403/* Line 1455 of yacc.c  */
     3404#line 802 "dt_grammar.y"
    30623405    {
    30633406                        (yyval.l_decl) = dt_decl_pop();
     
    30663409
    30673410  case 226:
    3068 #line 810 "dt_grammar.y"
     3411
     3412/* Line 1455 of yacc.c  */
     3413#line 814 "dt_grammar.y"
    30693414    { (yyval.l_decl) = (yyvsp[(2) - (3)].l_decl); }
    30703415    break;
    30713416
    30723417  case 227:
    3073 #line 811 "dt_grammar.y"
     3418
     3419/* Line 1455 of yacc.c  */
     3420#line 815 "dt_grammar.y"
    30743421    { dt_decl_array((yyvsp[(2) - (2)].l_node)); }
    30753422    break;
    30763423
    30773424  case 228:
    3078 #line 812 "dt_grammar.y"
     3425
     3426/* Line 1455 of yacc.c  */
     3427#line 816 "dt_grammar.y"
    30793428    { dt_decl_array((yyvsp[(1) - (1)].l_node)); (yyval.l_decl) = NULL; }
    30803429    break;
    30813430
    30823431  case 229:
    3083 #line 813 "dt_grammar.y"
     3432
     3433/* Line 1455 of yacc.c  */
     3434#line 817 "dt_grammar.y"
    30843435    { dt_decl_func((yyvsp[(1) - (2)].l_decl), (yyvsp[(2) - (2)].l_node)); }
    30853436    break;
    30863437
    30873438  case 230:
    3088 #line 814 "dt_grammar.y"
     3439
     3440/* Line 1455 of yacc.c  */
     3441#line 818 "dt_grammar.y"
    30893442    { dt_decl_func(NULL, (yyvsp[(1) - (1)].l_node)); }
    30903443    break;
    30913444
    30923445  case 231:
    3093 #line 817 "dt_grammar.y"
     3446
     3447/* Line 1455 of yacc.c  */
     3448#line 821 "dt_grammar.y"
    30943449    { dt_scope_push(NULL, CTF_ERR); }
    30953450    break;
    30963451
    30973452  case 232:
    3098 #line 818 "dt_grammar.y"
     3453
     3454/* Line 1455 of yacc.c  */
     3455#line 822 "dt_grammar.y"
    30993456    {
    31003457                        dt_scope_pop();
     
    31043461
    31053462  case 233:
    3106 #line 825 "dt_grammar.y"
     3463
     3464/* Line 1455 of yacc.c  */
     3465#line 829 "dt_grammar.y"
    31073466    { (yyval.l_node) = NULL; }
    31083467    break;
    31093468
    31103469  case 234:
    3111 #line 826 "dt_grammar.y"
     3470
     3471/* Line 1455 of yacc.c  */
     3472#line 830 "dt_grammar.y"
    31123473    { (yyval.l_node) = (yyvsp[(1) - (1)].l_node); }
    31133474    break;
    31143475
    31153476  case 235:
    3116 #line 827 "dt_grammar.y"
     3477
     3478/* Line 1455 of yacc.c  */
     3479#line 831 "dt_grammar.y"
    31173480    { (yyval.l_node) = (yyvsp[(1) - (1)].l_node); }
    31183481    break;
    31193482
    31203483  case 236:
    3121 #line 830 "dt_grammar.y"
     3484
     3485/* Line 1455 of yacc.c  */
     3486#line 834 "dt_grammar.y"
    31223487    { dt_scope_push(NULL, CTF_ERR); }
    31233488    break;
    31243489
    31253490  case 237:
    3126 #line 831 "dt_grammar.y"
     3491
     3492/* Line 1455 of yacc.c  */
     3493#line 835 "dt_grammar.y"
    31273494    {
    31283495                        dt_scope_pop();
     
    31323499
    31333500  case 238:
    3134 #line 838 "dt_grammar.y"
     3501
     3502/* Line 1455 of yacc.c  */
     3503#line 842 "dt_grammar.y"
    31353504    { (yyval.l_node) = NULL; }
    31363505    break;
    31373506
    31383507  case 239:
    3139 #line 839 "dt_grammar.y"
     3508
     3509/* Line 1455 of yacc.c  */
     3510#line 843 "dt_grammar.y"
    31403511    { (yyval.l_node) = (yyvsp[(1) - (1)].l_node); }
    31413512    break;
    31423513
    31433514
    3144 /* Line 1267 of yacc.c.  */
    3145 #line 3143 "dt_grammar.c"
     3515
     3516/* Line 1455 of yacc.c  */
     3517#line 3516 "dt_grammar.c"
    31463518      default: break;
    31473519    }
     
    31533525
    31543526  *++yyvsp = yyval;
    3155 
    31563527
    31573528  /* Now `shift' the result of the reduction.  Determine what state
     
    32193590  if (yyerrstatus == 3)
    32203591    {
    3221       /* If just tried and failed to reuse look-ahead token after an
     3592      /* If just tried and failed to reuse lookahead token after an
    32223593         error, discard it.  */
    32233594
     
    32363607    }
    32373608
    3238   /* Else will try to reuse look-ahead token after shifting the error
     3609  /* Else will try to reuse lookahead token after shifting the error
    32393610     token.  */
    32403611  goto yyerrlab1;
     
    32933664    }
    32943665
    3295   if (yyn == YYFINAL)
    3296     YYACCEPT;
    3297 
    32983666  *++yyvsp = yylval;
    32993667
     
    33203688  goto yyreturn;
    33213689
    3322 #ifndef yyoverflow
     3690#if !defined(yyoverflow) || YYERROR_VERBOSE
    33233691/*-------------------------------------------------.
    33243692| yyexhaustedlab -- memory exhaustion comes here.  |
     
    33313699
    33323700yyreturn:
    3333   if (yychar != YYEOF && yychar != YYEMPTY)
     3701  if (yychar != YYEMPTY)
    33343702     yydestruct ("Cleanup: discarding lookahead",
    33353703                 yytoken, &yylval);
     
    33573725
    33583726
    3359 #line 842 "dt_grammar.y"
    3360 
    3361 
     3727
     3728/* Line 1675 of yacc.c  */
     3729#line 846 "dt_grammar.y"
     3730
     3731
  • trunk/src/VBox/ExtPacks/VBoxDTrace/generated/dt_grammar.h

    r53983 r63135  
    1 /* A Bison parser, made by GNU Bison 2.3.  */
     1
     2/* A Bison parser, made by GNU Bison 2.4.1.  */
    23
    34/* Skeleton interface for Bison's Yacc-like parsers in C
    4 
    5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
     5   
     6      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    67   Free Software Foundation, Inc.
    7 
    8    This program is free software; you can redistribute it and/or modify
     8   
     9   This program is free software: you can redistribute it and/or modify
    910   it under the terms of the GNU General Public License as published by
    10    the Free Software Foundation; either version 2, or (at your option)
    11    any later version.
    12 
     11   the Free Software Foundation, either version 3 of the License, or
     12   (at your option) any later version.
     13   
    1314   This program is distributed in the hope that it will be useful,
    1415   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1516   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1617   GNU General Public License for more details.
    17 
     18   
    1819   You should have received a copy of the GNU General Public License
    19    along with this program; if not, write to the Free Software
    20    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    21    Boston, MA 02110-1301, USA.  */
     20   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    2221
    2322/* As a special exception, you may create a larger work that contains
     
    3029   Bison output files to be licensed under the GNU General Public
    3130   License without this special exception.
    32 
     31   
    3332   This special exception was added by the Free Software Foundation in
    3433   version 2.2 of Bison.  */
     34
    3535
    3636/* Tokens.  */
     
    265265#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    266266typedef union YYSTYPE
    267 #line 47 "dt_grammar.y"
    268267{
     268
     269/* Line 1676 of yacc.c  */
     270#line 51 "dt_grammar.y"
     271
    269272        dt_node_t *l_node;
    270273        dt_decl_t *l_decl;
     
    272275        uintmax_t l_int;
    273276        int l_tok;
    274 }
    275 /* Line 1529 of yacc.c.  */
    276 #line 277 "dt_grammar.h"
    277         YYSTYPE;
     277
     278
     279
     280/* Line 1676 of yacc.c  */
     281#line 282 "dt_grammar.h"
     282} YYSTYPE;
     283# define YYSTYPE_IS_TRIVIAL 1
    278284# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    279285# define YYSTYPE_IS_DECLARED 1
    280 # define YYSTYPE_IS_TRIVIAL 1
    281286#endif
    282287
    283288extern YYSTYPE yylval;
    284289
     290
  • trunk/src/VBox/ExtPacks/VBoxDTrace/generated/dt_lex.c

    r53986 r63135  
    11#line 2 "dt_lex.c"
    2 
    3 #line 4 "dt_lex.c"
    4 
    5 #define  YY_INT_ALIGNED short int
    6 
    72/* A lexical scanner generated by flex */
     3
     4/* Scanner skeleton version:
     5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
     6 */
    87
    98#define FLEX_SCANNER
    109#define YY_FLEX_MAJOR_VERSION 2
    1110#define YY_FLEX_MINOR_VERSION 5
    12 #define YY_FLEX_SUBMINOR_VERSION 35
    13 #if YY_FLEX_SUBMINOR_VERSION > 0
    14 #define FLEX_BETA
    15 #endif
    16 
    17 /* First, we deal with  platform-specific or compiler-specific issues. */
    18 
    19 /* begin standard C headers. */
     11
    2012#include <stdio.h>
    21 #include <string.h>
    22 #include <errno.h>
     13
     14
     15/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
     16#ifdef c_plusplus
     17#ifndef __cplusplus
     18#define __cplusplus
     19#endif
     20#endif
     21
     22
     23#ifdef __cplusplus
     24
    2325#include <stdlib.h>
    24 
    25 /* end standard C headers. */
    26 
    27 /* flex integer type definitions */
    28 
    29 #ifndef FLEXINT_H
    30 #define FLEXINT_H
    31 
    32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
    33 
    34 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    35 
    36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
    37  * if you want the limit (max/min) macros for int types.
    38  */
    39 #ifndef __STDC_LIMIT_MACROS
    40 #define __STDC_LIMIT_MACROS 1
    41 #endif
    42 
    43 #include <inttypes.h>
    44 typedef int8_t flex_int8_t;
    45 typedef uint8_t flex_uint8_t;
    46 typedef int16_t flex_int16_t;
    47 typedef uint16_t flex_uint16_t;
    48 typedef int32_t flex_int32_t;
    49 typedef uint32_t flex_uint32_t;
    50 #else
    51 typedef signed char flex_int8_t;
    52 typedef short int flex_int16_t;
    53 typedef int flex_int32_t;
    54 typedef unsigned char flex_uint8_t;
    55 typedef unsigned short int flex_uint16_t;
    56 typedef unsigned int flex_uint32_t;
    57 #endif /* ! C99 */
    58 
    59 /* Limits of integral types. */
    60 #ifndef INT8_MIN
    61 #define INT8_MIN               (-128)
    62 #endif
    63 #ifndef INT16_MIN
    64 #define INT16_MIN              (-32767-1)
    65 #endif
    66 #ifndef INT32_MIN
    67 #define INT32_MIN              (-2147483647-1)
    68 #endif
    69 #ifndef INT8_MAX
    70 #define INT8_MAX               (127)
    71 #endif
    72 #ifndef INT16_MAX
    73 #define INT16_MAX              (32767)
    74 #endif
    75 #ifndef INT32_MAX
    76 #define INT32_MAX              (2147483647)
    77 #endif
    78 #ifndef UINT8_MAX
    79 #define UINT8_MAX              (255U)
    80 #endif
    81 #ifndef UINT16_MAX
    82 #define UINT16_MAX             (65535U)
    83 #endif
    84 #ifndef UINT32_MAX
    85 #define UINT32_MAX             (4294967295U)
    86 #endif
    87 
    88 #endif /* ! FLEXINT_H */
    89 
    90 #ifdef __cplusplus
     26#include <unistd.h>
     27
     28/* Use prototypes in function declarations. */
     29#define YY_USE_PROTOS
    9130
    9231/* The "const" storage-class-modifier is valid. */
     
    9534#else   /* ! __cplusplus */
    9635
    97 /* C99 requires __STDC__ to be defined as 1. */
    98 #if defined (__STDC__)
    99 
     36#if __STDC__
     37
     38#define YY_USE_PROTOS
    10039#define YY_USE_CONST
    10140
    102 #endif  /* defined (__STDC__) */
     41#endif  /* __STDC__ */
    10342#endif  /* ! __cplusplus */
     43
     44#ifdef __TURBOC__
     45 #pragma warn -rch
     46 #pragma warn -use
     47#include <io.h>
     48#include <stdlib.h>
     49#define YY_USE_CONST
     50#define YY_USE_PROTOS
     51#endif
    10452
    10553#ifdef YY_USE_CONST
     
    10755#else
    10856#define yyconst
     57#endif
     58
     59
     60#ifdef YY_USE_PROTOS
     61#define YY_PROTO(proto) proto
     62#else
     63#define YY_PROTO(proto) ()
    10964#endif
    11065
     
    12378 * definition of BEGIN.
    12479 */
    125 #define BEGIN (yy_start) = 1 + 2 *
     80#define BEGIN yy_start = 1 + 2 *
    12681
    12782/* Translate the current start state into a value that can be later handed
     
    12984 * compatibility.
    13085 */
    131 #define YY_START (((yy_start) - 1) / 2)
     86#define YY_START ((yy_start - 1) / 2)
    13287#define YYSTATE YY_START
    13388
     
    13691
    13792/* Special action meaning "start processing a new file". */
    138 #define YY_NEW_FILE yyrestart(yyin )
     93#define YY_NEW_FILE yyrestart( yyin )
    13994
    14095#define YY_END_OF_BUFFER_CHAR 0
    14196
    14297/* Size of default input buffer. */
    143 #ifndef YY_BUF_SIZE
    14498#define YY_BUF_SIZE 16384
    145 #endif
    146 
    147 /* The state buf must be large enough to hold one state per character in the main buffer.
    148  */
    149 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
    150 
    151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
    152 #define YY_TYPEDEF_YY_BUFFER_STATE
     99
    153100typedef struct yy_buffer_state *YY_BUFFER_STATE;
    154 #endif
    155 
    156 #ifndef YY_TYPEDEF_YY_SIZE_T
    157 #define YY_TYPEDEF_YY_SIZE_T
    158 typedef size_t yy_size_t;
    159 #endif
    160 
    161 extern yy_size_t yyleng;
    162 
     101
     102extern int yyleng;
    163103extern FILE *yyin, *yyout;
    164104
     
    167107#define EOB_ACT_LAST_MATCH 2
    168108
    169     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
    170      *       access to the local variable yy_act. Since yyless() is a macro, it would break
    171      *       existing scanners that call yyless() from OUTSIDE yylex.
    172      *       One obvious solution it to make yy_act a global. I tried that, and saw
    173      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
    174      *       normally declared as a register variable-- so it is not worth it.
    175      */
    176     #define  YY_LESS_LINENO(n) \
    177             do { \
    178                 yy_size_t yyl;\
    179                 for ( yyl = n; yyl < yyleng; ++yyl )\
    180                     if ( yytext[yyl] == '\n' )\
    181                         --yylineno;\
    182             }while(0)
    183    
    184 /* Return all but the first "n" matched characters back to the input stream. */
     109/* The funky do-while in the following #define is used to turn the definition
     110 * int a single C statement (which needs a semi-colon terminator).  This
     111 * avoids problems with code like:
     112 *
     113 *      if ( condition_holds )
     114 *              yyless( 5 );
     115 *      else
     116 *              do_something_else();
     117 *
     118 * Prior to using the do-while the compiler would get upset at the
     119 * "else" because it interpreted the "if" statement as being all
     120 * done when it reached the ';' after the yyless() call.
     121 */
     122
     123/* Return all but the first 'n' matched characters back to the input stream. */
     124
    185125#define yyless(n) \
    186126        do \
    187127                { \
    188128                /* Undo effects of setting up yytext. */ \
    189         int yyless_macro_arg = (n); \
    190         YY_LESS_LINENO(yyless_macro_arg);\
    191                 *yy_cp = (yy_hold_char); \
     129                *yy_cp = yy_hold_char; \
    192130                YY_RESTORE_YY_MORE_OFFSET \
    193                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
     131                yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
    194132                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    195133                } \
    196134        while ( 0 )
    197135
    198 #define unput(c) yyunput( c, (yytext_ptr)  )
    199 
    200 #ifndef YY_STRUCT_YY_BUFFER_STATE
    201 #define YY_STRUCT_YY_BUFFER_STATE
     136#define unput(c) yyunput( c, yytext_ptr )
     137
     138/* The following is because we cannot portably get our hands on size_t
     139 * (without autoconf's help, which isn't available because we want
     140 * flex-generated scanners to compile on their own).
     141 */
     142typedef unsigned int yy_size_t;
     143
     144
    202145struct yy_buffer_state
    203146        {
     
    215158         * characters.
    216159         */
    217         yy_size_t yy_n_chars;
     160        int yy_n_chars;
    218161
    219162        /* Whether we "own" the buffer - i.e., we know we created it,
     
    236179        int yy_at_bol;
    237180
    238     int yy_bs_lineno; /**< The line count. */
    239     int yy_bs_column; /**< The column count. */
    240    
    241181        /* Whether to try to fill the input buffer when we reach the
    242182         * end of it.
     
    245185
    246186        int yy_buffer_status;
    247 
    248187#define YY_BUFFER_NEW 0
    249188#define YY_BUFFER_NORMAL 1
     
    259198         */
    260199#define YY_BUFFER_EOF_PENDING 2
    261 
    262200        };
    263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
    264 
    265 /* Stack of input buffers. */
    266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
    267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
    268 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
     201
     202static YY_BUFFER_STATE yy_current_buffer = 0;
    269203
    270204/* We provide macros for accessing buffer states in case in the
    271205 * future we want to put the buffer states in a more general
    272206 * "scanner state".
    273  *
    274  * Returns the top of the stack, or NULL.
    275207 */
    276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
    277                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
    278                           : NULL)
    279 
    280 /* Same as previous macro, but useful when we know that the buffer stack is not
    281  * NULL or when we need an lvalue. For internal use only.
    282  */
    283 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
     208#define YY_CURRENT_BUFFER yy_current_buffer
     209
    284210
    285211/* yy_hold_char holds the character lost when yytext is formed. */
    286212static char yy_hold_char;
    287 static yy_size_t yy_n_chars;            /* number of characters read into yy_ch_buf */
    288 yy_size_t yyleng;
     213
     214static int yy_n_chars;          /* number of characters read into yy_ch_buf */
     215
     216
     217int yyleng;
    289218
    290219/* Points to current character in buffer. */
    291220static char *yy_c_buf_p = (char *) 0;
    292 static int yy_init = 0;         /* whether we need to initialize */
     221static int yy_init = 1;         /* whether we need to initialize */
    293222static int yy_start = 0;        /* start state number */
    294223
     
    298227static int yy_did_buffer_switch_on_eof;
    299228
    300 void yyrestart (FILE *input_file  );
    301 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
    302 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
    303 void yy_delete_buffer (YY_BUFFER_STATE b  );
    304 void yy_flush_buffer (YY_BUFFER_STATE b  );
    305 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
    306 void yypop_buffer_state (void );
    307 
    308 static void yyensure_buffer_stack (void );
    309 static void yy_load_buffer_state (void );
    310 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
    311 
    312 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
    313 
    314 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
    315 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
    316 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
    317 
    318 void *yyalloc (yy_size_t  );
    319 void *yyrealloc (void *,yy_size_t  );
    320 void yyfree (void *  );
     229void yyrestart YY_PROTO(( FILE *input_file ));
     230
     231void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
     232void yy_load_buffer_state YY_PROTO(( void ));
     233YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
     234void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
     235void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
     236void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
     237#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
     238
     239YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
     240YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
     241YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
     242
     243static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
     244static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
     245static void yy_flex_free YY_PROTO(( void * ));
    321246
    322247#define yy_new_buffer yy_create_buffer
     
    324249#define yy_set_interactive(is_interactive) \
    325250        { \
    326         if ( ! YY_CURRENT_BUFFER ){ \
    327         yyensure_buffer_stack (); \
    328                 YY_CURRENT_BUFFER_LVALUE =    \
    329             yy_create_buffer(yyin,YY_BUF_SIZE ); \
    330         } \
    331         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
     251        if ( ! yy_current_buffer ) \
     252                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
     253        yy_current_buffer->yy_is_interactive = is_interactive; \
    332254        }
    333255
    334256#define yy_set_bol(at_bol) \
    335257        { \
    336         if ( ! YY_CURRENT_BUFFER ){\
    337         yyensure_buffer_stack (); \
    338                 YY_CURRENT_BUFFER_LVALUE =    \
    339             yy_create_buffer(yyin,YY_BUF_SIZE ); \
    340         } \
    341         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
     258        if ( ! yy_current_buffer ) \
     259                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
     260        yy_current_buffer->yy_at_bol = at_bol; \
    342261        }
    343262
    344 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
    345 
    346 /* Begin user sect3 */
    347 
     263#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
     264
     265
     266#define YY_USES_REJECT
    348267typedef unsigned char YY_CHAR;
    349 
    350268FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
    351 
    352269typedef int yy_state_type;
    353 
    354270#define YY_FLEX_LEX_COMPAT
    355271extern int yylineno;
    356 
    357272int yylineno = 1;
    358 
    359273extern char yytext[];
    360274
    361 static yy_state_type yy_get_previous_state (void );
    362 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
    363 static int yy_get_next_buffer (void );
    364 static void yy_fatal_error (yyconst char msg[]  );
     275
     276static yy_state_type yy_get_previous_state YY_PROTO(( void ));
     277static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
     278static int yy_get_next_buffer YY_PROTO(( void ));
     279static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
    365280
    366281/* Done after the current pattern has been matched and before the
     
    368283 */
    369284#define YY_DO_BEFORE_ACTION \
    370         (yytext_ptr) = yy_bp; \
    371         yyleng = (size_t) (yy_cp - yy_bp); \
    372         (yy_hold_char) = *yy_cp; \
     285        yytext_ptr = yy_bp; \
     286        yyleng = (int) (yy_cp - yy_bp); \
     287        yy_hold_char = *yy_cp; \
    373288        *yy_cp = '\0'; \
    374         if ( yyleng + (yy_more_offset) >= YYLMAX ) \
     289        if ( yyleng + yy_more_offset >= YYLMAX ) \
    375290                YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
    376         yy_flex_strncpy( &yytext[(yy_more_offset)], (yytext_ptr), yyleng + 1 ); \
    377         yyleng += (yy_more_offset); \
    378         (yy_prev_more_offset) = (yy_more_offset); \
    379         (yy_more_offset) = 0; \
    380         (yy_c_buf_p) = yy_cp;
     291        yy_flex_strncpy( &yytext[yy_more_offset], yytext_ptr, yyleng + 1 ); \
     292        yyleng += yy_more_offset; \
     293        yy_prev_more_offset = yy_more_offset; \
     294        yy_more_offset = 0; \
     295        yy_c_buf_p = yy_cp;
    381296
    382297#define YY_NUM_RULES 162
    383298#define YY_END_OF_BUFFER 163
    384 /* This struct is not used in this scanner,
    385    but its presence is necessary. */
    386 struct yy_trans_info
    387         {
    388         flex_int32_t yy_verify;
    389         flex_int32_t yy_nxt;
    390         };
    391 static yyconst flex_int16_t yy_acclist[740] =
     299static yyconst short int yy_acclist[740] =
    392300    {   0,
    393301      163,  162,  149,  162,  147,  149,  162,  147,  162,  126,
     
    474382    } ;
    475383
    476 static yyconst flex_int16_t yy_accept[511] =
     384static yyconst short int yy_accept[511] =
    477385    {   0,
    478386        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    534442    } ;
    535443
    536 static yyconst flex_int32_t yy_ec[256] =
     444static yyconst int yy_ec[256] =
    537445    {   0,
    538446        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
     
    566474    } ;
    567475
    568 static yyconst flex_int32_t yy_meta[69] =
     476static yyconst int yy_meta[69] =
    569477    {   0,
    570478        1,    2,    3,    1,    4,    2,    1,    5,    1,    1,
     
    577485    } ;
    578486
    579 static yyconst flex_int16_t yy_base[530] =
     487static yyconst short int yy_base[530] =
    580488    {   0,
    581489        0,    0,    0,   67,   56,   57,   76,  143,  145,  150,
     
    639547    } ;
    640548
    641 static yyconst flex_int16_t yy_def[530] =
     549static yyconst short int yy_def[530] =
    642550    {   0,
    643551      510,  510,  509,    3,  511,  511,  509,    7,  512,  512,
     
    701609    } ;
    702610
    703 static yyconst flex_int16_t yy_nxt[884] =
     611static yyconst short int yy_nxt[884] =
    704612    {   0,
    705613       15,   16,   17,   16,   18,   19,   15,   20,   21,   22,
     
    802710    } ;
    803711
    804 static yyconst flex_int16_t yy_chk[884] =
     712static yyconst short int yy_chk[884] =
    805713    {   0,
    806714        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
     
    903811    } ;
    904812
    905 /* Table of booleans, true if rule could match eol. */
    906 static yyconst flex_int32_t yy_rule_can_match_eol[163] =
    907     {   0,
    908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    909     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    910     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    911     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    912     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
    913     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    914     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    915     0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0,
    916     0, 0, 0,     };
    917 
    918 extern int yy_flex_debug;
    919 int yy_flex_debug = 0;
    920 
    921 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
     813static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
    922814static char *yy_full_match;
    923815static int yy_lp;
     
    929821#define REJECT \
    930822{ \
    931 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
    932 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
    933 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
    934 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
    935 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
    936 ++(yy_lp); \
     823*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
     824yy_cp = yy_full_match; /* restore poss. backed-over text */ \
     825yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \
     826yy_state_ptr = yy_full_state; /* restore orig. state */ \
     827yy_current_state = *yy_state_ptr; /* restore curr. state */ \
     828++yy_lp; \
    937829goto find_rule; \
    938830}
    939 
    940831static int yy_more_offset = 0;
    941832static int yy_prev_more_offset = 0;
    942 #define yymore() ((yy_more_offset) = yy_flex_strlen( yytext ))
     833#define yymore() (yy_more_offset = yy_flex_strlen( yytext ))
    943834#define YY_NEED_STRLEN
    944835#define YY_MORE_ADJ 0
    945836#define YY_RESTORE_YY_MORE_OFFSET \
    946837        { \
    947         (yy_more_offset) = (yy_prev_more_offset); \
    948         yyleng -= (yy_more_offset); \
     838        yy_more_offset = yy_prev_more_offset; \
     839        yyleng -= yy_more_offset; \
    949840        }
    950841#ifndef YYLMAX
     
    955846char *yytext_ptr;
    956847#line 1 "dt_lex.l"
     848#define INITIAL 0
    957849#line 2 "dt_lex.l"
    958850/*
     
    999891#  undef UINT32_MAX
    1000892#  undef UINT64_MAX
     893# endif
     894# ifdef _MSC_VER
     895#  pragma warning(disable:4668 4131 4255)
    1001896# endif
    1002897# include <iprt/ctype.h>
     
    1059954 * S4 - D control line scan (locate control directives only and invoke S3)
    1060955 */
    1061 
    1062 #line 1063 "dt_lex.c"
    1063 
    1064 #define INITIAL 0
    1065956#define S0 1
    1066957#define S1 2
     
    1069960#define S4 5
    1070961
    1071 #ifndef YY_NO_UNISTD_H
    1072 /* Special case for "unistd.h", since it is non-ANSI. We include it way
    1073  * down here because we want the user's section 1 to have been scanned first.
    1074  * The user has a chance to override it with an option.
    1075  */
    1076 #include <unistd.h>
    1077 #endif
    1078 
    1079 #ifndef YY_EXTRA_TYPE
    1080 #define YY_EXTRA_TYPE void *
    1081 #endif
    1082 
    1083 static int yy_init_globals (void );
    1084 
    1085 /* Accessor methods to globals.
    1086    These are made visible to non-reentrant scanners for convenience. */
    1087 
    1088 int yylex_destroy (void );
    1089 
    1090 int yyget_debug (void );
    1091 
    1092 void yyset_debug (int debug_flag  );
    1093 
    1094 YY_EXTRA_TYPE yyget_extra (void );
    1095 
    1096 void yyset_extra (YY_EXTRA_TYPE user_defined  );
    1097 
    1098 FILE *yyget_in (void );
    1099 
    1100 void yyset_in  (FILE * in_str  );
    1101 
    1102 FILE *yyget_out (void );
    1103 
    1104 void yyset_out  (FILE * out_str  );
    1105 
    1106 yy_size_t yyget_leng (void );
    1107 
    1108 char *yyget_text (void );
    1109 
    1110 int yyget_lineno (void );
    1111 
    1112 void yyset_lineno (int line_number  );
     962#line 963 "dt_lex.c"
    1113963
    1114964/* Macros after this point can all be overridden by user definitions in
     
    1118968#ifndef YY_SKIP_YYWRAP
    1119969#ifdef __cplusplus
    1120 extern "C" int yywrap (void );
    1121 #else
    1122 extern int yywrap (void );
    1123 #endif
    1124 #endif
    1125 
    1126     static void yyunput (int c,char *buf_ptr  );
    1127    
     970extern "C" int yywrap YY_PROTO(( void ));
     971#else
     972extern int yywrap YY_PROTO(( void ));
     973#endif
     974#endif
     975
     976#ifndef YY_NO_UNPUT
     977static void yyunput YY_PROTO(( int c, char *buf_ptr ));
     978#endif
     979
    1128980#ifndef yytext_ptr
    1129 static void yy_flex_strncpy (char *,yyconst char *,int );
     981static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
    1130982#endif
    1131983
    1132984#ifdef YY_NEED_STRLEN
    1133 static int yy_flex_strlen (yyconst char * );
     985static int yy_flex_strlen YY_PROTO(( yyconst char * ));
    1134986#endif
    1135987
    1136988#ifndef YY_NO_INPUT
    1137 
    1138989#ifdef __cplusplus
    1139 static int yyinput (void );
    1140 #else
    1141 static int input (void );
    1142 #endif
    1143 
     990static int yyinput YY_PROTO(( void ));
     991#else
     992static int input YY_PROTO(( void ));
     993#endif
     994#endif
     995
     996#if YY_STACK_USED
     997static int yy_start_stack_ptr = 0;
     998static int yy_start_stack_depth = 0;
     999static int *yy_start_stack = 0;
     1000#ifndef YY_NO_PUSH_STATE
     1001static void yy_push_state YY_PROTO(( int new_state ));
     1002#endif
     1003#ifndef YY_NO_POP_STATE
     1004static void yy_pop_state YY_PROTO(( void ));
     1005#endif
     1006#ifndef YY_NO_TOP_STATE
     1007static int yy_top_state YY_PROTO(( void ));
     1008#endif
     1009
     1010#else
     1011#define YY_NO_PUSH_STATE 1
     1012#define YY_NO_POP_STATE 1
     1013#define YY_NO_TOP_STATE 1
     1014#endif
     1015
     1016#ifdef YY_MALLOC_DECL
     1017YY_MALLOC_DECL
     1018#else
     1019#if __STDC__
     1020#ifndef __cplusplus
     1021#include <stdlib.h>
     1022#endif
     1023#else
     1024/* Just try to get by without declaring the routines.  This will fail
     1025 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
     1026 * or sizeof(void*) != sizeof(int).
     1027 */
     1028#endif
    11441029#endif
    11451030
     
    11501035
    11511036/* Copy whatever the last rule matched to the standard output. */
     1037
    11521038#ifndef ECHO
    11531039/* This used to be an fputs(), but since the string might contain NUL's,
    11541040 * we now use fwrite().
    11551041 */
    1156 #define ECHO fwrite( yytext, yyleng, 1, yyout )
     1042#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
    11571043#endif
    11581044
     
    11621048#ifndef YY_INPUT
    11631049#define YY_INPUT(buf,result,max_size) \
    1164         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
     1050        if ( yy_current_buffer->yy_is_interactive ) \
    11651051                { \
    1166                 int c = '*'; \
    1167                 yy_size_t n; \
     1052                int c = '*', n; \
    11681053                for ( n = 0; n < max_size && \
    11691054                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
     
    11751060                result = n; \
    11761061                } \
    1177         else \
    1178                 { \
    1179                 errno=0; \
    1180                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
    1181                         { \
    1182                         if( errno != EINTR) \
    1183                                 { \
    1184                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
    1185                                 break; \
    1186                                 } \
    1187                         errno=0; \
    1188                         clearerr(yyin); \
    1189                         } \
    1190                 }\
    1191 \
    1192 
     1062        else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
     1063                  && ferror( yyin ) ) \
     1064                YY_FATAL_ERROR( "input in flex scanner failed" );
    11931065#endif
    11941066
     
    12111083#endif
    12121084
    1213 /* end tables serialization structures and prototypes */
    1214 
    12151085/* Default declaration of generated scanner - a define so the user can
    12161086 * easily add parameters.
    12171087 */
    12181088#ifndef YY_DECL
    1219 #define YY_DECL_IS_OURS 1
    1220 
    1221 extern int yylex (void);
    1222 
    1223 #define YY_DECL int yylex (void)
    1224 #endif /* !YY_DECL */
     1089#define YY_DECL int yylex YY_PROTO(( void ))
     1090#endif
    12251091
    12261092/* Code executed at the beginning of each rule, after yytext and yyleng
     
    12381104#define YY_RULE_SETUP \
    12391105        if ( yyleng > 0 ) \
    1240                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
     1106                yy_current_buffer->yy_at_bol = \
    12411107                                (yytext[yyleng - 1] == '\n'); \
    12421108        YY_USER_ACTION
    12431109
    1244 /** The main scanner function which does all the work.
    1245  */
    12461110YY_DECL
    1247 {
     1111        {
    12481112        register yy_state_type yy_current_state;
    12491113        register char *yy_cp, *yy_bp;
    12501114        register int yy_act;
    1251    
    1252 #line 124 "dt_lex.l"
     1115
     1116#line 127 "dt_lex.l"
    12531117
    12541118
     
    12701134
    12711135
    1272 #line 1273 "dt_lex.c"
    1273 
    1274         if ( !(yy_init) )
     1136#line 1137 "dt_lex.c"
     1137
     1138        if ( yy_init )
    12751139                {
    1276                 (yy_init) = 1;
     1140                yy_init = 0;
    12771141
    12781142#ifdef YY_USER_INIT
     
    12801144#endif
    12811145
    1282         /* Create the reject buffer large enough to save one state per allowed character. */
    1283         if ( ! (yy_state_buf) )
    1284             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
    1285             if ( ! (yy_state_buf) )
    1286                 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
    1287 
    1288                 if ( ! (yy_start) )
    1289                         (yy_start) = 1; /* first start state */
     1146                if ( ! yy_start )
     1147                        yy_start = 1;   /* first start state */
    12901148
    12911149                if ( ! yyin )
     
    12951153                        yyout = stdout;
    12961154
    1297                 if ( ! YY_CURRENT_BUFFER ) {
    1298                         yyensure_buffer_stack ();
    1299                         YY_CURRENT_BUFFER_LVALUE =
    1300                                 yy_create_buffer(yyin,YY_BUF_SIZE );
    1301                 }
    1302 
    1303                 yy_load_buffer_state( );
     1155                if ( ! yy_current_buffer )
     1156                        yy_current_buffer =
     1157                                yy_create_buffer( yyin, YY_BUF_SIZE );
     1158
     1159                yy_load_buffer_state();
    13041160                }
    13051161
    13061162        while ( 1 )             /* loops until end-of-file is reached */
    13071163                {
    1308                 yy_cp = (yy_c_buf_p);
     1164                yy_cp = yy_c_buf_p;
    13091165
    13101166                /* Support of yytext. */
    1311                 *yy_cp = (yy_hold_char);
     1167                *yy_cp = yy_hold_char;
    13121168
    13131169                /* yy_bp points to the position in yy_ch_buf of the start of
     
    13161172                yy_bp = yy_cp;
    13171173
    1318                 yy_current_state = (yy_start);
     1174                yy_current_state = yy_start;
    13191175                yy_current_state += YY_AT_BOL();
    1320 
    1321                 (yy_state_ptr) = (yy_state_buf);
    1322                 *(yy_state_ptr)++ = yy_current_state;
    1323 
     1176                yy_state_ptr = yy_state_buf;
     1177                *yy_state_ptr++ = yy_current_state;
    13241178yy_match:
    13251179                do
     
    13331187                                }
    13341188                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    1335                         *(yy_state_ptr)++ = yy_current_state;
     1189                        *yy_state_ptr++ = yy_current_state;
    13361190                        ++yy_cp;
    13371191                        }
     
    13391193
    13401194yy_find_action:
    1341                 yy_current_state = *--(yy_state_ptr);
    1342                 (yy_lp) = yy_accept[yy_current_state];
    1343 goto find_rule; /* Shut up GCC warning -Wall */
     1195                yy_current_state = *--yy_state_ptr;
     1196                yy_lp = yy_accept[yy_current_state];
    13441197find_rule: /* we branch to this label when backing up */
    13451198                for ( ; ; ) /* until we find what rule we matched */
    13461199                        {
    1347                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
     1200                        if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
    13481201                                {
    1349                                 yy_act = yy_acclist[(yy_lp)];
     1202                                yy_act = yy_acclist[yy_lp];
    13501203                                if ( yy_act & YY_TRAILING_HEAD_MASK ||
    1351                                      (yy_looking_for_trail_begin) )
     1204                                     yy_looking_for_trail_begin )
    13521205                                        {
    1353                                         if ( yy_act == (yy_looking_for_trail_begin) )
     1206                                        if ( yy_act == yy_looking_for_trail_begin )
    13541207                                                {
    1355                                                 (yy_looking_for_trail_begin) = 0;
     1208                                                yy_looking_for_trail_begin = 0;
    13561209                                                yy_act &= ~YY_TRAILING_HEAD_MASK;
    13571210                                                break;
     
    13601213                                else if ( yy_act & YY_TRAILING_MASK )
    13611214                                        {
    1362                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
    1363                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
    1364                                         (yy_full_match) = yy_cp;
    1365                                         (yy_full_state) = (yy_state_ptr);
    1366                                         (yy_full_lp) = (yy_lp);
     1215                                        yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
     1216                                        yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
     1217                                        yy_full_match = yy_cp;
     1218                                        yy_full_state = yy_state_ptr;
     1219                                        yy_full_lp = yy_lp;
    13671220                                        }
    13681221                                else
    13691222                                        {
    1370                                         (yy_full_match) = yy_cp;
    1371                                         (yy_full_state) = (yy_state_ptr);
    1372                                         (yy_full_lp) = (yy_lp);
     1223                                        yy_full_match = yy_cp;
     1224                                        yy_full_state = yy_state_ptr;
     1225                                        yy_full_lp = yy_lp;
    13731226                                        break;
    13741227                                        }
    1375                                 ++(yy_lp);
     1228                                ++yy_lp;
    13761229                                goto find_rule;
    13771230                                }
    13781231                        --yy_cp;
    1379                         yy_current_state = *--(yy_state_ptr);
    1380                         (yy_lp) = yy_accept[yy_current_state];
     1232                        yy_current_state = *--yy_state_ptr;
     1233                        yy_lp = yy_accept[yy_current_state];
    13811234                        }
    13821235
    13831236                YY_DO_BEFORE_ACTION;
    13841237
    1385                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
     1238                if ( yy_act != YY_END_OF_BUFFER )
    13861239                        {
    1387                         yy_size_t yyl;
    1388                         for ( yyl = (yy_prev_more_offset); yyl < yyleng; ++yyl )
     1240                        int yyl;
     1241                        for ( yyl = 0; yyl < yyleng; ++yyl )
    13891242                                if ( yytext[yyl] == '\n' )
    1390                                            
    1391     yylineno++;
    1392 ;
     1243                                        ++yylineno;
    13931244                        }
    13941245
    13951246do_action:      /* This label is used only to access EOF actions. */
     1247
    13961248
    13971249                switch ( yy_act )
     
    13991251case 1:
    14001252YY_RULE_SETUP
    1401 #line 143 "dt_lex.l"
     1253#line 146 "dt_lex.l"
    14021254return (DT_KEY_AUTO);
    14031255        YY_BREAK
    14041256case 2:
    14051257YY_RULE_SETUP
    1406 #line 144 "dt_lex.l"
     1258#line 147 "dt_lex.l"
    14071259return (DT_KEY_BREAK);
    14081260        YY_BREAK
    14091261case 3:
    14101262YY_RULE_SETUP
    1411 #line 145 "dt_lex.l"
     1263#line 148 "dt_lex.l"
    14121264return (DT_KEY_CASE);
    14131265        YY_BREAK
    14141266case 4:
    14151267YY_RULE_SETUP
    1416 #line 146 "dt_lex.l"
     1268#line 149 "dt_lex.l"
    14171269return (DT_KEY_CHAR);
    14181270        YY_BREAK
    14191271case 5:
    14201272YY_RULE_SETUP
    1421 #line 147 "dt_lex.l"
     1273#line 150 "dt_lex.l"
    14221274return (DT_KEY_CONST);
    14231275        YY_BREAK
    14241276case 6:
    14251277YY_RULE_SETUP
    1426 #line 148 "dt_lex.l"
     1278#line 151 "dt_lex.l"
    14271279return (DT_KEY_CONTINUE);
    14281280        YY_BREAK
    14291281case 7:
    14301282YY_RULE_SETUP
    1431 #line 149 "dt_lex.l"
     1283#line 152 "dt_lex.l"
    14321284return (DT_KEY_COUNTER);
    14331285        YY_BREAK
    14341286case 8:
    14351287YY_RULE_SETUP
    1436 #line 150 "dt_lex.l"
     1288#line 153 "dt_lex.l"
    14371289return (DT_KEY_DEFAULT);
    14381290        YY_BREAK
    14391291case 9:
    14401292YY_RULE_SETUP
    1441 #line 151 "dt_lex.l"
     1293#line 154 "dt_lex.l"
    14421294return (DT_KEY_DO);
    14431295        YY_BREAK
    14441296case 10:
    14451297YY_RULE_SETUP
    1446 #line 152 "dt_lex.l"
     1298#line 155 "dt_lex.l"
    14471299return (DT_KEY_DOUBLE);
    14481300        YY_BREAK
    14491301case 11:
    14501302YY_RULE_SETUP
    1451 #line 153 "dt_lex.l"
     1303#line 156 "dt_lex.l"
    14521304return (DT_KEY_ELSE);
    14531305        YY_BREAK
    14541306case 12:
    14551307YY_RULE_SETUP
    1456 #line 154 "dt_lex.l"
     1308#line 157 "dt_lex.l"
    14571309return (DT_KEY_ENUM);
    14581310        YY_BREAK
    14591311case 13:
    14601312YY_RULE_SETUP
    1461 #line 155 "dt_lex.l"
     1313#line 158 "dt_lex.l"
    14621314return (DT_KEY_EXTERN);
    14631315        YY_BREAK
    14641316case 14:
    14651317YY_RULE_SETUP
    1466 #line 156 "dt_lex.l"
     1318#line 159 "dt_lex.l"
    14671319return (DT_KEY_FLOAT);
    14681320        YY_BREAK
    14691321case 15:
    14701322YY_RULE_SETUP
    1471 #line 157 "dt_lex.l"
     1323#line 160 "dt_lex.l"
    14721324return (DT_KEY_FOR);
    14731325        YY_BREAK
    14741326case 16:
    14751327YY_RULE_SETUP
    1476 #line 158 "dt_lex.l"
     1328#line 161 "dt_lex.l"
    14771329return (DT_KEY_GOTO);
    14781330        YY_BREAK
    14791331case 17:
    14801332YY_RULE_SETUP
    1481 #line 159 "dt_lex.l"
     1333#line 162 "dt_lex.l"
    14821334return (DT_KEY_IF);
    14831335        YY_BREAK
    14841336case 18:
    14851337YY_RULE_SETUP
    1486 #line 160 "dt_lex.l"
     1338#line 163 "dt_lex.l"
    14871339return (DT_KEY_IMPORT);
    14881340        YY_BREAK
    14891341case 19:
    14901342YY_RULE_SETUP
    1491 #line 161 "dt_lex.l"
     1343#line 164 "dt_lex.l"
    14921344return (DT_KEY_INLINE);
    14931345        YY_BREAK
    14941346case 20:
    14951347YY_RULE_SETUP
    1496 #line 162 "dt_lex.l"
     1348#line 165 "dt_lex.l"
    14971349return (DT_KEY_INT);
    14981350        YY_BREAK
    14991351case 21:
    15001352YY_RULE_SETUP
    1501 #line 163 "dt_lex.l"
     1353#line 166 "dt_lex.l"
    15021354return (DT_KEY_LONG);
    15031355        YY_BREAK
    15041356case 22:
    15051357YY_RULE_SETUP
    1506 #line 164 "dt_lex.l"
     1358#line 167 "dt_lex.l"
    15071359return (DT_TOK_OFFSETOF);
    15081360        YY_BREAK
    15091361case 23:
    15101362YY_RULE_SETUP
    1511 #line 165 "dt_lex.l"
     1363#line 168 "dt_lex.l"
    15121364return (DT_KEY_PROBE);
    15131365        YY_BREAK
    15141366case 24:
    15151367YY_RULE_SETUP
    1516 #line 166 "dt_lex.l"
     1368#line 169 "dt_lex.l"
    15171369return (DT_KEY_PROVIDER);
    15181370        YY_BREAK
    15191371case 25:
    15201372YY_RULE_SETUP
    1521 #line 167 "dt_lex.l"
     1373#line 170 "dt_lex.l"
    15221374return (DT_KEY_REGISTER);
    15231375        YY_BREAK
    15241376case 26:
    15251377YY_RULE_SETUP
    1526 #line 168 "dt_lex.l"
     1378#line 171 "dt_lex.l"
    15271379return (DT_KEY_RESTRICT);
    15281380        YY_BREAK
    15291381case 27:
    15301382YY_RULE_SETUP
    1531 #line 169 "dt_lex.l"
     1383#line 172 "dt_lex.l"
    15321384return (DT_KEY_RETURN);
    15331385        YY_BREAK
    15341386case 28:
    15351387YY_RULE_SETUP
    1536 #line 170 "dt_lex.l"
     1388#line 173 "dt_lex.l"
    15371389return (DT_KEY_SELF);
    15381390        YY_BREAK
    15391391case 29:
    15401392YY_RULE_SETUP
    1541 #line 171 "dt_lex.l"
     1393#line 174 "dt_lex.l"
    15421394return (DT_KEY_SHORT);
    15431395        YY_BREAK
    15441396case 30:
    15451397YY_RULE_SETUP
    1546 #line 172 "dt_lex.l"
     1398#line 175 "dt_lex.l"
    15471399return (DT_KEY_SIGNED);
    15481400        YY_BREAK
    15491401case 31:
    15501402YY_RULE_SETUP
    1551 #line 173 "dt_lex.l"
     1403#line 176 "dt_lex.l"
    15521404return (DT_TOK_SIZEOF);
    15531405        YY_BREAK
    15541406case 32:
    15551407YY_RULE_SETUP
    1556 #line 174 "dt_lex.l"
     1408#line 177 "dt_lex.l"
    15571409return (DT_KEY_STATIC);
    15581410        YY_BREAK
    15591411case 33:
    15601412YY_RULE_SETUP
    1561 #line 175 "dt_lex.l"
     1413#line 178 "dt_lex.l"
    15621414return (DT_KEY_STRING);
    15631415        YY_BREAK
    15641416case 34:
    15651417YY_RULE_SETUP
    1566 #line 176 "dt_lex.l"
     1418#line 179 "dt_lex.l"
    15671419return (DT_TOK_STRINGOF);
    15681420        YY_BREAK
    15691421case 35:
    15701422YY_RULE_SETUP
    1571 #line 177 "dt_lex.l"
     1423#line 180 "dt_lex.l"
    15721424return (DT_KEY_STRUCT);
    15731425        YY_BREAK
    15741426case 36:
    15751427YY_RULE_SETUP
    1576 #line 178 "dt_lex.l"
     1428#line 181 "dt_lex.l"
    15771429return (DT_KEY_SWITCH);
    15781430        YY_BREAK
    15791431case 37:
    15801432YY_RULE_SETUP
    1581 #line 179 "dt_lex.l"
     1433#line 182 "dt_lex.l"
    15821434return (DT_KEY_THIS);
    15831435        YY_BREAK
    15841436case 38:
    15851437YY_RULE_SETUP
    1586 #line 180 "dt_lex.l"
     1438#line 183 "dt_lex.l"
    15871439return (DT_KEY_XLATOR);
    15881440        YY_BREAK
    15891441case 39:
    15901442YY_RULE_SETUP
    1591 #line 181 "dt_lex.l"
     1443#line 184 "dt_lex.l"
    15921444return (DT_KEY_TYPEDEF);
    15931445        YY_BREAK
    15941446case 40:
    15951447YY_RULE_SETUP
    1596 #line 182 "dt_lex.l"
     1448#line 185 "dt_lex.l"
    15971449return (DT_KEY_UNION);
    15981450        YY_BREAK
    15991451case 41:
    16001452YY_RULE_SETUP
    1601 #line 183 "dt_lex.l"
     1453#line 186 "dt_lex.l"
    16021454return (DT_KEY_UNSIGNED);
    16031455        YY_BREAK
    16041456case 42:
    16051457YY_RULE_SETUP
    1606 #line 184 "dt_lex.l"
     1458#line 187 "dt_lex.l"
    16071459return (DT_KEY_VOID);
    16081460        YY_BREAK
    16091461case 43:
    16101462YY_RULE_SETUP
    1611 #line 185 "dt_lex.l"
     1463#line 188 "dt_lex.l"
    16121464return (DT_KEY_VOLATILE);
    16131465        YY_BREAK
    16141466case 44:
    16151467YY_RULE_SETUP
    1616 #line 186 "dt_lex.l"
     1468#line 189 "dt_lex.l"
    16171469return (DT_KEY_WHILE);
    16181470        YY_BREAK
    16191471case 45:
    16201472YY_RULE_SETUP
    1621 #line 187 "dt_lex.l"
     1473#line 190 "dt_lex.l"
    16221474return (DT_TOK_XLATE);
    16231475        YY_BREAK
    16241476case 46:
    16251477YY_RULE_SETUP
    1626 #line 189 "dt_lex.l"
     1478#line 192 "dt_lex.l"
    16271479{ yybegin(YYS_EXPR);    return (DT_KEY_AUTO); }
    16281480        YY_BREAK
    16291481case 47:
    16301482YY_RULE_SETUP
    1631 #line 190 "dt_lex.l"
     1483#line 193 "dt_lex.l"
    16321484{ yybegin(YYS_EXPR);    return (DT_KEY_CHAR); }
    16331485        YY_BREAK
    16341486case 48:
    16351487YY_RULE_SETUP
    1636 #line 191 "dt_lex.l"
     1488#line 194 "dt_lex.l"
    16371489{ yybegin(YYS_EXPR);    return (DT_KEY_CONST); }
    16381490        YY_BREAK
    16391491case 49:
    16401492YY_RULE_SETUP
    1641 #line 192 "dt_lex.l"
     1493#line 195 "dt_lex.l"
    16421494{ yybegin(YYS_DEFINE);  return (DT_KEY_COUNTER); }
    16431495        YY_BREAK
    16441496case 50:
    16451497YY_RULE_SETUP
    1646 #line 193 "dt_lex.l"
     1498#line 196 "dt_lex.l"
    16471499{ yybegin(YYS_EXPR);    return (DT_KEY_DOUBLE); }
    16481500        YY_BREAK
    16491501case 51:
    16501502YY_RULE_SETUP
    1651 #line 194 "dt_lex.l"
     1503#line 197 "dt_lex.l"
    16521504{ yybegin(YYS_EXPR);    return (DT_KEY_ENUM); }
    16531505        YY_BREAK
    16541506case 52:
    16551507YY_RULE_SETUP
    1656 #line 195 "dt_lex.l"
     1508#line 198 "dt_lex.l"
    16571509{ yybegin(YYS_EXPR);    return (DT_KEY_EXTERN); }
    16581510        YY_BREAK
    16591511case 53:
    16601512YY_RULE_SETUP
    1661 #line 196 "dt_lex.l"
     1513#line 199 "dt_lex.l"
    16621514{ yybegin(YYS_EXPR);    return (DT_KEY_FLOAT); }
    16631515        YY_BREAK
    16641516case 54:
    16651517YY_RULE_SETUP
    1666 #line 197 "dt_lex.l"
     1518#line 200 "dt_lex.l"
    16671519{ yybegin(YYS_EXPR);    return (DT_KEY_IMPORT); }
    16681520        YY_BREAK
    16691521case 55:
    16701522YY_RULE_SETUP
    1671 #line 198 "dt_lex.l"
     1523#line 201 "dt_lex.l"
    16721524{ yybegin(YYS_DEFINE);  return (DT_KEY_INLINE); }
    16731525        YY_BREAK
    16741526case 56:
    16751527YY_RULE_SETUP
    1676 #line 199 "dt_lex.l"
     1528#line 202 "dt_lex.l"
    16771529{ yybegin(YYS_EXPR);    return (DT_KEY_INT); }
    16781530        YY_BREAK
    16791531case 57:
    16801532YY_RULE_SETUP
    1681 #line 200 "dt_lex.l"
     1533#line 203 "dt_lex.l"
    16821534{ yybegin(YYS_EXPR);    return (DT_KEY_LONG); }
    16831535        YY_BREAK
    16841536case 58:
    16851537YY_RULE_SETUP
    1686 #line 201 "dt_lex.l"
     1538#line 204 "dt_lex.l"
    16871539{ yybegin(YYS_DEFINE);  return (DT_KEY_PROVIDER); }
    16881540        YY_BREAK
    16891541case 59:
    16901542YY_RULE_SETUP
    1691 #line 202 "dt_lex.l"
     1543#line 205 "dt_lex.l"
    16921544{ yybegin(YYS_EXPR);    return (DT_KEY_REGISTER); }
    16931545        YY_BREAK
    16941546case 60:
    16951547YY_RULE_SETUP
    1696 #line 203 "dt_lex.l"
     1548#line 206 "dt_lex.l"
    16971549{ yybegin(YYS_EXPR);    return (DT_KEY_RESTRICT); }
    16981550        YY_BREAK
    16991551case 61:
    17001552YY_RULE_SETUP
    1701 #line 204 "dt_lex.l"
     1553#line 207 "dt_lex.l"
    17021554{ yybegin(YYS_EXPR);    return (DT_KEY_SELF); }
    17031555        YY_BREAK
    17041556case 62:
    17051557YY_RULE_SETUP
    1706 #line 205 "dt_lex.l"
     1558#line 208 "dt_lex.l"
    17071559{ yybegin(YYS_EXPR);    return (DT_KEY_SHORT); }
    17081560        YY_BREAK
    17091561case 63:
    17101562YY_RULE_SETUP
    1711 #line 206 "dt_lex.l"
     1563#line 209 "dt_lex.l"
    17121564{ yybegin(YYS_EXPR);    return (DT_KEY_SIGNED); }
    17131565        YY_BREAK
    17141566case 64:
    17151567YY_RULE_SETUP
    1716 #line 207 "dt_lex.l"
     1568#line 210 "dt_lex.l"
    17171569{ yybegin(YYS_EXPR);    return (DT_KEY_STATIC); }
    17181570        YY_BREAK
    17191571case 65:
    17201572YY_RULE_SETUP
    1721 #line 208 "dt_lex.l"
     1573#line 211 "dt_lex.l"
    17221574{ yybegin(YYS_EXPR);    return (DT_KEY_STRING); }
    17231575        YY_BREAK
    17241576case 66:
    17251577YY_RULE_SETUP
    1726 #line 209 "dt_lex.l"
     1578#line 212 "dt_lex.l"
    17271579{ yybegin(YYS_EXPR);    return (DT_KEY_STRUCT); }
    17281580        YY_BREAK
    17291581case 67:
    17301582YY_RULE_SETUP
    1731 #line 210 "dt_lex.l"
     1583#line 213 "dt_lex.l"
    17321584{ yybegin(YYS_EXPR);    return (DT_KEY_THIS); }
    17331585        YY_BREAK
    17341586case 68:
    17351587YY_RULE_SETUP
    1736 #line 211 "dt_lex.l"
     1588#line 214 "dt_lex.l"
    17371589{ yybegin(YYS_DEFINE);  return (DT_KEY_XLATOR); }
    17381590        YY_BREAK
    17391591case 69:
    17401592YY_RULE_SETUP
    1741 #line 212 "dt_lex.l"
     1593#line 215 "dt_lex.l"
    17421594{ yybegin(YYS_EXPR);    return (DT_KEY_TYPEDEF); }
    17431595        YY_BREAK
    17441596case 70:
    17451597YY_RULE_SETUP
    1746 #line 213 "dt_lex.l"
     1598#line 216 "dt_lex.l"
    17471599{ yybegin(YYS_EXPR);    return (DT_KEY_UNION); }
    17481600        YY_BREAK
    17491601case 71:
    17501602YY_RULE_SETUP
    1751 #line 214 "dt_lex.l"
     1603#line 217 "dt_lex.l"
    17521604{ yybegin(YYS_EXPR);    return (DT_KEY_UNSIGNED); }
    17531605        YY_BREAK
    17541606case 72:
    17551607YY_RULE_SETUP
    1756 #line 215 "dt_lex.l"
     1608#line 218 "dt_lex.l"
    17571609{ yybegin(YYS_EXPR);    return (DT_KEY_VOID); }
    17581610        YY_BREAK
    17591611case 73:
    17601612YY_RULE_SETUP
    1761 #line 216 "dt_lex.l"
     1613#line 219 "dt_lex.l"
    17621614{ yybegin(YYS_EXPR);    return (DT_KEY_VOLATILE); }
    17631615        YY_BREAK
    17641616case 74:
    17651617YY_RULE_SETUP
    1766 #line 218 "dt_lex.l"
     1618#line 221 "dt_lex.l"
    17671619{
    17681620                        int i = atoi(yytext + 2);
     
    17971649case 75:
    17981650YY_RULE_SETUP
    1799 #line 248 "dt_lex.l"
     1651#line 251 "dt_lex.l"
    18001652{
    18011653                        int i = atoi(yytext + 1);
     
    18811733case 76:
    18821734YY_RULE_SETUP
    1883 #line 329 "dt_lex.l"
     1735#line 332 "dt_lex.l"
    18841736{
    18851737                        dt_ident_t *idp = dt_idhash_lookup(
     
    19061758case 77:
    19071759YY_RULE_SETUP
    1908 #line 351 "dt_lex.l"
     1760#line 354 "dt_lex.l"
    19091761{
    19101762                        dt_ident_t *idp = dt_idhash_lookup(
     
    19301782case 78:
    19311783YY_RULE_SETUP
    1932 #line 372 "dt_lex.l"
     1784#line 375 "dt_lex.l"
    19331785{
    19341786                        return (id_or_type(yytext));
     
    19371789case 79:
    19381790YY_RULE_SETUP
    1939 #line 376 "dt_lex.l"
     1791#line 379 "dt_lex.l"
    19401792{
    19411793                        if ((yylval.l_str = strdup(yytext)) == NULL)
     
    19461798case 80:
    19471799YY_RULE_SETUP
    1948 #line 382 "dt_lex.l"
     1800#line 385 "dt_lex.l"
    19491801{
    19501802                        if ((yylval.l_str = strdup("@_")) == NULL)
     
    19541806        YY_BREAK
    19551807case 81:
    1956 #line 389 "dt_lex.l"
     1808#line 392 "dt_lex.l"
    19571809case 82:
    1958 #line 390 "dt_lex.l"
     1810#line 393 "dt_lex.l"
    19591811case 83:
    19601812YY_RULE_SETUP
    1961 #line 390 "dt_lex.l"
     1813#line 393 "dt_lex.l"
    19621814{
    19631815                        char *p;
     
    19951847case 84:
    19961848YY_RULE_SETUP
    1997 #line 423 "dt_lex.l"
     1849#line 426 "dt_lex.l"
    19981850yyerror("floating-point constants are not permitted\n");
    19991851        YY_BREAK
     
    20041856case 85:
    20051857YY_RULE_SETUP
    2006 #line 429 "dt_lex.l"
     1858#line 432 "dt_lex.l"
    20071859xyerror(D_STR_NL, "newline encountered in string literal");
    20081860        YY_BREAK
    20091861case 86:
    2010 #line 432 "dt_lex.l"
     1862#line 435 "dt_lex.l"
    20111863case 87:
    20121864YY_RULE_SETUP
    2013 #line 432 "dt_lex.l"
     1865#line 435 "dt_lex.l"
    20141866{
    20151867                        /*
     
    20321884case 88:
    20331885YY_RULE_SETUP
    2034 #line 450 "dt_lex.l"
     1886#line 453 "dt_lex.l"
    20351887xyerror(D_CHR_NL, "newline encountered in character constant");
    20361888        YY_BREAK
    20371889case 89:
    20381890YY_RULE_SETUP
    2039 #line 452 "dt_lex.l"
     1891#line 455 "dt_lex.l"
    20401892{
    20411893                        char *s, *p, *q;
     
    20731925        YY_BREAK
    20741926case 90:
    2075 #line 487 "dt_lex.l"
     1927#line 490 "dt_lex.l"
    20761928case 91:
    20771929YY_RULE_SETUP
    2078 #line 487 "dt_lex.l"
     1930#line 490 "dt_lex.l"
    20791931{
    20801932                        yypcb->pcb_cstate = (YYSTATE);
     
    20831935        YY_BREAK
    20841936case 92:
    2085 #line 493 "dt_lex.l"
     1937#line 496 "dt_lex.l"
    20861938case 93:
    20871939YY_RULE_SETUP
    2088 #line 493 "dt_lex.l"
     1940#line 496 "dt_lex.l"
    20891941;       /* discard any #! lines */
    20901942        YY_BREAK
    20911943case 94:
    2092 #line 496 "dt_lex.l"
     1944#line 499 "dt_lex.l"
    20931945case 95:
    2094 #line 497 "dt_lex.l"
     1946#line 500 "dt_lex.l"
    20951947case 96:
    20961948YY_RULE_SETUP
    2097 #line 497 "dt_lex.l"
     1949#line 500 "dt_lex.l"
    20981950{
    20991951                        assert(yypragma == NULL);
     
    21041956case 97:
    21051957YY_RULE_SETUP
    2106 #line 503 "dt_lex.l"
     1958#line 506 "dt_lex.l"
    21071959;       /* discard */
    21081960        YY_BREAK
    21091961case 98:
    2110 /* rule 98 can match eol */
    2111 YY_RULE_SETUP
    2112 #line 504 "dt_lex.l"
     1962YY_RULE_SETUP
     1963#line 507 "dt_lex.l"
    21131964;       /* discard */
    21141965        YY_BREAK
    21151966case 99:
    21161967YY_RULE_SETUP
    2117 #line 506 "dt_lex.l"
     1968#line 509 "dt_lex.l"
    21181969{
    21191970                        int c, tok;
     
    21522003case 100:
    21532004YY_RULE_SETUP
    2154 #line 540 "dt_lex.l"
     2005#line 543 "dt_lex.l"
    21552006{
    21562007                        yypcb->pcb_parens++;
     
    21602011case 101:
    21612012YY_RULE_SETUP
    2162 #line 545 "dt_lex.l"
     2013#line 548 "dt_lex.l"
    21632014{
    21642015                        if (--yypcb->pcb_parens < 0)
     
    21692020case 102:
    21702021YY_RULE_SETUP
    2171 #line 551 "dt_lex.l"
     2022#line 554 "dt_lex.l"
    21722023{
    21732024                        yypcb->pcb_brackets++;
     
    21772028case 103:
    21782029YY_RULE_SETUP
    2179 #line 556 "dt_lex.l"
     2030#line 559 "dt_lex.l"
    21802031{
    21812032                        if (--yypcb->pcb_brackets < 0)
     
    21852036        YY_BREAK
    21862037case 104:
    2187 #line 563 "dt_lex.l"
     2038#line 566 "dt_lex.l"
    21882039case 105:
    21892040YY_RULE_SETUP
    2190 #line 563 "dt_lex.l"
     2041#line 566 "dt_lex.l"
    21912042{
    21922043                        yypcb->pcb_braces++;
     
    21962047case 106:
    21972048YY_RULE_SETUP
    2198 #line 568 "dt_lex.l"
     2049#line 571 "dt_lex.l"
    21992050{
    22002051                        if (--yypcb->pcb_braces < 0)
     
    22052056case 107:
    22062057YY_RULE_SETUP
    2207 #line 574 "dt_lex.l"
     2058#line 577 "dt_lex.l"
    22082059return (DT_TOK_BOR);
    22092060        YY_BREAK
    22102061case 108:
    22112062YY_RULE_SETUP
    2212 #line 575 "dt_lex.l"
     2063#line 578 "dt_lex.l"
    22132064return (DT_TOK_XOR);
    22142065        YY_BREAK
    22152066case 109:
    22162067YY_RULE_SETUP
    2217 #line 576 "dt_lex.l"
     2068#line 579 "dt_lex.l"
    22182069return (DT_TOK_BAND);
    22192070        YY_BREAK
    22202071case 110:
    22212072YY_RULE_SETUP
    2222 #line 577 "dt_lex.l"
     2073#line 580 "dt_lex.l"
    22232074return (DT_TOK_LAND);
    22242075        YY_BREAK
    22252076case 111:
    22262077YY_RULE_SETUP
    2227 #line 578 "dt_lex.l"
     2078#line 581 "dt_lex.l"
    22282079return (DT_TOK_LXOR);
    22292080        YY_BREAK
    22302081case 112:
    22312082YY_RULE_SETUP
    2232 #line 579 "dt_lex.l"
     2083#line 582 "dt_lex.l"
    22332084return (DT_TOK_LOR);
    22342085        YY_BREAK
    22352086case 113:
    22362087YY_RULE_SETUP
    2237 #line 580 "dt_lex.l"
     2088#line 583 "dt_lex.l"
    22382089return (DT_TOK_EQU);
    22392090        YY_BREAK
    22402091case 114:
    22412092YY_RULE_SETUP
    2242 #line 581 "dt_lex.l"
     2093#line 584 "dt_lex.l"
    22432094return (DT_TOK_NEQ);
    22442095        YY_BREAK
    22452096case 115:
    22462097YY_RULE_SETUP
    2247 #line 582 "dt_lex.l"
     2098#line 585 "dt_lex.l"
    22482099return (DT_TOK_LT);
    22492100        YY_BREAK
    22502101case 116:
    22512102YY_RULE_SETUP
    2252 #line 583 "dt_lex.l"
     2103#line 586 "dt_lex.l"
    22532104return (DT_TOK_LE);
    22542105        YY_BREAK
    22552106case 117:
    22562107YY_RULE_SETUP
    2257 #line 584 "dt_lex.l"
     2108#line 587 "dt_lex.l"
    22582109return (DT_TOK_GT);
    22592110        YY_BREAK
    22602111case 118:
    22612112YY_RULE_SETUP
    2262 #line 585 "dt_lex.l"
     2113#line 588 "dt_lex.l"
    22632114return (DT_TOK_GE);
    22642115        YY_BREAK
    22652116case 119:
    22662117YY_RULE_SETUP
    2267 #line 586 "dt_lex.l"
     2118#line 589 "dt_lex.l"
    22682119return (DT_TOK_LSH);
    22692120        YY_BREAK
    22702121case 120:
    22712122YY_RULE_SETUP
    2272 #line 587 "dt_lex.l"
     2123#line 590 "dt_lex.l"
    22732124return (DT_TOK_RSH);
    22742125        YY_BREAK
    22752126case 121:
    22762127YY_RULE_SETUP
    2277 #line 588 "dt_lex.l"
     2128#line 591 "dt_lex.l"
    22782129return (DT_TOK_ADD);
    22792130        YY_BREAK
    22802131case 122:
    22812132YY_RULE_SETUP
    2282 #line 589 "dt_lex.l"
     2133#line 592 "dt_lex.l"
    22832134return (DT_TOK_SUB);
    22842135        YY_BREAK
    22852136case 123:
    22862137YY_RULE_SETUP
    2287 #line 590 "dt_lex.l"
     2138#line 593 "dt_lex.l"
    22882139return (DT_TOK_MUL);
    22892140        YY_BREAK
    22902141case 124:
    22912142YY_RULE_SETUP
    2292 #line 591 "dt_lex.l"
     2143#line 594 "dt_lex.l"
    22932144return (DT_TOK_MOD);
    22942145        YY_BREAK
    22952146case 125:
    22962147YY_RULE_SETUP
    2297 #line 592 "dt_lex.l"
     2148#line 595 "dt_lex.l"
    22982149return (DT_TOK_BNEG);
    22992150        YY_BREAK
    23002151case 126:
    23012152YY_RULE_SETUP
    2302 #line 593 "dt_lex.l"
     2153#line 596 "dt_lex.l"
    23032154return (DT_TOK_LNEG);
    23042155        YY_BREAK
    23052156case 127:
    23062157YY_RULE_SETUP
    2307 #line 594 "dt_lex.l"
     2158#line 597 "dt_lex.l"
    23082159return (DT_TOK_QUESTION);
    23092160        YY_BREAK
    23102161case 128:
    23112162YY_RULE_SETUP
    2312 #line 595 "dt_lex.l"
     2163#line 598 "dt_lex.l"
    23132164return (DT_TOK_COLON);
    23142165        YY_BREAK
    23152166case 129:
    23162167YY_RULE_SETUP
    2317 #line 596 "dt_lex.l"
     2168#line 599 "dt_lex.l"
    23182169return (DT_TOK_DOT);
    23192170        YY_BREAK
    23202171case 130:
    23212172YY_RULE_SETUP
    2322 #line 597 "dt_lex.l"
     2173#line 600 "dt_lex.l"
    23232174return (DT_TOK_PTR);
    23242175        YY_BREAK
    23252176case 131:
    23262177YY_RULE_SETUP
    2327 #line 598 "dt_lex.l"
     2178#line 601 "dt_lex.l"
    23282179return (DT_TOK_ASGN);
    23292180        YY_BREAK
    23302181case 132:
    23312182YY_RULE_SETUP
    2332 #line 599 "dt_lex.l"
     2183#line 602 "dt_lex.l"
    23332184return (DT_TOK_ADD_EQ);
    23342185        YY_BREAK
    23352186case 133:
    23362187YY_RULE_SETUP
    2337 #line 600 "dt_lex.l"
     2188#line 603 "dt_lex.l"
    23382189return (DT_TOK_SUB_EQ);
    23392190        YY_BREAK
    23402191case 134:
    23412192YY_RULE_SETUP
    2342 #line 601 "dt_lex.l"
     2193#line 604 "dt_lex.l"
    23432194return (DT_TOK_MUL_EQ);
    23442195        YY_BREAK
    23452196case 135:
    23462197YY_RULE_SETUP
    2347 #line 602 "dt_lex.l"
     2198#line 605 "dt_lex.l"
    23482199return (DT_TOK_DIV_EQ);
    23492200        YY_BREAK
    23502201case 136:
    23512202YY_RULE_SETUP
    2352 #line 603 "dt_lex.l"
     2203#line 606 "dt_lex.l"
    23532204return (DT_TOK_MOD_EQ);
    23542205        YY_BREAK
    23552206case 137:
    23562207YY_RULE_SETUP
    2357 #line 604 "dt_lex.l"
     2208#line 607 "dt_lex.l"
    23582209return (DT_TOK_AND_EQ);
    23592210        YY_BREAK
    23602211case 138:
    23612212YY_RULE_SETUP
    2362 #line 605 "dt_lex.l"
     2213#line 608 "dt_lex.l"
    23632214return (DT_TOK_XOR_EQ);
    23642215        YY_BREAK
    23652216case 139:
    23662217YY_RULE_SETUP
    2367 #line 606 "dt_lex.l"
     2218#line 609 "dt_lex.l"
    23682219return (DT_TOK_OR_EQ);
    23692220        YY_BREAK
    23702221case 140:
    23712222YY_RULE_SETUP
    2372 #line 607 "dt_lex.l"
     2223#line 610 "dt_lex.l"
    23732224return (DT_TOK_LSH_EQ);
    23742225        YY_BREAK
    23752226case 141:
    23762227YY_RULE_SETUP
    2377 #line 608 "dt_lex.l"
     2228#line 611 "dt_lex.l"
    23782229return (DT_TOK_RSH_EQ);
    23792230        YY_BREAK
    23802231case 142:
    23812232YY_RULE_SETUP
    2382 #line 609 "dt_lex.l"
     2233#line 612 "dt_lex.l"
    23832234return (DT_TOK_ADDADD);
    23842235        YY_BREAK
    23852236case 143:
    23862237YY_RULE_SETUP
    2387 #line 610 "dt_lex.l"
     2238#line 613 "dt_lex.l"
    23882239return (DT_TOK_SUBSUB);
    23892240        YY_BREAK
    23902241case 144:
    23912242YY_RULE_SETUP
    2392 #line 611 "dt_lex.l"
     2243#line 614 "dt_lex.l"
    23932244return (DT_TOK_ELLIPSIS);
    23942245        YY_BREAK
    23952246case 145:
    23962247YY_RULE_SETUP
    2397 #line 612 "dt_lex.l"
     2248#line 615 "dt_lex.l"
    23982249return (DT_TOK_COMMA);
    23992250        YY_BREAK
    24002251case 146:
    24012252YY_RULE_SETUP
    2402 #line 613 "dt_lex.l"
     2253#line 616 "dt_lex.l"
    24032254return (';');
    24042255        YY_BREAK
    24052256case 147:
    2406 /* rule 147 can match eol */
    2407 YY_RULE_SETUP
    2408 #line 614 "dt_lex.l"
     2257YY_RULE_SETUP
     2258#line 617 "dt_lex.l"
    24092259; /* discard */
    24102260        YY_BREAK
    24112261case 148:
    2412 /* rule 148 can match eol */
    2413 YY_RULE_SETUP
    2414 #line 615 "dt_lex.l"
     2262YY_RULE_SETUP
     2263#line 618 "dt_lex.l"
    24152264; /* discard */
    24162265        YY_BREAK
    24172266case 149:
    24182267YY_RULE_SETUP
    2419 #line 616 "dt_lex.l"
     2268#line 619 "dt_lex.l"
    24202269yyerror("syntax error near \"%c\"\n", yytext[0]);
    24212270        YY_BREAK
    24222271case 150:
    24232272YY_RULE_SETUP
    2424 #line 618 "dt_lex.l"
     2273#line 621 "dt_lex.l"
    24252274yyerror("/* encountered inside a comment\n");
    24262275        YY_BREAK
    24272276case 151:
    24282277YY_RULE_SETUP
    2429 #line 619 "dt_lex.l"
     2278#line 622 "dt_lex.l"
    24302279BEGIN(yypcb->pcb_cstate);
    24312280        YY_BREAK
    24322281/* VBOX - START */
    24332282case YY_STATE_EOF(S1):
    2434 #line 621 "dt_lex.l"
     2283#line 624 "dt_lex.l"
    24352284yyerror("end-of-file encountered before matching */\n");
    24362285        YY_BREAK
    24372286/* VBOX - END */
    24382287case 152:
    2439 /* rule 152 can match eol */
    2440 YY_RULE_SETUP
    2441 #line 623 "dt_lex.l"
     2288YY_RULE_SETUP
     2289#line 626 "dt_lex.l"
    24422290; /* discard */
    24432291        YY_BREAK
    24442292case 153:
    24452293YY_RULE_SETUP
    2446 #line 625 "dt_lex.l"
     2294#line 628 "dt_lex.l"
    24472295{
    24482296                        /*
     
    25002348case 154:
    25012349YY_RULE_SETUP
    2502 #line 678 "dt_lex.l"
     2350#line 681 "dt_lex.l"
    25032351return (DT_TOK_DIV);
    25042352        YY_BREAK
    25052353case 155:
    25062354YY_RULE_SETUP
    2507 #line 679 "dt_lex.l"
     2355#line 682 "dt_lex.l"
    25082356return (DT_TOK_COMMA);
    25092357        YY_BREAK
    25102358case 156:
    2511 /* rule 156 can match eol */
    2512 YY_RULE_SETUP
    2513 #line 681 "dt_lex.l"
     2359YY_RULE_SETUP
     2360#line 684 "dt_lex.l"
    25142361; /* discard */
    25152362        YY_BREAK
    25162363case 157:
    25172364YY_RULE_SETUP
    2518 #line 682 "dt_lex.l"
     2365#line 685 "dt_lex.l"
    25192366yyerror("syntax error near \"%c\"\n", yytext[0]);
    25202367        YY_BREAK
    25212368case 158:
    2522 /* rule 158 can match eol */
    2523 YY_RULE_SETUP
    2524 #line 684 "dt_lex.l"
     2369YY_RULE_SETUP
     2370#line 687 "dt_lex.l"
    25252371{
    25262372                        dt_pragma(yypragma);
     
    25312377case 159:
    25322378YY_RULE_SETUP
    2533 #line 690 "dt_lex.l"
     2379#line 693 "dt_lex.l"
    25342380; /* discard */
    25352381        YY_BREAK
    25362382case 160:
    25372383YY_RULE_SETUP
    2538 #line 692 "dt_lex.l"
     2384#line 695 "dt_lex.l"
    25392385{
    25402386                        dt_node_t *dnp;
     
    25582404/* VBOX - BEGIN */
    25592405case YY_STATE_EOF(S3):
    2560 #line 712 "dt_lex.l"
     2406#line 715 "dt_lex.l"
    25612407yyerror("end-of-file encountered before end of control line\n");
    25622408        YY_BREAK
     
    25642410case 161:
    25652411YY_RULE_SETUP
    2566 #line 714 "dt_lex.l"
     2412#line 717 "dt_lex.l"
    25672413yyerror("syntax error near \"%c\"\n", yytext[0]);
    25682414        YY_BREAK
    25692415case 162:
    25702416YY_RULE_SETUP
    2571 #line 716 "dt_lex.l"
     2417#line 719 "dt_lex.l"
    25722418ECHO;
    25732419        YY_BREAK
    2574 #line 2575 "dt_lex.c"
     2420#line 2421 "dt_lex.c"
    25752421                        case YY_STATE_EOF(INITIAL):
    25762422                        case YY_STATE_EOF(S0):
     
    25822428                {
    25832429                /* Amount of text matched not including the EOB char. */
    2584                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
     2430                int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
    25852431
    25862432                /* Undo the effects of YY_DO_BEFORE_ACTION. */
    2587                 *yy_cp = (yy_hold_char);
     2433                *yy_cp = yy_hold_char;
    25882434                YY_RESTORE_YY_MORE_OFFSET
    25892435
    2590                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
     2436                if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
    25912437                        {
    25922438                        /* We're scanning a new file or input source.  It's
     
    25942440                         * just pointed yyin at a new source and called
    25952441                         * yylex().  If so, then we have to assure
    2596                          * consistency between YY_CURRENT_BUFFER and our
     2442                         * consistency between yy_current_buffer and our
    25972443                         * globals.  Here is the right place to do so, because
    25982444                         * this is the first action (other than possibly a
    25992445                         * back-up) that will match for the new input source.
    26002446                         */
    2601                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    2602                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
    2603                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
     2447                        yy_n_chars = yy_current_buffer->yy_n_chars;
     2448                        yy_current_buffer->yy_input_file = yyin;
     2449                        yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
    26042450                        }
    26052451
     
    26112457                 * in input().
    26122458                 */
    2613                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
     2459                if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    26142460                        { /* This was really a NUL. */
    26152461                        yy_state_type yy_next_state;
    26162462
    2617                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
    2618 
    2619                         yy_current_state = yy_get_previous_state(  );
     2463                        yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
     2464
     2465                        yy_current_state = yy_get_previous_state();
    26202466
    26212467                        /* Okay, we're now positioned to make the NUL
     
    26302476                        yy_next_state = yy_try_NUL_trans( yy_current_state );
    26312477
    2632                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
     2478                        yy_bp = yytext_ptr + YY_MORE_ADJ;
    26332479
    26342480                        if ( yy_next_state )
    26352481                                {
    26362482                                /* Consume the NUL. */
    2637                                 yy_cp = ++(yy_c_buf_p);
     2483                                yy_cp = ++yy_c_buf_p;
    26382484                                yy_current_state = yy_next_state;
    26392485                                goto yy_match;
     
    26422488                        else
    26432489                                {
    2644                                 yy_cp = (yy_c_buf_p);
     2490                                yy_cp = yy_c_buf_p;
    26452491                                goto yy_find_action;
    26462492                                }
    26472493                        }
    26482494
    2649                 else switch ( yy_get_next_buffer(  ) )
     2495                else switch ( yy_get_next_buffer() )
    26502496                        {
    26512497                        case EOB_ACT_END_OF_FILE:
    26522498                                {
    2653                                 (yy_did_buffer_switch_on_eof) = 0;
    2654 
    2655                                 if ( yywrap( ) )
     2499                                yy_did_buffer_switch_on_eof = 0;
     2500
     2501                                if ( yywrap() )
    26562502                                        {
    26572503                                        /* Note: because we've taken care in
     
    26642510                                         * YY_NULL will get returned.
    26652511                                         */
    2666                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
     2512                                        yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
    26672513
    26682514                                        yy_act = YY_STATE_EOF(YY_START);
     
    26722518                                else
    26732519                                        {
    2674                                         if ( ! (yy_did_buffer_switch_on_eof) )
     2520                                        if ( ! yy_did_buffer_switch_on_eof )
    26752521                                                YY_NEW_FILE;
    26762522                                        }
     
    26792525
    26802526                        case EOB_ACT_CONTINUE_SCAN:
    2681                                 (yy_c_buf_p) =
    2682                                         (yytext_ptr) + yy_amount_of_matched_text;
    2683 
    2684                                 yy_current_state = yy_get_previous_state(  );
    2685 
    2686                                 yy_cp = (yy_c_buf_p);
    2687                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
     2527                                yy_c_buf_p =
     2528                                        yytext_ptr + yy_amount_of_matched_text;
     2529
     2530                                yy_current_state = yy_get_previous_state();
     2531
     2532                                yy_cp = yy_c_buf_p;
     2533                                yy_bp = yytext_ptr + YY_MORE_ADJ;
    26882534                                goto yy_match;
    26892535
    26902536                        case EOB_ACT_LAST_MATCH:
    2691                                 (yy_c_buf_p) =
    2692                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
    2693 
    2694                                 yy_current_state = yy_get_previous_state(  );
    2695 
    2696                                 yy_cp = (yy_c_buf_p);
    2697                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
     2537                                yy_c_buf_p =
     2538                                &yy_current_buffer->yy_ch_buf[yy_n_chars];
     2539
     2540                                yy_current_state = yy_get_previous_state();
     2541
     2542                                yy_cp = yy_c_buf_p;
     2543                                yy_bp = yytext_ptr + YY_MORE_ADJ;
    26982544                                goto yy_find_action;
    26992545                        }
     
    27062552        } /* end of action switch */
    27072553                } /* end of scanning one token */
    2708 } /* end of yylex */
     2554        } /* end of yylex */
     2555
    27092556
    27102557/* yy_get_next_buffer - try to read in a new buffer
     
    27152562 *      EOB_ACT_END_OF_FILE - end of file
    27162563 */
    2717 static int yy_get_next_buffer (void)
    2718 {
    2719         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
    2720         register char *source = (yytext_ptr);
     2564
     2565static int yy_get_next_buffer()
     2566        {
     2567        register char *dest = yy_current_buffer->yy_ch_buf;
     2568        register char *source = yytext_ptr;
    27212569        register int number_to_move, i;
    27222570        int ret_val;
    27232571
    2724         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
     2572        if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
    27252573                YY_FATAL_ERROR(
    27262574                "fatal flex scanner internal error--end of buffer missed" );
    27272575
    2728         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
     2576        if ( yy_current_buffer->yy_fill_buffer == 0 )
    27292577                { /* Don't try to fill the buffer, so this is an EOF. */
    2730                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
     2578                if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
    27312579                        {
    27322580                        /* We matched a single character, the EOB, so
     
    27482596
    27492597        /* First move last chars to start of buffer. */
    2750         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
     2598        number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
    27512599
    27522600        for ( i = 0; i < number_to_move; ++i )
    27532601                *(dest++) = *(source++);
    27542602
    2755         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
     2603        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    27562604                /* don't do the read, it's not guaranteed to return an EOF,
    27572605                 * just force an EOF
    27582606                 */
    2759                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
     2607                yy_current_buffer->yy_n_chars = yy_n_chars = 0;
    27602608
    27612609        else
    27622610                {
    2763                         yy_size_t num_to_read =
    2764                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
     2611                int num_to_read =
     2612                        yy_current_buffer->yy_buf_size - number_to_move - 1;
    27652613
    27662614                while ( num_to_read <= 0 )
    27672615                        { /* Not enough room in the buffer - grow it. */
    2768 
     2616#ifdef YY_USES_REJECT
    27692617                        YY_FATAL_ERROR(
    27702618"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
    2771 
     2619#else
     2620
     2621                        /* just a shorter name for the current buffer */
     2622                        YY_BUFFER_STATE b = yy_current_buffer;
     2623
     2624                        int yy_c_buf_p_offset =
     2625                                (int) (yy_c_buf_p - b->yy_ch_buf);
     2626
     2627                        if ( b->yy_is_our_buffer )
     2628                                {
     2629                                int new_size = b->yy_buf_size * 2;
     2630
     2631                                if ( new_size <= 0 )
     2632                                        b->yy_buf_size += b->yy_buf_size / 8;
     2633                                else
     2634                                        b->yy_buf_size *= 2;
     2635
     2636                                b->yy_ch_buf = (char *)
     2637                                        /* Include room in for 2 EOB chars. */
     2638                                        yy_flex_realloc( (void *) b->yy_ch_buf,
     2639                                                         b->yy_buf_size + 2 );
     2640                                }
     2641                        else
     2642                                /* Can't grow it, we don't own it. */
     2643                                b->yy_ch_buf = 0;
     2644
     2645                        if ( ! b->yy_ch_buf )
     2646                                YY_FATAL_ERROR(
     2647                                "fatal error - scanner input buffer overflow" );
     2648
     2649                        yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
     2650
     2651                        num_to_read = yy_current_buffer->yy_buf_size -
     2652                                                number_to_move - 1;
     2653#endif
    27722654                        }
    27732655
     
    27762658
    27772659                /* Read in more data. */
    2778                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
    2779                         (yy_n_chars), num_to_read );
    2780 
    2781                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
     2660                YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
     2661                        yy_n_chars, num_to_read );
     2662
     2663                yy_current_buffer->yy_n_chars = yy_n_chars;
    27822664                }
    27832665
    2784         if ( (yy_n_chars) == 0 )
     2666        if ( yy_n_chars == 0 )
    27852667                {
    27862668                if ( number_to_move == YY_MORE_ADJ )
    27872669                        {
    27882670                        ret_val = EOB_ACT_END_OF_FILE;
    2789                         yyrestart(yyin );
     2671                        yyrestart( yyin );
    27902672                        }
    27912673
     
    27932675                        {
    27942676                        ret_val = EOB_ACT_LAST_MATCH;
    2795                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
     2677                        yy_current_buffer->yy_buffer_status =
    27962678                                YY_BUFFER_EOF_PENDING;
    27972679                        }
     
    28012683                ret_val = EOB_ACT_CONTINUE_SCAN;
    28022684
    2803         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
    2804                 /* Extend the array by 50%, plus the number we really need. */
    2805                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
    2806                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
    2807                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
    2808                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
     2685        yy_n_chars += number_to_move;
     2686        yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
     2687        yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
     2688
     2689        yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
     2690
     2691        return ret_val;
    28092692        }
    28102693
    2811         (yy_n_chars) += number_to_move;
    2812         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
    2813         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
    2814 
    2815         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
    2816 
    2817         return ret_val;
    2818 }
    28192694
    28202695/* yy_get_previous_state - get the state just before the EOB char was reached */
    28212696
    2822     static yy_state_type yy_get_previous_state (void)
    2823 {
     2697static yy_state_type yy_get_previous_state()
     2698        {
    28242699        register yy_state_type yy_current_state;
    28252700        register char *yy_cp;
    2826    
    2827         yy_current_state = (yy_start);
     2701
     2702        yy_current_state = yy_start;
    28282703        yy_current_state += YY_AT_BOL();
    2829 
    2830         (yy_state_ptr) = (yy_state_buf);
    2831         *(yy_state_ptr)++ = yy_current_state;
    2832 
    2833         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
     2704        yy_state_ptr = yy_state_buf;
     2705        *yy_state_ptr++ = yy_current_state;
     2706
     2707        for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
    28342708                {
    28352709                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
     
    28412715                        }
    28422716                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    2843                 *(yy_state_ptr)++ = yy_current_state;
     2717                *yy_state_ptr++ = yy_current_state;
    28442718                }
    28452719
    28462720        return yy_current_state;
    2847 }
     2721        }
     2722
    28482723
    28492724/* yy_try_NUL_trans - try to make a transition on the NUL character
     
    28522727 *      next_state = yy_try_NUL_trans( current_state );
    28532728 */
    2854     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
    2855 {
     2729
     2730#ifdef YY_USE_PROTOS
     2731static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
     2732#else
     2733static yy_state_type yy_try_NUL_trans( yy_current_state )
     2734yy_state_type yy_current_state;
     2735#endif
     2736        {
    28562737        register int yy_is_jam;
    2857    
     2738
    28582739        register YY_CHAR yy_c = 1;
    28592740        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
     
    28662747        yy_is_jam = (yy_current_state == 509);
    28672748        if ( ! yy_is_jam )
    2868                 *(yy_state_ptr)++ = yy_current_state;
     2749                *yy_state_ptr++ = yy_current_state;
    28692750
    28702751        return yy_is_jam ? 0 : yy_current_state;
    2871 }
    2872 
    2873     static void yyunput (int c, register char * yy_bp )
    2874 {
    2875         register char *yy_cp;
    2876    
    2877     yy_cp = (yy_c_buf_p);
     2752        }
     2753
     2754
     2755#ifndef YY_NO_UNPUT
     2756#ifdef YY_USE_PROTOS
     2757static void yyunput( int c, register char *yy_bp )
     2758#else
     2759static void yyunput( c, yy_bp )
     2760int c;
     2761register char *yy_bp;
     2762#endif
     2763        {
     2764        register char *yy_cp = yy_c_buf_p;
    28782765
    28792766        /* undo effects of setting up yytext */
    2880         *yy_cp = (yy_hold_char);
    2881 
    2882         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
     2767        *yy_cp = yy_hold_char;
     2768
     2769        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    28832770                { /* need to shift things up to make room */
    28842771                /* +2 for EOB chars. */
    2885                 register yy_size_t number_to_move = (yy_n_chars) + 2;
    2886                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
    2887                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
     2772                register int number_to_move = yy_n_chars + 2;
     2773                register char *dest = &yy_current_buffer->yy_ch_buf[
     2774                                        yy_current_buffer->yy_buf_size + 2];
    28882775                register char *source =
    2889                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
    2890 
    2891                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
     2776                                &yy_current_buffer->yy_ch_buf[number_to_move];
     2777
     2778                while ( source > yy_current_buffer->yy_ch_buf )
    28922779                        *--dest = *--source;
    28932780
    28942781                yy_cp += (int) (dest - source);
    28952782                yy_bp += (int) (dest - source);
    2896                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
    2897                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
    2898 
    2899                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
     2783                yy_current_buffer->yy_n_chars =
     2784                        yy_n_chars = yy_current_buffer->yy_buf_size;
     2785
     2786                if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    29002787                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
    29012788                }
     
    29032790        *--yy_cp = (char) c;
    29042791
    2905     if ( c == '\n' ){
    2906         --yylineno;
    2907     }
    2908 
    2909         (yytext_ptr) = yy_bp;
    2910         (yy_hold_char) = *yy_cp;
    2911         (yy_c_buf_p) = yy_cp;
    2912 }
    2913 
    2914 #ifndef YY_NO_INPUT
     2792        if ( c == '\n' )
     2793                --yylineno;
     2794
     2795        yytext_ptr = yy_bp;
     2796        yy_hold_char = *yy_cp;
     2797        yy_c_buf_p = yy_cp;
     2798        }
     2799#endif  /* ifndef YY_NO_UNPUT */
     2800
     2801
    29152802#ifdef __cplusplus
    2916     static int yyinput (void)
    2917 #else
    2918     static int input  (void)
    2919 #endif
    2920 
    2921 {
     2803static int yyinput()
     2804#else
     2805static int input()
     2806#endif
     2807        {
    29222808        int c;
    2923    
    2924         *(yy_c_buf_p) = (yy_hold_char);
    2925 
    2926         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
     2809
     2810        *yy_c_buf_p = yy_hold_char;
     2811
     2812        if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
    29272813                {
    29282814                /* yy_c_buf_p now points to the character we want to return.
     
    29302816                 * valid NUL; if not, then we've hit the end of the buffer.
    29312817                 */
    2932                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
     2818                if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    29332819                        /* This was really a NUL. */
    2934                         *(yy_c_buf_p) = '\0';
     2820                        *yy_c_buf_p = '\0';
    29352821
    29362822                else
    29372823                        { /* need more input */
    2938                         yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
    2939                         ++(yy_c_buf_p);
    2940 
    2941                         switch ( yy_get_next_buffer(  ) )
     2824                        int offset = yy_c_buf_p - yytext_ptr;
     2825                        ++yy_c_buf_p;
     2826
     2827                        switch ( yy_get_next_buffer() )
    29422828                                {
    29432829                                case EOB_ACT_LAST_MATCH:
     
    29532839
    29542840                                        /* Reset buffer status. */
    2955                                         yyrestart(yyin );
    2956 
    2957                                         /*FALLTHROUGH*/
     2841                                        yyrestart( yyin );
     2842
     2843                                        /* fall through */
    29582844
    29592845                                case EOB_ACT_END_OF_FILE:
    29602846                                        {
    2961                                         if ( yywrap( ) )
    2962                                                 return 0;
    2963 
    2964                                         if ( ! (yy_did_buffer_switch_on_eof) )
     2847                                        if ( yywrap() )
     2848                                                return EOF;
     2849
     2850                                        if ( ! yy_did_buffer_switch_on_eof )
    29652851                                                YY_NEW_FILE;
    29662852#ifdef __cplusplus
     
    29722858
    29732859                                case EOB_ACT_CONTINUE_SCAN:
    2974                                         (yy_c_buf_p) = (yytext_ptr) + offset;
     2860                                        yy_c_buf_p = yytext_ptr + offset;
    29752861                                        break;
    29762862                                }
     
    29782864                }
    29792865
    2980         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
    2981         *(yy_c_buf_p) = '\0';   /* preserve yytext */
    2982         (yy_hold_char) = *++(yy_c_buf_p);
    2983 
    2984         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
    2985         if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
    2986                    
    2987     yylineno++;
    2988 ;
     2866        c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
     2867        *yy_c_buf_p = '\0';     /* preserve yytext */
     2868        yy_hold_char = *++yy_c_buf_p;
     2869
     2870        yy_current_buffer->yy_at_bol = (c == '\n');
     2871        if ( yy_current_buffer->yy_at_bol )
     2872                ++yylineno;
    29892873
    29902874        return c;
    2991 }
    2992 #endif  /* ifndef YY_NO_INPUT */
    2993 
    2994 /** Immediately switch to a different input stream.
    2995  * @param input_file A readable stream.
    2996  *
    2997  * @note This function does not reset the start condition to @c INITIAL .
    2998  */
    2999     void yyrestart  (FILE * input_file )
    3000 {
    3001    
    3002         if ( ! YY_CURRENT_BUFFER ){
    3003         yyensure_buffer_stack ();
    3004                 YY_CURRENT_BUFFER_LVALUE =
    3005             yy_create_buffer(yyin,YY_BUF_SIZE );
    30062875        }
    30072876
    3008         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
    3009         yy_load_buffer_state( );
    3010 }
    3011 
    3012 /** Switch to a different input buffer.
    3013  * @param new_buffer The new input buffer.
    3014  *
    3015  */
    3016     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
    3017 {
    3018    
    3019         /* TODO. We should be able to replace this entire function body
    3020          * with
    3021          *              yypop_buffer_state();
    3022          *              yypush_buffer_state(new_buffer);
    3023      */
    3024         yyensure_buffer_stack ();
    3025         if ( YY_CURRENT_BUFFER == new_buffer )
     2877
     2878#ifdef YY_USE_PROTOS
     2879void yyrestart( FILE *input_file )
     2880#else
     2881void yyrestart( input_file )
     2882FILE *input_file;
     2883#endif
     2884        {
     2885        if ( ! yy_current_buffer )
     2886                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
     2887
     2888        yy_init_buffer( yy_current_buffer, input_file );
     2889        yy_load_buffer_state();
     2890        }
     2891
     2892
     2893#ifdef YY_USE_PROTOS
     2894void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
     2895#else
     2896void yy_switch_to_buffer( new_buffer )
     2897YY_BUFFER_STATE new_buffer;
     2898#endif
     2899        {
     2900        if ( yy_current_buffer == new_buffer )
    30262901                return;
    30272902
    3028         if ( YY_CURRENT_BUFFER )
     2903        if ( yy_current_buffer )
    30292904                {
    30302905                /* Flush out information for old buffer. */
    3031                 *(yy_c_buf_p) = (yy_hold_char);
    3032                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
    3033                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
     2906                *yy_c_buf_p = yy_hold_char;
     2907                yy_current_buffer->yy_buf_pos = yy_c_buf_p;
     2908                yy_current_buffer->yy_n_chars = yy_n_chars;
    30342909                }
    30352910
    3036         YY_CURRENT_BUFFER_LVALUE = new_buffer;
    3037         yy_load_buffer_state( );
     2911        yy_current_buffer = new_buffer;
     2912        yy_load_buffer_state();
    30382913
    30392914        /* We don't actually know whether we did this switch during
     
    30422917         * to go ahead and always set it.
    30432918         */
    3044         (yy_did_buffer_switch_on_eof) = 1;
    3045 }
    3046 
    3047 static void yy_load_buffer_state  (void)
    3048 {
    3049         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    3050         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
    3051         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
    3052         (yy_hold_char) = *(yy_c_buf_p);
    3053 }
    3054 
    3055 /** Allocate and initialize an input buffer state.
    3056  * @param file A readable stream.
    3057  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
    3058  *
    3059  * @return the allocated buffer state.
    3060  */
    3061     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
    3062 {
     2919        yy_did_buffer_switch_on_eof = 1;
     2920        }
     2921
     2922
     2923#ifdef YY_USE_PROTOS
     2924void yy_load_buffer_state( void )
     2925#else
     2926void yy_load_buffer_state()
     2927#endif
     2928        {
     2929        yy_n_chars = yy_current_buffer->yy_n_chars;
     2930        yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
     2931        yyin = yy_current_buffer->yy_input_file;
     2932        yy_hold_char = *yy_c_buf_p;
     2933        }
     2934
     2935
     2936#ifdef YY_USE_PROTOS
     2937YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
     2938#else
     2939YY_BUFFER_STATE yy_create_buffer( file, size )
     2940FILE *file;
     2941int size;
     2942#endif
     2943        {
    30632944        YY_BUFFER_STATE b;
    3064    
    3065         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
     2945
     2946        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    30662947        if ( ! b )
    30672948                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
     
    30722953         * we need to put in 2 end-of-buffer characters.
    30732954         */
    3074         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
     2955        b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
    30752956        if ( ! b->yy_ch_buf )
    30762957                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
     
    30782959        b->yy_is_our_buffer = 1;
    30792960
    3080         yy_init_buffer(b,file );
     2961        yy_init_buffer( b, file );
    30812962
    30822963        return b;
    3083 }
    3084 
    3085 /** Destroy the buffer.
    3086  * @param b a buffer created with yy_create_buffer()
    3087  *
    3088  */
    3089     void yy_delete_buffer (YY_BUFFER_STATE  b )
    3090 {
    3091    
     2964        }
     2965
     2966
     2967#ifdef YY_USE_PROTOS
     2968void yy_delete_buffer( YY_BUFFER_STATE b )
     2969#else
     2970void yy_delete_buffer( b )
     2971YY_BUFFER_STATE b;
     2972#endif
     2973        {
    30922974        if ( ! b )
    30932975                return;
    30942976
    3095         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
    3096                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
     2977        if ( b == yy_current_buffer )
     2978                yy_current_buffer = (YY_BUFFER_STATE) 0;
    30972979
    30982980        if ( b->yy_is_our_buffer )
    3099                 yyfree((void *) b->yy_ch_buf  );
    3100 
    3101         yyfree((void *) b  );
    3102 }
    3103 
    3104 #ifndef __cplusplus
    3105 extern int isatty (int );
    3106 #endif /* __cplusplus */
    3107    
    3108 /* Initializes or reinitializes a buffer.
    3109  * This function is sometimes called more than once on the same buffer,
    3110  * such as during a yyrestart() or at EOF.
    3111  */
    3112     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
    3113 
    3114 {
    3115         int oerrno = errno;
    3116    
    3117         yy_flush_buffer(b );
     2981                yy_flex_free( (void *) b->yy_ch_buf );
     2982
     2983        yy_flex_free( (void *) b );
     2984        }
     2985
     2986
     2987#ifndef YY_ALWAYS_INTERACTIVE
     2988#ifndef YY_NEVER_INTERACTIVE
     2989extern int isatty YY_PROTO(( int ));
     2990#endif
     2991#endif
     2992
     2993#ifdef YY_USE_PROTOS
     2994void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
     2995#else
     2996void yy_init_buffer( b, file )
     2997YY_BUFFER_STATE b;
     2998FILE *file;
     2999#endif
     3000
     3001
     3002        {
     3003        yy_flush_buffer( b );
    31183004
    31193005        b->yy_input_file = file;
    31203006        b->yy_fill_buffer = 1;
    31213007
    3122     /* If b is the current buffer, then yy_init_buffer was _probably_
    3123      * called from yyrestart() or through yy_get_next_buffer.
    3124      * In that case, we don't want to reset the lineno or column.
    3125      */
    3126     if (b != YY_CURRENT_BUFFER){
    3127         b->yy_bs_lineno = 1;
    3128         b->yy_bs_column = 0;
    3129     }
    3130 
    3131         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
    3132    
    3133         errno = oerrno;
    3134 }
    3135 
    3136 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
    3137  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
    3138  *
    3139  */
    3140     void yy_flush_buffer (YY_BUFFER_STATE  b )
    3141 {
    3142         if ( ! b )
     3008#if YY_ALWAYS_INTERACTIVE
     3009        b->yy_is_interactive = 1;
     3010#else
     3011#if YY_NEVER_INTERACTIVE
     3012        b->yy_is_interactive = 0;
     3013#else
     3014        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
     3015#endif
     3016#endif
     3017        }
     3018
     3019
     3020#ifdef YY_USE_PROTOS
     3021void yy_flush_buffer( YY_BUFFER_STATE b )
     3022#else
     3023void yy_flush_buffer( b )
     3024YY_BUFFER_STATE b;
     3025#endif
     3026
     3027        {
     3028        if ( ! b )
    31433029                return;
    31443030
     
    31573043        b->yy_buffer_status = YY_BUFFER_NEW;
    31583044
    3159         if ( b == YY_CURRENT_BUFFER )
    3160                 yy_load_buffer_state( );
    3161 }
    3162 
    3163 /** Pushes the new state onto the stack. The new state becomes
    3164  *  the current state. This function will allocate the stack
    3165  *  if necessary.
    3166  *  @param new_buffer The new state.
    3167  * 
    3168  */
    3169 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
    3170 {
    3171         if (new_buffer == NULL)
    3172                 return;
    3173 
    3174         yyensure_buffer_stack();
    3175 
    3176         /* This block is copied from yy_switch_to_buffer. */
    3177         if ( YY_CURRENT_BUFFER )
    3178                 {
    3179                 /* Flush out information for old buffer. */
    3180                 *(yy_c_buf_p) = (yy_hold_char);
    3181                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
    3182                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
    3183                 }
    3184 
    3185         /* Only push if top exists. Otherwise, replace top. */
    3186         if (YY_CURRENT_BUFFER)
    3187                 (yy_buffer_stack_top)++;
    3188         YY_CURRENT_BUFFER_LVALUE = new_buffer;
    3189 
    3190         /* copied from yy_switch_to_buffer. */
    3191         yy_load_buffer_state( );
    3192         (yy_did_buffer_switch_on_eof) = 1;
    3193 }
    3194 
    3195 /** Removes and deletes the top of the stack, if present.
    3196  *  The next element becomes the new top.
    3197  * 
    3198  */
    3199 void yypop_buffer_state (void)
    3200 {
    3201         if (!YY_CURRENT_BUFFER)
    3202                 return;
    3203 
    3204         yy_delete_buffer(YY_CURRENT_BUFFER );
    3205         YY_CURRENT_BUFFER_LVALUE = NULL;
    3206         if ((yy_buffer_stack_top) > 0)
    3207                 --(yy_buffer_stack_top);
    3208 
    3209         if (YY_CURRENT_BUFFER) {
    3210                 yy_load_buffer_state( );
    3211                 (yy_did_buffer_switch_on_eof) = 1;
     3045        if ( b == yy_current_buffer )
     3046                yy_load_buffer_state();
    32123047        }
    3213 }
    3214 
    3215 /* Allocates the stack if it does not exist.
    3216  *  Guarantees space for at least one push.
    3217  */
    3218 static void yyensure_buffer_stack (void)
    3219 {
    3220         yy_size_t num_to_alloc;
    3221    
    3222         if (!(yy_buffer_stack)) {
    3223 
    3224                 /* First allocation is just for 2 elements, since we don't know if this
    3225                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
    3226                  * immediate realloc on the next call.
    3227          */
    3228                 num_to_alloc = 1;
    3229                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
    3230                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
    3231                                                                 );
    3232                 if ( ! (yy_buffer_stack) )
    3233                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
    3234                                                                  
    3235                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
    3236                                
    3237                 (yy_buffer_stack_max) = num_to_alloc;
    3238                 (yy_buffer_stack_top) = 0;
    3239                 return;
    3240         }
    3241 
    3242         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
    3243 
    3244                 /* Increase the buffer to prepare for a possible push. */
    3245                 int grow_size = 8 /* arbitrary grow size */;
    3246 
    3247                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
    3248                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
    3249                                                                 ((yy_buffer_stack),
    3250                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
    3251                                                                 );
    3252                 if ( ! (yy_buffer_stack) )
    3253                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
    3254 
    3255                 /* zero only the new slots.*/
    3256                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
    3257                 (yy_buffer_stack_max) = num_to_alloc;
    3258         }
    3259 }
    3260 
    3261 /** Setup the input buffer state to scan directly from a user-specified character buffer.
    3262  * @param base the character buffer
    3263  * @param size the size in bytes of the character buffer
    3264  *
    3265  * @return the newly allocated buffer state object.
    3266  */
    3267 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
    3268 {
     3048
     3049
     3050#ifndef YY_NO_SCAN_BUFFER
     3051#ifdef YY_USE_PROTOS
     3052YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
     3053#else
     3054YY_BUFFER_STATE yy_scan_buffer( base, size )
     3055char *base;
     3056yy_size_t size;
     3057#endif
     3058        {
    32693059        YY_BUFFER_STATE b;
    3270    
     3060
    32713061        if ( size < 2 ||
    32723062             base[size-2] != YY_END_OF_BUFFER_CHAR ||
     
    32753065                return 0;
    32763066
    3277         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
     3067        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    32783068        if ( ! b )
    32793069                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
     
    32893079        b->yy_buffer_status = YY_BUFFER_NEW;
    32903080
    3291         yy_switch_to_buffer(b );
     3081        yy_switch_to_buffer( b );
    32923082
    32933083        return b;
    3294 }
    3295 
    3296 /** Setup the input buffer state to scan a string. The next call to yylex() will
    3297  * scan from a @e copy of @a str.
    3298  * @param yystr a NUL-terminated string to scan
    3299  *
    3300  * @return the newly allocated buffer state object.
    3301  * @note If you want to scan bytes that may contain NUL values, then use
    3302  *       yy_scan_bytes() instead.
    3303  */
    3304 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
    3305 {
    3306    
    3307         return yy_scan_bytes(yystr,strlen(yystr) );
    3308 }
    3309 
    3310 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
    3311  * scan from a @e copy of @a bytes.
    3312  * @param bytes the byte buffer to scan
    3313  * @param len the number of bytes in the buffer pointed to by @a bytes.
    3314  *
    3315  * @return the newly allocated buffer state object.
    3316  */
    3317 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
    3318 {
     3084        }
     3085#endif
     3086
     3087
     3088#ifndef YY_NO_SCAN_STRING
     3089#ifdef YY_USE_PROTOS
     3090YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
     3091#else
     3092YY_BUFFER_STATE yy_scan_string( yy_str )
     3093yyconst char *yy_str;
     3094#endif
     3095        {
     3096        int len;
     3097        for ( len = 0; yy_str[len]; ++len )
     3098                ;
     3099
     3100        return yy_scan_bytes( yy_str, len );
     3101        }
     3102#endif
     3103
     3104
     3105#ifndef YY_NO_SCAN_BYTES
     3106#ifdef YY_USE_PROTOS
     3107YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
     3108#else
     3109YY_BUFFER_STATE yy_scan_bytes( bytes, len )
     3110yyconst char *bytes;
     3111int len;
     3112#endif
     3113        {
    33193114        YY_BUFFER_STATE b;
    33203115        char *buf;
    3321         yy_size_t n, i;
    3322    
     3116        yy_size_t n;
     3117        int i;
     3118
    33233119        /* Get memory for full buffer, including space for trailing EOB's. */
    3324         n = _yybytes_len + 2;
    3325         buf = (char *) yyalloc(n );
     3120        n = len + 2;
     3121        buf = (char *) yy_flex_alloc( n );
    33263122        if ( ! buf )
    33273123                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
    33283124
    3329         for ( i = 0; i < _yybytes_len; ++i )
    3330                 buf[i] = yybytes[i];
    3331 
    3332         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
    3333 
    3334         b = yy_scan_buffer(buf,n );
     3125        for ( i = 0; i < len; ++i )
     3126                buf[i] = bytes[i];
     3127
     3128        buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
     3129
     3130        b = yy_scan_buffer( buf, n );
    33353131        if ( ! b )
    33363132                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
     
    33423138
    33433139        return b;
    3344 }
     3140        }
     3141#endif
     3142
     3143
     3144#ifndef YY_NO_PUSH_STATE
     3145#ifdef YY_USE_PROTOS
     3146static void yy_push_state( int new_state )
     3147#else
     3148static void yy_push_state( new_state )
     3149int new_state;
     3150#endif
     3151        {
     3152        if ( yy_start_stack_ptr >= yy_start_stack_depth )
     3153                {
     3154                yy_size_t new_size;
     3155
     3156                yy_start_stack_depth += YY_START_STACK_INCR;
     3157                new_size = yy_start_stack_depth * sizeof( int );
     3158
     3159                if ( ! yy_start_stack )
     3160                        yy_start_stack = (int *) yy_flex_alloc( new_size );
     3161
     3162                else
     3163                        yy_start_stack = (int *) yy_flex_realloc(
     3164                                        (void *) yy_start_stack, new_size );
     3165
     3166                if ( ! yy_start_stack )
     3167                        YY_FATAL_ERROR(
     3168                        "out of memory expanding start-condition stack" );
     3169                }
     3170
     3171        yy_start_stack[yy_start_stack_ptr++] = YY_START;
     3172
     3173        BEGIN(new_state);
     3174        }
     3175#endif
     3176
     3177
     3178#ifndef YY_NO_POP_STATE
     3179static void yy_pop_state()
     3180        {
     3181        if ( --yy_start_stack_ptr < 0 )
     3182                YY_FATAL_ERROR( "start-condition stack underflow" );
     3183
     3184        BEGIN(yy_start_stack[yy_start_stack_ptr]);
     3185        }
     3186#endif
     3187
     3188
     3189#ifndef YY_NO_TOP_STATE
     3190static int yy_top_state()
     3191        {
     3192        return yy_start_stack[yy_start_stack_ptr - 1];
     3193        }
     3194#endif
    33453195
    33463196#ifndef YY_EXIT_FAILURE
     
    33483198#endif
    33493199
    3350 static void yy_fatal_error (yyconst char* msg )
    3351 {
    3352         (void) fprintf( stderr, "%s\n", msg );
     3200#ifdef YY_USE_PROTOS
     3201static void yy_fatal_error( yyconst char msg[] )
     3202#else
     3203static void yy_fatal_error( msg )
     3204char msg[];
     3205#endif
     3206        {
     3207        (void) fprintf( stderr, "%s\n", msg );
    33533208        exit( YY_EXIT_FAILURE );
    3354 }
     3209        }
     3210
     3211
    33553212
    33563213/* Redefine yyless() so it works in section 3 code. */
     
    33613218                { \
    33623219                /* Undo effects of setting up yytext. */ \
    3363         int yyless_macro_arg = (n); \
    3364         YY_LESS_LINENO(yyless_macro_arg);\
    3365                 yytext[yyleng] = (yy_hold_char); \
    3366                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
    3367                 (yy_hold_char) = *(yy_c_buf_p); \
    3368                 *(yy_c_buf_p) = '\0'; \
    3369                 yyleng = yyless_macro_arg; \
     3220                yytext[yyleng] = yy_hold_char; \
     3221                yy_c_buf_p = yytext + n; \
     3222                yy_hold_char = *yy_c_buf_p; \
     3223                *yy_c_buf_p = '\0'; \
     3224                yyleng = n; \
    33703225                } \
    33713226        while ( 0 )
    33723227
    3373 /* Accessor  methods (get/set functions) to struct members. */
    3374 
    3375 /** Get the current line number.
    3376  *
    3377  */
    3378 int yyget_lineno  (void)
    3379 {
    3380        
    3381     return yylineno;
    3382 }
    3383 
    3384 /** Get the input stream.
    3385  *
    3386  */
    3387 FILE *yyget_in  (void)
    3388 {
    3389         return yyin;
    3390 }
    3391 
    3392 /** Get the output stream.
    3393  *
    3394  */
    3395 FILE *yyget_out  (void)
    3396 {
    3397         return yyout;
    3398 }
    3399 
    3400 /** Get the length of the current token.
    3401  *
    3402  */
    3403 yy_size_t yyget_leng  (void)
    3404 {
    3405         return yyleng;
    3406 }
    3407 
    3408 /** Get the current token.
    3409  *
    3410  */
    3411 
    3412 char *yyget_text  (void)
    3413 {
    3414         return yytext;
    3415 }
    3416 
    3417 /** Set the current line number.
    3418  * @param line_number
    3419  *
    3420  */
    3421 void yyset_lineno (int  line_number )
    3422 {
    3423    
    3424     yylineno = line_number;
    3425 }
    3426 
    3427 /** Set the input stream. This does not discard the current
    3428  * input buffer.
    3429  * @param in_str A readable stream.
    3430  *
    3431  * @see yy_switch_to_buffer
    3432  */
    3433 void yyset_in (FILE *  in_str )
    3434 {
    3435         yyin = in_str ;
    3436 }
    3437 
    3438 void yyset_out (FILE *  out_str )
    3439 {
    3440         yyout = out_str ;
    3441 }
    3442 
    3443 int yyget_debug  (void)
    3444 {
    3445         return yy_flex_debug;
    3446 }
    3447 
    3448 void yyset_debug (int  bdebug )
    3449 {
    3450         yy_flex_debug = bdebug ;
    3451 }
    3452 
    3453 static int yy_init_globals (void)
    3454 {
    3455         /* Initialization is the same as for the non-reentrant scanner.
    3456      * This function is called from yylex_destroy(), so don't allocate here.
    3457      */
    3458 
    3459     /* We do not touch yylineno unless the option is enabled. */
    3460     yylineno =  1;
    3461    
    3462     (yy_buffer_stack) = 0;
    3463     (yy_buffer_stack_top) = 0;
    3464     (yy_buffer_stack_max) = 0;
    3465     (yy_c_buf_p) = (char *) 0;
    3466     (yy_init) = 0;
    3467     (yy_start) = 0;
    3468 
    3469     (yy_state_buf) = 0;
    3470     (yy_state_ptr) = 0;
    3471     (yy_full_match) = 0;
    3472     (yy_lp) = 0;
    3473 
    3474 /* Defined in main.c */
    3475 #ifdef YY_STDINIT
    3476     yyin = stdin;
    3477     yyout = stdout;
    3478 #else
    3479     yyin = (FILE *) 0;
    3480     yyout = (FILE *) 0;
    3481 #endif
    3482 
    3483     /* For future reference: Set errno on error, since we are called by
    3484      * yylex_init()
    3485      */
    3486     return 0;
    3487 }
    3488 
    3489 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
    3490 int yylex_destroy  (void)
    3491 {
    3492    
    3493     /* Pop the buffer stack, destroying each element. */
    3494         while(YY_CURRENT_BUFFER){
    3495                 yy_delete_buffer(YY_CURRENT_BUFFER  );
    3496                 YY_CURRENT_BUFFER_LVALUE = NULL;
    3497                 yypop_buffer_state();
    3498         }
    3499 
    3500         /* Destroy the stack itself. */
    3501         yyfree((yy_buffer_stack) );
    3502         (yy_buffer_stack) = NULL;
    3503 
    3504     yyfree ( (yy_state_buf) );
    3505     (yy_state_buf)  = NULL;
    3506 
    3507     /* Reset the globals. This is important in a non-reentrant scanner so the next time
    3508      * yylex() is called, initialization will occur. */
    3509     yy_init_globals( );
    3510 
    3511     return 0;
    3512 }
    3513 
    3514 /*
    3515  * Internal utility routines.
    3516  */
     3228
     3229/* Internal utility routines. */
    35173230
    35183231#ifndef yytext_ptr
    3519 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
    3520 {
     3232#ifdef YY_USE_PROTOS
     3233static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
     3234#else
     3235static void yy_flex_strncpy( s1, s2, n )
     3236char *s1;
     3237yyconst char *s2;
     3238int n;
     3239#endif
     3240        {
    35213241        register int i;
    35223242        for ( i = 0; i < n; ++i )
    35233243                s1[i] = s2[i];
    3524 }
     3244        }
    35253245#endif
    35263246
    35273247#ifdef YY_NEED_STRLEN
    3528 static int yy_flex_strlen (yyconst char * s )
    3529 {
     3248#ifdef YY_USE_PROTOS
     3249static int yy_flex_strlen( yyconst char *s )
     3250#else
     3251static int yy_flex_strlen( s )
     3252yyconst char *s;
     3253#endif
     3254        {
    35303255        register int n;
    35313256        for ( n = 0; s[n]; ++n )
     
    35333258
    35343259        return n;
    3535 }
    3536 #endif
    3537 
    3538 void *yyalloc (yy_size_t  size )
    3539 {
     3260        }
     3261#endif
     3262
     3263
     3264#ifdef YY_USE_PROTOS
     3265static void *yy_flex_alloc( yy_size_t size )
     3266#else
     3267static void *yy_flex_alloc( size )
     3268yy_size_t size;
     3269#endif
     3270        {
    35403271        return (void *) malloc( size );
    3541 }
    3542 
    3543 void *yyrealloc  (void * ptr, yy_size_t  size )
    3544 {
     3272        }
     3273
     3274#ifdef YY_USE_PROTOS
     3275static void *yy_flex_realloc( void *ptr, yy_size_t size )
     3276#else
     3277static void *yy_flex_realloc( ptr, size )
     3278void *ptr;
     3279yy_size_t size;
     3280#endif
     3281        {
    35453282        /* The cast to (char *) in the following accommodates both
    35463283         * implementations that use char* generic pointers, and those
     
    35513288         */
    35523289        return (void *) realloc( (char *) ptr, size );
    3553 }
    3554 
    3555 void yyfree (void * ptr )
    3556 {
    3557         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
    3558 }
    3559 
    3560 #define YYTABLES_NAME "yytables"
    3561 
    3562 #line 716 "dt_lex.l"
    3563 
     3290        }
     3291
     3292#ifdef YY_USE_PROTOS
     3293static void yy_flex_free( void *ptr )
     3294#else
     3295static void yy_flex_free( ptr )
     3296void *ptr;
     3297#endif
     3298        {
     3299        free( ptr );
     3300        }
     3301
     3302#if YY_MAIN
     3303int main()
     3304        {
     3305        yylex();
     3306        return 0;
     3307        }
     3308#endif
     3309#line 719 "dt_lex.l"
    35643310
    35653311
     
    36193365        yysptr = yysbuf;
    36203366#else
    3621    yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
     3367   yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
    36223368#endif
    36233369}
     
    37613507
    37623508#endif /* USING_FLEX */
    3763 
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette