cmdgram.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. /* A Bison parser, made by GNU Bison 2.3. */
  2. /* Skeleton interface for Bison's Yacc-like parsers in C
  3. Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
  4. Free Software Foundation, Inc.
  5. This program is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2, or (at your option)
  8. any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program; if not, write to the Free Software
  15. Foundation, Inc., 51 Franklin Street, Fifth Floor,
  16. Boston, MA 02110-1301, USA. */
  17. /* As a special exception, you may create a larger work that contains
  18. part or all of the Bison parser skeleton and distribute that work
  19. under terms of your choice, so long as that work isn't itself a
  20. parser generator using the skeleton or a modified version thereof
  21. as a parser skeleton. Alternatively, if you modify or redistribute
  22. the parser skeleton itself, you may (at your option) remove this
  23. special exception, which will cause the skeleton and the resulting
  24. Bison output files to be licensed under the GNU General Public
  25. License without this special exception.
  26. This special exception was added by the Free Software Foundation in
  27. version 2.2 of Bison. */
  28. /* Tokens. */
  29. #ifndef YYTOKENTYPE
  30. # define YYTOKENTYPE
  31. /* Put the tokens into the symbol table, so that GDB and other debuggers
  32. know about them. */
  33. enum yytokentype {
  34. rwDEFINE = 258,
  35. rwENDDEF = 259,
  36. rwDECLARE = 260,
  37. rwDECLARESINGLETON = 261,
  38. rwBREAK = 262,
  39. rwELSE = 263,
  40. rwCONTINUE = 264,
  41. rwGLOBAL = 265,
  42. rwIF = 266,
  43. rwNIL = 267,
  44. rwRETURN = 268,
  45. rwWHILE = 269,
  46. rwDO = 270,
  47. rwENDIF = 271,
  48. rwENDWHILE = 272,
  49. rwENDFOR = 273,
  50. rwDEFAULT = 274,
  51. rwFOR = 275,
  52. rwFOREACH = 276,
  53. rwFOREACHSTR = 277,
  54. rwIN = 278,
  55. rwDATABLOCK = 279,
  56. rwSWITCH = 280,
  57. rwCASE = 281,
  58. rwSWITCHSTR = 282,
  59. rwCASEOR = 283,
  60. rwPACKAGE = 284,
  61. rwNAMESPACE = 285,
  62. rwCLASS = 286,
  63. rwASSERT = 287,
  64. ILLEGAL_TOKEN = 288,
  65. CHRCONST = 289,
  66. INTCONST = 290,
  67. TTAG = 291,
  68. VAR = 292,
  69. IDENT = 293,
  70. TYPEIDENT = 294,
  71. DOCBLOCK = 295,
  72. STRATOM = 296,
  73. TAGATOM = 297,
  74. FLTCONST = 298,
  75. opINTNAME = 299,
  76. opINTNAMER = 300,
  77. opMINUSMINUS = 301,
  78. opPLUSPLUS = 302,
  79. STMT_SEP = 303,
  80. opSHL = 304,
  81. opSHR = 305,
  82. opPLASN = 306,
  83. opMIASN = 307,
  84. opMLASN = 308,
  85. opDVASN = 309,
  86. opMODASN = 310,
  87. opANDASN = 311,
  88. opXORASN = 312,
  89. opORASN = 313,
  90. opSLASN = 314,
  91. opSRASN = 315,
  92. opCAT = 316,
  93. opEQ = 317,
  94. opNE = 318,
  95. opGE = 319,
  96. opLE = 320,
  97. opAND = 321,
  98. opOR = 322,
  99. opSTREQ = 323,
  100. opCOLONCOLON = 324,
  101. opNTASN = 325,
  102. opNDASN = 326,
  103. opMDASN = 327,
  104. opSTRNE = 328,
  105. UNARY = 329
  106. };
  107. #endif
  108. /* Tokens. */
  109. #define rwDEFINE 258
  110. #define rwENDDEF 259
  111. #define rwDECLARE 260
  112. #define rwDECLARESINGLETON 261
  113. #define rwBREAK 262
  114. #define rwELSE 263
  115. #define rwCONTINUE 264
  116. #define rwGLOBAL 265
  117. #define rwIF 266
  118. #define rwNIL 267
  119. #define rwRETURN 268
  120. #define rwWHILE 269
  121. #define rwDO 270
  122. #define rwENDIF 271
  123. #define rwENDWHILE 272
  124. #define rwENDFOR 273
  125. #define rwDEFAULT 274
  126. #define rwFOR 275
  127. #define rwFOREACH 276
  128. #define rwFOREACHSTR 277
  129. #define rwIN 278
  130. #define rwDATABLOCK 279
  131. #define rwSWITCH 280
  132. #define rwCASE 281
  133. #define rwSWITCHSTR 282
  134. #define rwCASEOR 283
  135. #define rwPACKAGE 284
  136. #define rwNAMESPACE 285
  137. #define rwCLASS 286
  138. #define rwASSERT 287
  139. #define ILLEGAL_TOKEN 288
  140. #define CHRCONST 289
  141. #define INTCONST 290
  142. #define TTAG 291
  143. #define VAR 292
  144. #define IDENT 293
  145. #define TYPEIDENT 294
  146. #define DOCBLOCK 295
  147. #define STRATOM 296
  148. #define TAGATOM 297
  149. #define FLTCONST 298
  150. #define opINTNAME 299
  151. #define opINTNAMER 300
  152. #define opMINUSMINUS 301
  153. #define opPLUSPLUS 302
  154. #define STMT_SEP 303
  155. #define opSHL 304
  156. #define opSHR 305
  157. #define opPLASN 306
  158. #define opMIASN 307
  159. #define opMLASN 308
  160. #define opDVASN 309
  161. #define opMODASN 310
  162. #define opANDASN 311
  163. #define opXORASN 312
  164. #define opORASN 313
  165. #define opSLASN 314
  166. #define opSRASN 315
  167. #define opCAT 316
  168. #define opEQ 317
  169. #define opNE 318
  170. #define opGE 319
  171. #define opLE 320
  172. #define opAND 321
  173. #define opOR 322
  174. #define opSTREQ 323
  175. #define opCOLONCOLON 324
  176. #define opNTASN 325
  177. #define opNDASN 326
  178. #define opMDASN 327
  179. #define opSTRNE 328
  180. #define UNARY 329
  181. #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
  182. typedef union YYSTYPE
  183. #line 82 "CMDgram.y"
  184. {
  185. Token< char > c;
  186. Token< int > i;
  187. Token< const char* > s;
  188. Token< char* > str;
  189. Token< double > f;
  190. StmtNode* stmt;
  191. ExprNode* expr;
  192. SlotAssignNode* slist;
  193. VarNode* var;
  194. SlotDecl slot;
  195. InternalSlotDecl intslot;
  196. ObjectBlockDecl odcl;
  197. ObjectDeclNode* od;
  198. AssignDecl asn;
  199. IfStmtNode* ifnode;
  200. }
  201. /* Line 1529 of yacc.c. */
  202. #line 215 "cmdgram.h"
  203. YYSTYPE;
  204. # define yystype YYSTYPE /* obsolescent; will be withdrawn */
  205. # define YYSTYPE_IS_DECLARED 1
  206. # define YYSTYPE_IS_TRIVIAL 1
  207. #endif
  208. extern YYSTYPE CMDlval;