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