⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse.c

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 C
📖 第 1 页 / 共 5 页
字号:
/*  A Bison parser, made from ./parse.y by  GNU Bison version 1.27  */#define YYBISON 1  /* Identify Bison output.  */#define yyparse java_parse#define yylex java_lex#define yyerror java_error#define yylval java_lval#define yychar java_char#define yydebug java_debug#define yynerrs java_nerrs#define	PLUS_TK	257#define	MINUS_TK	258#define	MULT_TK	259#define	DIV_TK	260#define	REM_TK	261#define	LS_TK	262#define	SRS_TK	263#define	ZRS_TK	264#define	AND_TK	265#define	XOR_TK	266#define	OR_TK	267#define	BOOL_AND_TK	268#define	BOOL_OR_TK	269#define	EQ_TK	270#define	NEQ_TK	271#define	GT_TK	272#define	GTE_TK	273#define	LT_TK	274#define	LTE_TK	275#define	PLUS_ASSIGN_TK	276#define	MINUS_ASSIGN_TK	277#define	MULT_ASSIGN_TK	278#define	DIV_ASSIGN_TK	279#define	REM_ASSIGN_TK	280#define	LS_ASSIGN_TK	281#define	SRS_ASSIGN_TK	282#define	ZRS_ASSIGN_TK	283#define	AND_ASSIGN_TK	284#define	XOR_ASSIGN_TK	285#define	OR_ASSIGN_TK	286#define	PUBLIC_TK	287#define	PRIVATE_TK	288#define	PROTECTED_TK	289#define	STATIC_TK	290#define	FINAL_TK	291#define	SYNCHRONIZED_TK	292#define	VOLATILE_TK	293#define	TRANSIENT_TK	294#define	NATIVE_TK	295#define	PAD_TK	296#define	ABSTRACT_TK	297#define	MODIFIER_TK	298#define	DECR_TK	299#define	INCR_TK	300#define	DEFAULT_TK	301#define	IF_TK	302#define	THROW_TK	303#define	BOOLEAN_TK	304#define	DO_TK	305#define	IMPLEMENTS_TK	306#define	THROWS_TK	307#define	BREAK_TK	308#define	IMPORT_TK	309#define	ELSE_TK	310#define	INSTANCEOF_TK	311#define	RETURN_TK	312#define	VOID_TK	313#define	CATCH_TK	314#define	INTERFACE_TK	315#define	CASE_TK	316#define	EXTENDS_TK	317#define	FINALLY_TK	318#define	SUPER_TK	319#define	WHILE_TK	320#define	CLASS_TK	321#define	SWITCH_TK	322#define	CONST_TK	323#define	TRY_TK	324#define	FOR_TK	325#define	NEW_TK	326#define	CONTINUE_TK	327#define	GOTO_TK	328#define	PACKAGE_TK	329#define	THIS_TK	330#define	BYTE_TK	331#define	SHORT_TK	332#define	INT_TK	333#define	LONG_TK	334#define	CHAR_TK	335#define	INTEGRAL_TK	336#define	FLOAT_TK	337#define	DOUBLE_TK	338#define	FP_TK	339#define	ID_TK	340#define	REL_QM_TK	341#define	REL_CL_TK	342#define	NOT_TK	343#define	NEG_TK	344#define	ASSIGN_ANY_TK	345#define	ASSIGN_TK	346#define	OP_TK	347#define	CP_TK	348#define	OCB_TK	349#define	CCB_TK	350#define	OSB_TK	351#define	CSB_TK	352#define	SC_TK	353#define	C_TK	354#define	DOT_TK	355#define	STRING_LIT_TK	356#define	CHAR_LIT_TK	357#define	INT_LIT_TK	358#define	FP_LIT_TK	359#define	TRUE_TK	360#define	FALSE_TK	361#define	BOOL_LIT_TK	362#define	NULL_TK	363#line 48 "./parse.y"#include "config.h"#include "system.h"#include <dirent.h>#include "tree.h"#include "rtl.h"#include "obstack.h"#include "toplev.h"#include "flags.h"#include "java-tree.h"#include "jcf.h"#include "lex.h"#include "parse.h"#include "zipfile.h"#include "convert.h"#include "buffer.h"#include "xref.h"#include "except.h"#ifndef DIR_SEPARATOR#define DIR_SEPARATOR '/'#endif/* Local function prototypes */static char *java_accstring_lookup PROTO ((int));static void  classitf_redefinition_error PROTO ((char *,tree, tree, tree));static void  variable_redefinition_error PROTO ((tree, tree, tree, int));static void  check_modifiers PROTO ((char *, int, int));static tree  create_class PROTO ((int, tree, tree, tree));static tree  create_interface PROTO ((int, tree, tree));static tree  find_field PROTO ((tree, tree));static tree lookup_field_wrapper PROTO ((tree, tree));static int   duplicate_declaration_error_p PROTO ((tree, tree, tree));static void  register_fields PROTO ((int, tree, tree));static tree parser_qualified_classname PROTO ((tree));static int  parser_check_super PROTO ((tree, tree, tree));static int  parser_check_super_interface PROTO ((tree, tree, tree));static void check_modifiers_consistency PROTO ((int));static tree lookup_cl PROTO ((tree));static tree lookup_java_method2 PROTO ((tree, tree, int));static tree method_header PROTO ((int, tree, tree, tree));static void fix_method_argument_names PROTO ((tree ,tree));static tree method_declarator PROTO ((tree, tree));static void parse_warning_context PVPROTO ((tree cl, const char *msg, ...))  ATTRIBUTE_PRINTF_2;static void issue_warning_error_from_context PROTO ((tree, const char *msg, va_list));static tree parse_jdk1_1_error PROTO ((char *));static void complete_class_report_errors PROTO ((jdep *));static int process_imports PROTO ((void));static void read_import_dir PROTO ((tree));static int find_in_imports_on_demand PROTO ((tree));static int find_in_imports PROTO ((tree));static int check_pkg_class_access PROTO ((tree, tree));static tree resolve_package PROTO ((tree, tree *));static tree lookup_package_type PROTO ((char *, int));static tree lookup_package_type_and_set_next PROTO ((char *, int, tree *));static tree resolve_class PROTO ((tree, tree, tree));static void declare_local_variables PROTO ((int, tree, tree));static void source_start_java_method PROTO ((tree));static void source_end_java_method PROTO ((void));static void expand_start_java_method PROTO ((tree));static tree find_name_in_single_imports PROTO ((tree));static void check_abstract_method_header PROTO ((tree));static tree lookup_java_interface_method2 PROTO ((tree, tree));static tree resolve_expression_name PROTO ((tree, tree *));static tree maybe_create_class_interface_decl PROTO ((tree, tree, tree));static int check_class_interface_creation PROTO ((int, int, tree, 						  tree, tree, tree));static tree patch_method_invocation PROTO ((tree, tree, tree, 					    int *, tree *));static int breakdown_qualified PROTO ((tree *, tree *, tree));static tree resolve_and_layout PROTO ((tree, tree));static tree resolve_no_layout PROTO ((tree, tree));static int invocation_mode PROTO ((tree, int));static tree find_applicable_accessible_methods_list PROTO ((int, tree, 							    tree, tree));static void search_applicable_methods_list PROTO ((int, tree, tree, tree, 						   tree *, tree *));static tree find_most_specific_methods_list PROTO ((tree));static int argument_types_convertible PROTO ((tree, tree));static tree patch_invoke PROTO ((tree, tree, tree));static tree lookup_method_invoke PROTO ((int, tree, tree, tree, tree));static tree register_incomplete_type PROTO ((int, tree, tree, tree));static tree obtain_incomplete_type PROTO ((tree));static tree java_complete_lhs PROTO ((tree));static tree java_complete_tree PROTO ((tree));static void java_complete_expand_method PROTO ((tree));static int  unresolved_type_p PROTO ((tree, tree *));static void create_jdep_list PROTO ((struct parser_ctxt *));static tree build_expr_block PROTO ((tree, tree));static tree enter_block PROTO ((void));static tree enter_a_block PROTO ((tree));static tree exit_block PROTO ((void));static tree lookup_name_in_blocks PROTO ((tree));static void maybe_absorb_scoping_blocks PROTO ((void));static tree build_method_invocation PROTO ((tree, tree));static tree build_new_invocation PROTO ((tree, tree));static tree build_assignment PROTO ((int, int, tree, tree));static tree build_binop PROTO ((enum tree_code, int, tree, tree));static int check_final_assignment PROTO ((tree ,tree));static tree patch_assignment PROTO ((tree, tree, tree ));static tree patch_binop PROTO ((tree, tree, tree));static tree build_unaryop PROTO ((int, int, tree));static tree build_incdec PROTO ((int, int, tree, int));static tree patch_unaryop PROTO ((tree, tree));static tree build_cast PROTO ((int, tree, tree));static tree build_null_of_type PROTO ((tree));static tree patch_cast PROTO ((tree, tree));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -