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