1cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* A Bison parser, made by GNU Bison 2.3. */ 2441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 3cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Skeleton interface for Bison's Yacc-like parsers in C 4cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 5cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Free Software Foundation, Inc. 7441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 8441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project This program is free software; you can redistribute it and/or modify 9441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project it under the terms of the GNU General Public License as published by 10441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project the Free Software Foundation; either version 2, or (at your option) 11441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project any later version. 12441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 13441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project This program is distributed in the hope that it will be useful, 14441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project but WITHOUT ANY WARRANTY; without even the implied warranty of 15441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project GNU General Public License for more details. 17441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 18441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project You should have received a copy of the GNU General Public License 19441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project along with this program; if not, write to the Free Software 20cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Foundation, Inc., 51 Franklin Street, Fifth Floor, 21cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Boston, MA 02110-1301, USA. */ 22cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 23cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* As a special exception, you may create a larger work that contains 24cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng part or all of the Bison parser skeleton and distribute that work 25cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng under terms of your choice, so long as that work isn't itself a 26cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng parser generator using the skeleton or a modified version thereof 27cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng as a parser skeleton. Alternatively, if you modify or redistribute 28cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng the parser skeleton itself, you may (at your option) remove this 29cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng special exception, which will cause the skeleton and the resulting 30cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Bison output files to be licensed under the GNU General Public 31cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng License without this special exception. 32441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 33cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng This special exception was added by the Free Software Foundation in 34cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng version 2.2 of Bison. */ 35441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 36441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Tokens. */ 37441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YYTOKENTYPE 38441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# define YYTOKENTYPE 39441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /* Put the tokens into the symbol table, so that GDB and other debuggers 40441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project know about them. */ 41441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project enum yytokentype { 42441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project kADD_OP = 258, 43441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project kALIGN = 259, 44cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kAS_NEEDED = 260, 45cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kENTRY = 261, 46cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kEXCLUDE_FILE = 262, 47cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kFILENAME = 263, 48cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kGLOBAL = 264, 49cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kGROUP = 265, 50cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kID = 266, 51cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kINPUT = 267, 52cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kINTERP = 268, 53cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kKEEP = 269, 54cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kLOCAL = 270, 55cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kMODE = 271, 56cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kMUL_OP = 272, 57cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kNUM = 273, 58cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kOUTPUT_FORMAT = 274, 59cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kPAGESIZE = 275, 60cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kPROVIDE = 276, 61cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kSEARCH_DIR = 277, 62cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kSEGMENT = 278, 63cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kSIZEOF_HEADERS = 279, 64cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kSORT = 280, 65cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kVERSION = 281, 66cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng kVERSION_SCRIPT = 282, 67cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ADD_OP = 283, 68cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng MUL_OP = 284 69441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project }; 70441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 71cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Tokens. */ 72441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define kADD_OP 258 73441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define kALIGN 259 74cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kAS_NEEDED 260 75cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kENTRY 261 76cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kEXCLUDE_FILE 262 77cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kFILENAME 263 78cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kGLOBAL 264 79cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kGROUP 265 80cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kID 266 81cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kINPUT 267 82cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kINTERP 268 83cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kKEEP 269 84cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kLOCAL 270 85cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kMODE 271 86cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kMUL_OP 272 87cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kNUM 273 88cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kOUTPUT_FORMAT 274 89cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kPAGESIZE 275 90cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kPROVIDE 276 91cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kSEARCH_DIR 277 92cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kSEGMENT 278 93cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kSIZEOF_HEADERS 279 94cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kSORT 280 95cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kVERSION 281 96cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define kVERSION_SCRIPT 282 97cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define ADD_OP 283 98cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define MUL_OP 284 99441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 100441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 101441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 102441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 103cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 104cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef union YYSTYPE 105cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 71 "ldscript.y" 106cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ 107441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project uintmax_t num; 108441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project enum expression_tag op; 109441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project char *str; 110441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct expression *expr; 111441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct input_section_name *sectionname; 112441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct filemask_section_name *filemask_section_name; 113441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct input_rule *input_rule; 114441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct output_rule *output_rule; 115441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct assignment *assignment; 116441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct filename_list *filename_list; 117441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct version *version; 118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct id_list *id_list; 119cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng} 120cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Line 1489 of yacc.c. */ 121cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 122 "ldscript.h" 122cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng YYSTYPE; 123441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 124441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# define YYSTYPE_IS_DECLARED 1 125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# define YYSTYPE_IS_TRIVIAL 1 126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 127441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 128441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectextern YYSTYPE ldlval; 129441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 130