/* A Bison parser, made by GNU Bison 2.3.  */

/* Skeleton interface for Bison's Yacc-like parsers in C

   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.

   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     andSYM = 258,
     andthenSYM = 259,
     appendSYM = 260,
     autoSYM = 261,
     becomesSYM = 262,
     becplusSYM = 263,
     becminusSYM = 264,
     caseSYM = 265,
     chdirSYM = 266,
     closedSYM = 267,
     closeSYM = 268,
     colonSYM = 269,
     commaSYM = 270,
     compileSYM = 271,
     contSYM = 272,
     copySYM = 273,
     cursorSYM = 274,
     dataSYM = 275,
     delSYM = 276,
     dimSYM = 277,
     dirSYM = 278,
     divideSYM = 279,
     divSYM = 280,
     doSYM = 281,
     downtoSYM = 282,
     dynamicSYM = 283,
     editSYM = 284,
     elifSYM = 285,
     elseSYM = 286,
     endcaseSYM = 287,
     endforSYM = 288,
     endfuncSYM = 289,
     endifSYM = 290,
     endloopSYM = 291,
     endprocSYM = 292,
     endSYM = 293,
     endmoduleSYM = 294,
     endtrapSYM = 295,
     endwhileSYM = 296,
     envSYM = 297,
     enterSYM = 298,
     eolnSYM = 299,
     eorSYM = 300,
     eqlSYM = 301,
     escSYM = 302,
     execSYM = 303,
     exitSYM = 304,
     exportSYM = 305,
     externalSYM = 306,
     fileSYM = 307,
     forSYM = 308,
     funcSYM = 309,
     geqSYM = 310,
     getSYM = 311,
     gtrSYM = 312,
     handlerSYM = 313,
     ifSYM = 314,
     importSYM = 315,
     inputSYM = 316,
     inSYM = 317,
     leqSYM = 318,
     listSYM = 319,
     localSYM = 320,
     loadSYM = 321,
     loopSYM = 322,
     lparenSYM = 323,
     lssSYM = 324,
     minusSYM = 325,
     mkdirSYM = 326,
     modSYM = 327,
     moduleSYM = 328,
     nameSYM = 329,
     neqSYM = 330,
     newSYM = 331,
     nullSYM = 332,
     ofSYM = 333,
     openSYM = 334,
     orSYM = 335,
     orthenSYM = 336,
     osSYM = 337,
     otherwiseSYM = 338,
     pageSYM = 339,
     plusSYM = 340,
     powerSYM = 341,
     printSYM = 342,
     procSYM = 343,
     quitSYM = 344,
     randomSYM = 345,
     readSYM = 346,
     read_onlySYM = 347,
     refSYM = 348,
     renumberSYM = 349,
     repeatSYM = 350,
     restoreSYM = 351,
     retrySYM = 352,
     returnSYM = 353,
     rmdirSYM = 354,
     rndSYM = 355,
     rparenSYM = 356,
     runSYM = 357,
     saveSYM = 358,
     scanSYM = 359,
     select_inputSYM = 360,
     select_outputSYM = 361,
     semicolonSYM = 362,
     staticSYM = 363,
     stepSYM = 364,
     stopSYM = 365,
     sysSYM = 366,
     syssSYM = 367,
     thenSYM = 368,
     timesSYM = 369,
     toSYM = 370,
     traceSYM = 371,
     trapSYM = 372,
     unitSYM = 373,
     untilSYM = 374,
     useSYM = 375,
     usingSYM = 376,
     whenSYM = 377,
     whileSYM = 378,
     writeSYM = 379,
     rnSYM = 380,
     rsSYM = 381,
     tnrnSYM = 382,
     tnrsSYM = 383,
     tsrnSYM = 384,
     tonrsSYM = 385,
     tsrsSYM = 386,
     floatnumSYM = 387,
     idSYM = 388,
     intidSYM = 389,
     stringidSYM = 390,
     intnumSYM = 391,
     remSYM = 392,
     stringSYM = 393,
     USIGN = 394
   };
#endif
/* Tokens.  */
#define andSYM 258
#define andthenSYM 259
#define appendSYM 260
#define autoSYM 261
#define becomesSYM 262
#define becplusSYM 263
#define becminusSYM 264
#define caseSYM 265
#define chdirSYM 266
#define closedSYM 267
#define closeSYM 268
#define colonSYM 269
#define commaSYM 270
#define compileSYM 271
#define contSYM 272
#define copySYM 273
#define cursorSYM 274
#define dataSYM 275
#define delSYM 276
#define dimSYM 277
#define dirSYM 278
#define divideSYM 279
#define divSYM 280
#define doSYM 281
#define downtoSYM 282
#define dynamicSYM 283
#define editSYM 284
#define elifSYM 285
#define elseSYM 286
#define endcaseSYM 287
#define endforSYM 288
#define endfuncSYM 289
#define endifSYM 290
#define endloopSYM 291
#define endprocSYM 292
#define endSYM 293
#define endmoduleSYM 294
#define endtrapSYM 295
#define endwhileSYM 296
#define envSYM 297
#define enterSYM 298
#define eolnSYM 299
#define eorSYM 300
#define eqlSYM 301
#define escSYM 302
#define execSYM 303
#define exitSYM 304
#define exportSYM 305
#define externalSYM 306
#define fileSYM 307
#define forSYM 308
#define funcSYM 309
#define geqSYM 310
#define getSYM 311
#define gtrSYM 312
#define handlerSYM 313
#define ifSYM 314
#define importSYM 315
#define inputSYM 316
#define inSYM 317
#define leqSYM 318
#define listSYM 319
#define localSYM 320
#define loadSYM 321
#define loopSYM 322
#define lparenSYM 323
#define lssSYM 324
#define minusSYM 325
#define mkdirSYM 326
#define modSYM 327
#define moduleSYM 328
#define nameSYM 329
#define neqSYM 330
#define newSYM 331
#define nullSYM 332
#define ofSYM 333
#define openSYM 334
#define orSYM 335
#define orthenSYM 336
#define osSYM 337
#define otherwiseSYM 338
#define pageSYM 339
#define plusSYM 340
#define powerSYM 341
#define printSYM 342
#define procSYM 343
#define quitSYM 344
#define randomSYM 345
#define readSYM 346
#define read_onlySYM 347
#define refSYM 348
#define renumberSYM 349
#define repeatSYM 350
#define restoreSYM 351
#define retrySYM 352
#define returnSYM 353
#define rmdirSYM 354
#define rndSYM 355
#define rparenSYM 356
#define runSYM 357
#define saveSYM 358
#define scanSYM 359
#define select_inputSYM 360
#define select_outputSYM 361
#define semicolonSYM 362
#define staticSYM 363
#define stepSYM 364
#define stopSYM 365
#define sysSYM 366
#define syssSYM 367
#define thenSYM 368
#define timesSYM 369
#define toSYM 370
#define traceSYM 371
#define trapSYM 372
#define unitSYM 373
#define untilSYM 374
#define useSYM 375
#define usingSYM 376
#define whenSYM 377
#define whileSYM 378
#define writeSYM 379
#define rnSYM 380
#define rsSYM 381
#define tnrnSYM 382
#define tnrsSYM 383
#define tsrnSYM 384
#define tonrsSYM 385
#define tsrsSYM 386
#define floatnumSYM 387
#define idSYM 388
#define intidSYM 389
#define stringidSYM 390
#define intnumSYM 391
#define remSYM 392
#define stringSYM 393
#define USIGN 394




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 38 "pdcpars.y"
{
		long num;
		int inum;
		struct string *str;
		struct id_rec *id;
		struct id_list *id_root;
		struct dubbel dubbel;
		struct expression *exp;
		struct { struct id_rec *id; int array; } oneparm;
		struct two_num twonum;
		struct two_exp twoexp;
		struct two_exp *twoexpp;
		struct comal_line cl;
		struct comal_line *pcl;
		struct exp_list *expptr;
		struct ext_rec *extptr;
		struct dim_list *dimptr;
		struct dim_ension *dimensionptr;
		struct parm_list *parmptr;
		struct print_list *printptr;
		struct import_list *importptr;
		struct input_modifier *imod;
		struct when_list *whenptr;
		struct assign_list *assignptr;
		struct open_rec openrec;
	}
/* Line 1529 of yacc.c.  */
#line 354 "pdcpars.tab.h"
	YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif

extern YYSTYPE yylval;

