📄 crossrefp.h
字号:
/*Copyright (c) 2000, Red Hat, Inc.This file is part of Source-Navigator.Source-Navigator is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public License as publishedby the Free Software Foundation; either version 2, or (at your option)any later version.Source-Navigator is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public License alongwith Source-Navigator; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330, Boston,MA 02111-1307, USA.*/#include "cpdefines.h"#include "sn.h"#include "symbol.h"#include "cplex.h"#if VMFL#include <vmalloc.h>#endif /* VMFL */#define False 0#define True (!False)#define LEVEL_1 1#define LEVEL_2 2#define d_ElemFirst( x ) ((x)==0?0:(x)->ElemFirst)#define step(i) (iva+=(i))#define CONSTRUCTOR (1<<0)#define DESTRUCTOR (1<<1)#define DECLARATION_CHECK 955#define DECLARATOR_CHECK 956#define CLASS_CHECK 957#define ENUM_CHECK 958#define EXPR_CHECK 959#define TYPE_CHECK 960#define OPER_CHECK 961#define BASE_CHECK 962#define NAME_CHECK 963#define LIST_CHECK 964#define INIT_CHECK 965#define MEMBER_CHECK 966#define ENUMERATOR_CHECK 967#define MACRO_USE#ifdef MACRO_USE/* #define token(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+(i))%ZZSIZE].yychar) *//* #define ident(i) (v[(iva+i)%ZZSIZE].yytext) *//* #define identlen(i) (v[(iva+i)%ZZSIZE].yyleng) *//* #define ident_last() (v[(ivt-1)%ZZSIZE].yytext) *//* #define f_lineno(i) (v[(iva+i)%ZZSIZE].yylineno) *//* #define f_lineno_last() (v[(ivt-1)%ZZSIZE].yylineno) *//* #define f_charno(i) (v[(iva+i)%ZZSIZE].yycharno) */#define token(i) ((ivt<=iva+(i)?f_read(i),0:0), keyw_cpp ? v[(iva+(i))&ZZMASK].yytoken_cpp : v[(iva+(i))&ZZMASK].yytoken )/* #define ident(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+i)&ZZMASK].yytext) */#define identleng(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+i)&ZZMASK].yytext.leng)#define identlen(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+i)&ZZMASK].yytext.leng)#define f_lineno(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+i)&ZZMASK].yylineno)#define f_lineno_last() (v[(ivt-1)&ZZMASK].yylineno)#define f_charno(i) ((ivt<=iva+(i)?f_read(i),0:0), v[(iva+i)&ZZMASK].yycharno)#elseextern int token( int i );extern int f_lineno( int i );extern int f_charno( int i );#endifextern char *ident( int i );#define DECLARATION_UNKNOWN 0#define DECLARATION_ASM 1#define DECLARATION_TEMPLATE 2#define DECLARATION_LINKAGE_SPECIFICATION 3#define DECLARATION_NAMESPACE_DEFINITION 4#define DECLARATION_NAMESPACE_ALIAS_DEFINITION 5#define DECLARATION_USING_DIRECTIVE 6#define DECLARATION_USING 7#define DECLARATION_OBJECT 8#define DECLARATION_MEMBER 9#define DECLARATION_ARGUMENT 10#define LBRACE '{'#define RBRACE '}'#define FUNCTION 1#define POINTER 2#define ARRAY 3#define POINTER_STAR 4#define POINTER_AMPERSAND 5#define Save() int iva_save = iva#define Restore() iva = iva_save#define Save2() int iva_save2 = iva#define Restore2() iva = iva_save2typedef struct sDeclaration sDeclaration_t , *Declaration_t ;typedef struct sDeclarationSpecial sDeclarationSpecial_t, *DeclarationSpecial_t;typedef struct sDeclarator sDeclarator_t , *Declarator_t ;typedef struct sClass sClass_t , *Class_t ;typedef struct sEnum sEnum_t , *Enum_t ;typedef struct sComp sComp_t , *Comp_t ;typedef struct sExpr sExpr_t , *Expr_t ;typedef struct sType sType_t , *Type_t ;typedef struct sOper sOper_t , *Oper_t ;typedef struct sBase sBase_t , *Base_t ;typedef struct sName sName_t , *Name_t ;typedef struct sList sList_t , *List_t ;typedef struct sElem sElem_t , *Elem_t ;typedef struct sInit sInit_t , *Init_t ;typedef struct sMember sMember_t , *Member_t ;typedef struct sEnumerator sEnumerator_t , *Enumerator_t ;typedef int Boolean_t;struct sDeclaration{ Declaration_t DeclarationNext; int iCheck; int iType; int storage_class; int fct_specifier; int s_ellipsis; int s_const; int s_volatile; int s_char; int s_short; int s_int; int s_long; int s_signed; int s_unsigned; int s_float; int s_double; int s_bool; int s_void; Name_t Name; Class_t Class; Enum_t Enum; List_t ListDeclarator; int lineno;};struct sDeclarationSpecial{ Declaration_t DeclarationNext; int iCheck; int iType; Name_t Name1; /* namespace_definition , namespace_alias_definition , using_declaration , using_directive */ Name_t Name2; /* namespace_alias_definition , using_declaration */ List_t ListDeclaration; /* namespace_definition , linkage_specification */ List_t ListTemplateArgument; /* template */ Declaration_t Declaration; /* template */};struct sDeclarator{ Declarator_t DeclaratorNext; int iCheck; Name_t Name; Expr_t Expr; /* inicializalas argument_declarator-nal */ List_t ListExpr; /* inicializalas constructor-nal */ Init_t Init; /* inicializalas */ List_t ListOper; Boolean_t bStrange; /* ha indokolatlan zarojelezes van a declaratorban ( Pl.: Boolean (*a); ) akkor True-ra allitjuk */ int lineno_beg; int charno_beg; int lineno_end; int charno_end;};struct sType{ Type_t TypeNext; int iCheck; int s_unknown; int fct_specifier; int s_ellipsis; int s_const; int s_volatile; int s_char; int s_short; int s_int; int s_long; int s_signed; int s_unsigned; int s_float; int s_double; int s_bool; int s_void; Name_t Name; Class_t Class; Enum_t Enum; Declarator_t Declarator;};struct sClass{ Class_t ClassNext; int iCheck; Name_t Name; int iAccess; /* SN_PRIVATE, SN_PUBLIC, SN_PROTECTED */ int iType; /* SN_CLASS, SN_STRUCT, SN_UNION */ List_t ListBase; List_t ListMember;};struct sEnum{ Enum_t EnumNext; int iCheck; Name_t Name; List_t ListEnumerator;};struct sExpr{ Expr_t ExprNext; int iCheck; int _operator; Name_t Name; Type_t Type; Expr_t Expr1; Expr_t Expr2; Expr_t Expr3; Init_t Init; List_t ListExpr; int lineno_beg; int charno_beg; int lineno_end; int charno_end;};struct sOper{ Oper_t OperNext; int iCheck; int type; /* POINTER_STAR, POINTER_AMPERSAND, FUNCTION, ARRAY */ int s_const; /* by pointer */ int s_volatile; /* by pointer */ Name_t Name; /* by pointer */ Expr_t Expr; /* by array */ List_t ListDeclaration; /* by function */};struct sBase{ Base_t BaseNext; int iCheck; int iAccess; Boolean_t bVirtual; Name_t Name;};struct sName{ Name_t NameNext; int iCheck; char *pcName;};struct sList
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -