1 /* A Bison parser, made by GNU Bison 2.3. */ 2 3 /* Skeleton interface for Bison's Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6 Free Software Foundation, Inc. 7 8 This program is free software; you can redistribute it and/or modify 9 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 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 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. */ 22 23 /* As a special exception, you may create a larger work that contains 24 part or all of the Bison parser skeleton and distribute that work 25 under terms of your choice, so long as that work isn't itself a 26 parser generator using the skeleton or a modified version thereof 27 as a parser skeleton. Alternatively, if you modify or redistribute 28 the parser skeleton itself, you may (at your option) remove this 29 special exception, which will cause the skeleton and the resulting 30 Bison output files to be licensed under the GNU General Public 31 License without this special exception. 32 33 This special exception was added by the Free Software Foundation in 34 version 2.2 of Bison. */ 35 36 /* Tokens. */ 37 #ifndef YYTOKENTYPE 38 # define YYTOKENTYPE 39 /* Put the tokens into the symbol table, so that GDB and other debuggers 40 know about them. */ 41 enum yytokentype { 42 kADD_OP = 258, 43 kALIGN = 259, 44 kAS_NEEDED = 260, 45 kENTRY = 261, 46 kEXCLUDE_FILE = 262, 47 kFILENAME = 263, 48 kGLOBAL = 264, 49 kGROUP = 265, 50 kID = 266, 51 kINPUT = 267, 52 kINTERP = 268, 53 kKEEP = 269, 54 kLOCAL = 270, 55 kMODE = 271, 56 kMUL_OP = 272, 57 kNUM = 273, 58 kOUTPUT_FORMAT = 274, 59 kPAGESIZE = 275, 60 kPROVIDE = 276, 61 kSEARCH_DIR = 277, 62 kSEGMENT = 278, 63 kSIZEOF_HEADERS = 279, 64 kSORT = 280, 65 kVERSION = 281, 66 kVERSION_SCRIPT = 282, 67 ADD_OP = 283, 68 MUL_OP = 284 69 }; 70 #endif 71 /* Tokens. */ 72 #define kADD_OP 258 73 #define kALIGN 259 74 #define kAS_NEEDED 260 75 #define kENTRY 261 76 #define kEXCLUDE_FILE 262 77 #define kFILENAME 263 78 #define kGLOBAL 264 79 #define kGROUP 265 80 #define kID 266 81 #define kINPUT 267 82 #define kINTERP 268 83 #define kKEEP 269 84 #define kLOCAL 270 85 #define kMODE 271 86 #define kMUL_OP 272 87 #define kNUM 273 88 #define kOUTPUT_FORMAT 274 89 #define kPAGESIZE 275 90 #define kPROVIDE 276 91 #define kSEARCH_DIR 277 92 #define kSEGMENT 278 93 #define kSIZEOF_HEADERS 279 94 #define kSORT 280 95 #define kVERSION 281 96 #define kVERSION_SCRIPT 282 97 #define ADD_OP 283 98 #define MUL_OP 284 99 100 101 102 103 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 104 typedef union YYSTYPE 105 #line 71 "ldscript.y" 106 { 107 uintmax_t num; 108 enum expression_tag op; 109 char *str; 110 struct expression *expr; 111 struct input_section_name *sectionname; 112 struct filemask_section_name *filemask_section_name; 113 struct input_rule *input_rule; 114 struct output_rule *output_rule; 115 struct assignment *assignment; 116 struct filename_list *filename_list; 117 struct version *version; 118 struct id_list *id_list; 119 } 120 /* Line 1489 of yacc.c. */ 121 #line 122 "ldscript.h" 122 YYSTYPE; 123 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 124 # define YYSTYPE_IS_DECLARED 1 125 # define YYSTYPE_IS_TRIVIAL 1 126 #endif 127 128 extern YYSTYPE ldlval; 129 130