ldgram.c
来自「基于4个mips核的noc设计」· C语言 代码 · 共 1,379 行 · 第 1/5 页
C
1,379 行
/* A Bison parser, made from ldgram.y by GNU Bison version 1.28 */#define YYBISON 1 /* Identify Bison output. */#define INT 257#define NAME 258#define LNAME 259#define PLUSEQ 260#define MINUSEQ 261#define MULTEQ 262#define DIVEQ 263#define LSHIFTEQ 264#define RSHIFTEQ 265#define ANDEQ 266#define OREQ 267#define OROR 268#define ANDAND 269#define EQ 270#define NE 271#define LE 272#define GE 273#define LSHIFT 274#define RSHIFT 275#define UNARY 276#define END 277#define ALIGN_K 278#define BLOCK 279#define BIND 280#define QUAD 281#define SQUAD 282#define LONG 283#define SHORT 284#define BYTE 285#define SECTIONS 286#define PHDRS 287#define SORT 288#define SIZEOF_HEADERS 289#define OUTPUT_FORMAT 290#define FORCE_COMMON_ALLOCATION 291#define OUTPUT_ARCH 292#define INCLUDE 293#define MEMORY 294#define DEFSYMEND 295#define NOLOAD 296#define DSECT 297#define COPY 298#define INFO 299#define OVERLAY 300#define DEFINED 301#define TARGET_K 302#define SEARCH_DIR 303#define MAP 304#define ENTRY 305#define NEXT 306#define SIZEOF 307#define ADDR 308#define LOADADDR 309#define MAX_K 310#define MIN_K 311#define STARTUP 312#define HLL 313#define SYSLIB 314#define FLOAT 315#define NOFLOAT 316#define NOCROSSREFS 317#define ORIGIN 318#define FILL 319#define LENGTH 320#define CREATE_OBJECT_SYMBOLS 321#define INPUT 322#define GROUP 323#define OUTPUT 324#define CONSTRUCTORS 325#define ALIGNMOD 326#define AT 327#define PROVIDE 328#define CHIP 329#define LIST 330#define SECT 331#define ABSOLUTE 332#define LOAD 333#define NEWLINE 334#define ENDWORD 335#define ORDER 336#define NAMEWORD 337#define ASSERT_K 338#define FORMAT 339#define PUBLIC 340#define BASE 341#define ALIAS 342#define TRUNCATE 343#define REL 344#define INPUT_SCRIPT 345#define INPUT_MRI_SCRIPT 346#define INPUT_DEFSYM 347#define CASE 348#define EXTERN 349#define START 350#define VERS_TAG 351#define VERS_IDENTIFIER 352#define GLOBAL 353#define LOCAL 354#define VERSIONK 355#define INPUT_VERSION_SCRIPT 356#define KEEP 357#define EXCLUDE_FILE 358#line 22 "ldgram.y"/* */#define DONTDECLARE_MALLOC#include "bfd.h"#include "sysdep.h"#include "bfdlink.h"#include "ld.h" #include "ldexp.h"#include "ldver.h"#include "ldlang.h"#include "ldfile.h"#include "ldemul.h"#include "ldmisc.h"#include "ldmain.h"#include "mri.h"#include "ldctor.h"#include "ldlex.h"#ifndef YYDEBUG#define YYDEBUG 1#endifstatic enum section_type sectype;lang_memory_region_type *region;struct wildcard_spec current_file;boolean ldgram_want_filename = true;boolean had_script = false;boolean force_make_executable = false;boolean ldgram_in_script = false;boolean ldgram_had_equals = false;boolean ldgram_had_keep = false;char *ldgram_vers_current_lang = NULL;#define ERROR_NAME_MAX 20static char *error_names[ERROR_NAME_MAX];static int error_index;#define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;#define POP_ERROR() error_index--;#line 68 "ldgram.y"typedef union { bfd_vma integer; char *name; const char *cname; struct wildcard_spec wildcard; struct name_list *name_list; int token; union etree_union *etree; struct phdr_info { boolean filehdr; boolean phdrs; union etree_union *at; union etree_union *flags; } phdr; struct lang_nocrossref *nocrossref; struct lang_output_section_phdr_list *section_phdr; struct bfd_elf_version_deps *deflist; struct bfd_elf_version_expr *versyms; struct bfd_elf_version_tree *versnode;} YYSTYPE;#include <stdio.h>#ifndef __cplusplus#ifndef __STDC__#define const#endif#endif#define YYFINAL 589#define YYFLAG -32768#define YYNTBASE 128#define YYTRANSLATE(x) ((unsigned)(x) <= 358 ? yytranslate[x] : 233)static const short yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 126, 2, 2, 2, 34, 21, 2, 37, 123, 32, 30, 121, 31, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 122, 24, 10, 25, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 124, 2, 125, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 49, 19, 50, 127, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 22, 23, 26, 27, 28, 29, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120};#if YYDEBUG != 0static const short yyprhs[] = { 0, 0, 3, 6, 9, 12, 14, 15, 20, 21, 24, 28, 29, 32, 37, 39, 41, 44, 46, 51, 56, 60, 63, 68, 72, 77, 82, 87, 92, 97, 100, 103, 106, 111, 116, 119, 122, 125, 128, 129, 135, 138, 139, 143, 146, 147, 149, 153, 155, 159, 160, 162, 166, 168, 171, 175, 176, 179, 182, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 208, 213, 218, 223, 232, 237, 239, 244, 245, 251, 256, 257, 263, 268, 273, 275, 279, 282, 284, 288, 291, 296, 299, 302, 303, 308, 311, 313, 315, 317, 319, 325, 330, 339, 342, 344, 346, 350, 352, 353, 358, 359, 365, 367, 368, 374, 377, 379, 381, 383, 388, 390, 395, 400, 403, 405, 406, 408, 410, 412, 414, 416, 418, 421, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 446, 450, 457, 459, 460, 466, 469, 473, 474, 475, 483, 487, 491, 492, 496, 498, 501, 503, 506, 511, 516, 520, 524, 526, 531, 535, 536, 538, 540, 541, 544, 548, 549, 552, 555, 559, 564, 567, 570, 573, 577, 581, 585, 589, 593, 597, 601, 605, 609, 613, 617, 621, 625, 629, 633, 637, 643, 647, 651, 656, 658, 660, 665, 670, 675, 680, 685, 690, 692, 699, 706, 713, 717, 718, 723, 724, 725, 726, 727, 728, 729, 746, 747, 748, 749, 750, 751, 769, 770, 771, 779, 781, 783, 785, 787, 789, 793, 794, 797, 801, 804, 811, 822, 825, 827, 828, 830, 833, 834, 835, 839, 840, 841, 842, 843, 855, 860, 861, 864, 865, 866, 873, 875, 876, 880, 886, 887, 891, 892, 895, 896, 902, 904, 907, 913, 920, 922, 925, 926, 929, 934, 939, 948, 950, 954, 955};static const short yyrhs[] = { 107, 142, 0, 108, 132, 0, 118, 223, 0, 109, 130, 0, 4, 0, 0, 131, 4, 10, 188, 0, 0, 133, 134, 0, 134, 135, 96, 0, 0, 91, 188, 0, 91, 188, 121, 188, 0, 4, 0, 92, 0, 98, 137, 0, 97, 0, 102, 4, 10, 188, 0, 102, 4, 121, 188, 0, 102, 4, 188, 0, 101, 4, 0, 93, 4, 121, 188, 0, 93, 4, 188, 0, 93, 4, 10, 188, 0, 38, 4, 10, 188, 0, 38, 4, 121, 188, 0, 88, 4, 10, 188,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?