GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
cp-name-parser.c File Reference
#include "defs.h"
#include <unistd.h>
#include "gdbsupport/gdb-safe-ctype.h"
#include "demangle.h"
#include "cp-support.h"
#include "c-support.h"
#include "parser-defs.h"
#include "yy-remap.h"
#include <limits.h>

Go to the source code of this file.

Classes

struct  demangle_info
 
union  cp_name_parser_YYSTYPE
 
struct  cp_name_parser_YYSTYPE::nested
 
struct  cpname_state
 
union  cp_name_parser_yyalloc
 

Macros

#define YYBISON   30802
 
#define YYBISON_VERSION   "3.8.2"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define GDB_YY_REMAP_PREFIX   cpname
 
#define ALLOC_CHUNK   100
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_NULLPTRPTR   ((void*)0)
 
#define YYTOKENTYPE
 
#define YYEMPTY   -2
 
#define YYEOF   0
 
#define YYerror   256
 
#define YYUNDEF   257
 
#define INT   258
 
#define FLOAT   259
 
#define NAME   260
 
#define STRUCT   261
 
#define CLASS   262
 
#define UNION   263
 
#define ENUM   264
 
#define SIZEOF   265
 
#define UNSIGNED   266
 
#define COLONCOLON   267
 
#define TEMPLATE   268
 
#define ERROR   269
 
#define NEW   270
 
#define DELETE   271
 
#define OPERATOR   272
 
#define STATIC_CAST   273
 
#define REINTERPRET_CAST   274
 
#define DYNAMIC_CAST   275
 
#define SIGNED_KEYWORD   276
 
#define LONG   277
 
#define SHORT   278
 
#define INT_KEYWORD   279
 
#define CONST_KEYWORD   280
 
#define VOLATILE_KEYWORD   281
 
#define DOUBLE_KEYWORD   282
 
#define BOOL   283
 
#define ELLIPSIS   284
 
#define RESTRICT   285
 
#define VOID   286
 
#define FLOAT_KEYWORD   287
 
#define CHAR   288
 
#define WCHAR_T   289
 
#define ASSIGN_MODIFY   290
 
#define TRUEKEYWORD   291
 
#define FALSEKEYWORD   292
 
#define DEMANGLER_SPECIAL   293
 
#define CONSTRUCTION_VTABLE   294
 
#define CONSTRUCTION_IN   295
 
#define OROR   296
 
#define ANDAND   297
 
#define EQUAL   298
 
#define NOTEQUAL   299
 
#define LEQ   300
 
#define GEQ   301
 
#define LSH   302
 
#define RSH   303
 
#define UNARY   304
 
#define INCREMENT   305
 
#define DECREMENT   306
 
#define ARROW   307
 
#define cp_name_parser_YYSTYPE_IS_TRIVIAL   1
 
#define cp_name_parser_YYSTYPE_IS_DECLARED   1
 
#define QUAL_CONST   1
 
#define QUAL_RESTRICT   2
 
#define QUAL_VOLATILE   4
 
#define INT_CHAR   (1 << 0)
 
#define INT_SHORT   (1 << 1)
 
#define INT_LONG   (1 << 2)
 
#define INT_LLONG   (1 << 3)
 
#define INT_SIGNED   (1 << 4)
 
#define INT_UNSIGNED   (1 << 5)
 
#define d_left(dc)   (dc)->u.s_binary.left
 
#define d_right(dc)   (dc)->u.s_binary.right
 
#define YYPTRDIFF_T   long
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYSIZE_T   unsigned
 
#define YYSIZE_MAXIMUM
 
#define YYSIZEOF(X)   YY_CAST (YYPTRDIFF_T, sizeof (X))
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YY_USE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   xmalloc
 
#define YYFREE   xfree
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union cp_name_parser_yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   84
 
#define YYLAST   1137
 
#define YYNTOKENS   75
 
#define YYNNTS   40
 
#define YYNRULES   195
 
#define YYNSTATES   325
 
#define YYMAXUTOK   307
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (cp_name_parser_yysymbol_kind_t, yystos[State])
 
#define YYPACT_NINF   (-187)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-1)
 
#define yytable_value_is_error(Yyn)    0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYNOMEM   goto yyexhaustedlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYERRCODE   YYUNDEF
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
#define HANDLE_QUAL(TYPE, MTYPE, QUAL)
 
#define HANDLE_SPECIAL(string, comp)
 
#define HANDLE_TOKEN2(string, token)
 
#define HANDLE_TOKEN3(string, token)
 

Typedefs

typedef enum yytokentype yytoken_kind_t
 
typedef union cp_name_parser_YYSTYPE cp_name_parser_YYSTYPE
 
typedef enum cp_name_parser_yysymbol_kind_t cp_name_parser_yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_int16 yy_state_t
 
typedef int yy_state_fast_t
 

Enumerations

enum  yytokentype {
  YYEMPTY = -2 , YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 ,
  INT = 258 , FLOAT = 259 , NAME = 260 , STRUCT = 261 ,
  CLASS = 262 , UNION = 263 , ENUM = 264 , SIZEOF = 265 ,
  UNSIGNED = 266 , COLONCOLON = 267 , TEMPLATE = 268 , ERROR = 269 ,
  NEW = 270 , DELETE = 271 , OPERATOR = 272 , STATIC_CAST = 273 ,
  REINTERPRET_CAST = 274 , DYNAMIC_CAST = 275 , SIGNED_KEYWORD = 276 , LONG = 277 ,
  SHORT = 278 , INT_KEYWORD = 279 , CONST_KEYWORD = 280 , VOLATILE_KEYWORD = 281 ,
  DOUBLE_KEYWORD = 282 , BOOL = 283 , ELLIPSIS = 284 , RESTRICT = 285 ,
  VOID = 286 , FLOAT_KEYWORD = 287 , CHAR = 288 , WCHAR_T = 289 ,
  ASSIGN_MODIFY = 290 , TRUEKEYWORD = 291 , FALSEKEYWORD = 292 , DEMANGLER_SPECIAL = 293 ,
  CONSTRUCTION_VTABLE = 294 , CONSTRUCTION_IN = 295 , OROR = 296 , ANDAND = 297 ,
  EQUAL = 298 , NOTEQUAL = 299 , LEQ = 300 , GEQ = 301 ,
  LSH = 302 , RSH = 303 , UNARY = 304 , INCREMENT = 305 ,
  DECREMENT = 306 , ARROW = 307
}
 
enum  cp_name_parser_yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_INT = 3 , YYSYMBOL_FLOAT = 4 , YYSYMBOL_NAME = 5 , YYSYMBOL_STRUCT = 6 ,
  YYSYMBOL_CLASS = 7 , YYSYMBOL_UNION = 8 , YYSYMBOL_ENUM = 9 , YYSYMBOL_SIZEOF = 10 ,
  YYSYMBOL_UNSIGNED = 11 , YYSYMBOL_COLONCOLON = 12 , YYSYMBOL_TEMPLATE = 13 , YYSYMBOL_ERROR = 14 ,
  YYSYMBOL_NEW = 15 , YYSYMBOL_DELETE = 16 , YYSYMBOL_OPERATOR = 17 , YYSYMBOL_STATIC_CAST = 18 ,
  YYSYMBOL_REINTERPRET_CAST = 19 , YYSYMBOL_DYNAMIC_CAST = 20 , YYSYMBOL_SIGNED_KEYWORD = 21 , YYSYMBOL_LONG = 22 ,
  YYSYMBOL_SHORT = 23 , YYSYMBOL_INT_KEYWORD = 24 , YYSYMBOL_CONST_KEYWORD = 25 , YYSYMBOL_VOLATILE_KEYWORD = 26 ,
  YYSYMBOL_DOUBLE_KEYWORD = 27 , YYSYMBOL_BOOL = 28 , YYSYMBOL_ELLIPSIS = 29 , YYSYMBOL_RESTRICT = 30 ,
  YYSYMBOL_VOID = 31 , YYSYMBOL_FLOAT_KEYWORD = 32 , YYSYMBOL_CHAR = 33 , YYSYMBOL_WCHAR_T = 34 ,
  YYSYMBOL_ASSIGN_MODIFY = 35 , YYSYMBOL_TRUEKEYWORD = 36 , YYSYMBOL_FALSEKEYWORD = 37 , YYSYMBOL_DEMANGLER_SPECIAL = 38 ,
  YYSYMBOL_CONSTRUCTION_VTABLE = 39 , YYSYMBOL_CONSTRUCTION_IN = 40 , YYSYMBOL_41_ = 41 , YYSYMBOL_42_ = 42 ,
  YYSYMBOL_43_ = 43 , YYSYMBOL_44_ = 44 , YYSYMBOL_OROR = 45 , YYSYMBOL_ANDAND = 46 ,
  YYSYMBOL_47_ = 47 , YYSYMBOL_48_ = 48 , YYSYMBOL_49_ = 49 , YYSYMBOL_EQUAL = 50 ,
  YYSYMBOL_NOTEQUAL = 51 , YYSYMBOL_52_ = 52 , YYSYMBOL_53_ = 53 , YYSYMBOL_LEQ = 54 ,
  YYSYMBOL_GEQ = 55 , YYSYMBOL_LSH = 56 , YYSYMBOL_RSH = 57 , YYSYMBOL_58_ = 58 ,
  YYSYMBOL_59_ = 59 , YYSYMBOL_60_ = 60 , YYSYMBOL_61_ = 61 , YYSYMBOL_62_ = 62 ,
  YYSYMBOL_63_ = 63 , YYSYMBOL_UNARY = 64 , YYSYMBOL_INCREMENT = 65 , YYSYMBOL_DECREMENT = 66 ,
  YYSYMBOL_ARROW = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 ,
  YYSYMBOL_71_ = 71 , YYSYMBOL_72_ = 72 , YYSYMBOL_73_ = 73 , YYSYMBOL_74_ = 74 ,
  YYSYMBOL_YYACCEPT = 75 , YYSYMBOL_result = 76 , YYSYMBOL_start = 77 , YYSYMBOL_start_opt = 78 ,
  YYSYMBOL_function = 79 , YYSYMBOL_demangler_special = 80 , YYSYMBOL_oper = 81 , YYSYMBOL_conversion_op = 82 ,
  YYSYMBOL_conversion_op_name = 83 , YYSYMBOL_unqualified_name = 84 , YYSYMBOL_colon_name = 85 , YYSYMBOL_name = 86 ,
  YYSYMBOL_colon_ext_name = 87 , YYSYMBOL_colon_ext_only = 88 , YYSYMBOL_ext_only_name = 89 , YYSYMBOL_nested_name = 90 ,
  YYSYMBOL_templ = 91 , YYSYMBOL_template_params = 92 , YYSYMBOL_template_arg = 93 , YYSYMBOL_function_args = 94 ,
  YYSYMBOL_function_arglist = 95 , YYSYMBOL_qualifiers_opt = 96 , YYSYMBOL_qualifier = 97 , YYSYMBOL_qualifiers = 98 ,
  YYSYMBOL_int_part = 99 , YYSYMBOL_int_seq = 100 , YYSYMBOL_builtin_type = 101 , YYSYMBOL_ptr_operator = 102 ,
  YYSYMBOL_array_indicator = 103 , YYSYMBOL_typespec_2 = 104 , YYSYMBOL_abstract_declarator = 105 , YYSYMBOL_direct_abstract_declarator = 106 ,
  YYSYMBOL_abstract_declarator_fn = 107 , YYSYMBOL_type = 108 , YYSYMBOL_declarator = 109 , YYSYMBOL_direct_declarator = 110 ,
  YYSYMBOL_declarator_1 = 111 , YYSYMBOL_direct_declarator_1 = 112 , YYSYMBOL_exp = 113 , YYSYMBOL_exp1 = 114
}
 
enum  { YYENOMEM = -2 }
 

Functions

int yyparse (struct cpname_state *state)
 
static int yylex (cp_name_parser_YYSTYPE *, cpname_state *)
 
static void yyerror (cpname_state *, const char *)
 
void * xmalloc (YYSIZE_T)
 
void xfree (void *)
 
static const char * yysymbol_name (cp_name_parser_yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
 
static void yy_symbol_value_print (FILE *yyo, cp_name_parser_yysymbol_kind_t yykind, cp_name_parser_YYSTYPE const *const yyvaluep, struct cpname_state *state)
 
static void yy_symbol_print (FILE *yyo, cp_name_parser_yysymbol_kind_t yykind, cp_name_parser_YYSTYPE const *const yyvaluep, struct cpname_state *state)
 
static void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
 
static void yy_reduce_print (yy_state_t *yyssp, cp_name_parser_YYSTYPE *yyvsp, int yyrule, struct cpname_state *state)
 
static void yydestruct (const char *yymsg, cp_name_parser_yysymbol_kind_t yykind, cp_name_parser_YYSTYPE *yyvaluep, struct cpname_state *state)
 
static const char * symbol_end (const char *lexptr)
 
static int c_parse_backslash (int host_char, int *target_char)
 
static int cp_parse_escape (const char **string_ptr)
 
static struct demangle_infoallocate_info (void)
 
gdb::unique_xmalloc_ptr< char > cp_comp_to_string (struct demangle_component *result, int estimated_len)
 
void cp_merge_demangle_parse_infos (struct demangle_parse_info *dest, struct demangle_component *target, struct demangle_parse_info *src)
 
struct std::unique_ptr< demangle_parse_infocp_demangled_name_to_comp (const char *demangled_name, std::string *errmsg)
 

Variables

int yydebug
 
static const yytype_int8 yytranslate []
 
static const yytype_int16 yyrline []
 
static const char *const yytname []
 
static const yytype_int16 yypact []
 
static const yytype_uint8 yydefact []
 
static const yytype_int16 yypgoto []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_int8 yystos []
 
static const yytype_int8 yyr1 []
 
static const yytype_int8 yyr2 []
 
static const char backslashable [] = "abefnrtv"
 
static const char represented [] = "\a\b\e\f\n\r\t\v"
 

Macro Definition Documentation

◆ ALLOC_CHUNK

#define ALLOC_CHUNK   100

Definition at line 88 of file cp-name-parser.c.

Referenced by cpname_state::d_grab().

◆ ANDAND

#define ANDAND   297

Definition at line 235 of file cp-name-parser.c.

Referenced by yylex().

◆ ARROW

#define ARROW   307

Definition at line 245 of file cp-name-parser.c.

Referenced by yylex().

◆ ASSIGN_MODIFY

#define ASSIGN_MODIFY   290

Definition at line 228 of file cp-name-parser.c.

Referenced by yylex().

◆ BOOL

#define BOOL   283

◆ CHAR

#define CHAR   288

Definition at line 226 of file cp-name-parser.c.

Referenced by yylex().

◆ CLASS

#define CLASS   262

Definition at line 200 of file cp-name-parser.c.

Referenced by yylex().

◆ COLONCOLON

#define COLONCOLON   267

Definition at line 205 of file cp-name-parser.c.

Referenced by yylex().

◆ CONST_KEYWORD

#define CONST_KEYWORD   280

Definition at line 218 of file cp-name-parser.c.

Referenced by yylex().

◆ CONSTRUCTION_IN

#define CONSTRUCTION_IN   295

Definition at line 233 of file cp-name-parser.c.

Referenced by yylex().

◆ CONSTRUCTION_VTABLE

#define CONSTRUCTION_VTABLE   294

Definition at line 232 of file cp-name-parser.c.

Referenced by yylex().

◆ cp_name_parser_YYSTYPE_IS_DECLARED

#define cp_name_parser_YYSTYPE_IS_DECLARED   1

Definition at line 276 of file cp-name-parser.c.

◆ cp_name_parser_YYSTYPE_IS_TRIVIAL

#define cp_name_parser_YYSTYPE_IS_TRIVIAL   1

Definition at line 275 of file cp-name-parser.c.

◆ d_left

#define d_left ( dc)    (dc)->u.s_binary.left

Definition at line 572 of file cp-name-parser.c.

Referenced by yyparse().

◆ d_right

#define d_right ( dc)    (dc)->u.s_binary.right

Definition at line 573 of file cp-name-parser.c.

Referenced by yyparse().

◆ DECREMENT

#define DECREMENT   306

Definition at line 244 of file cp-name-parser.c.

Referenced by yylex().

◆ DELETE

#define DELETE   271

Definition at line 209 of file cp-name-parser.c.

Referenced by yylex().

◆ DEMANGLER_SPECIAL

#define DEMANGLER_SPECIAL   293

Definition at line 231 of file cp-name-parser.c.

Referenced by yylex().

◆ DOUBLE_KEYWORD

#define DOUBLE_KEYWORD   282

Definition at line 220 of file cp-name-parser.c.

Referenced by yylex().

◆ DYNAMIC_CAST

#define DYNAMIC_CAST   275

Definition at line 213 of file cp-name-parser.c.

Referenced by yylex().

◆ ELLIPSIS

#define ELLIPSIS   284

Definition at line 222 of file cp-name-parser.c.

Referenced by yylex().

◆ ENUM

#define ENUM   264

Definition at line 202 of file cp-name-parser.c.

Referenced by yylex().

◆ EQUAL

#define EQUAL   298

Definition at line 236 of file cp-name-parser.c.

Referenced by yylex().

◆ ERROR

#define ERROR   269

Definition at line 207 of file cp-name-parser.c.

Referenced by cpname_state::parse_number(), and yylex().

◆ FALSEKEYWORD

#define FALSEKEYWORD   292

Definition at line 230 of file cp-name-parser.c.

Referenced by yylex().

◆ FLOAT

#define FLOAT   259

Definition at line 197 of file cp-name-parser.c.

Referenced by cpname_state::parse_number().

◆ FLOAT_KEYWORD

#define FLOAT_KEYWORD   287

Definition at line 225 of file cp-name-parser.c.

Referenced by yylex().

◆ GDB_YY_REMAP_PREFIX

#define GDB_YY_REMAP_PREFIX   cpname

Definition at line 82 of file cp-name-parser.c.

◆ GEQ

#define GEQ   301

Definition at line 239 of file cp-name-parser.c.

Referenced by yylex().

◆ HANDLE_QUAL

#define HANDLE_QUAL ( TYPE,
MTYPE,
QUAL )
Value:
if ((qualifiers & QUAL) && (type != TYPE) && (type != MTYPE)) \
{ \
*inner_p = fill_comp (is_method ? MTYPE : TYPE, \
*inner_p, NULL); \
inner_p = &d_left (*inner_p); \
type = (*inner_p)->type; \
} \
else if (type == TYPE || type == MTYPE) \
{ \
inner_p = &d_left (*inner_p); \
type = (*inner_p)->type; \
}
#define d_left(dc)

◆ HANDLE_SPECIAL

#define HANDLE_SPECIAL ( string,
comp )
Value:
if (startswith (tokstart, string)) \
{ \
state->lexptr = tokstart + sizeof (string) - 1; \
lvalp->lval = comp; \
}
#define DEMANGLER_SPECIAL

Definition at line 3699 of file cp-name-parser.c.

Referenced by yylex().

◆ HANDLE_TOKEN2

#define HANDLE_TOKEN2 ( string,
token )
Value:
if (state->lexptr[1] == string[1]) \
{ \
state->lexptr += 2; \
lvalp->opname = string; \
return token; \
}
int token
Definition m2-exp.c:2422

Definition at line 3707 of file cp-name-parser.c.

Referenced by yylex().

◆ HANDLE_TOKEN3

#define HANDLE_TOKEN3 ( string,
token )
Value:
if (state->lexptr[1] == string[1] && state->lexptr[2] == string[2]) \
{ \
state->lexptr += 3; \
lvalp->opname = string; \
return token; \
}

Definition at line 3715 of file cp-name-parser.c.

Referenced by yylex().

◆ INCREMENT

#define INCREMENT   305

Definition at line 243 of file cp-name-parser.c.

Referenced by yylex().

◆ INT

#define INT   258

Definition at line 196 of file cp-name-parser.c.

Referenced by cpname_state::parse_number(), and yylex().

◆ INT_CHAR

#define INT_CHAR   (1 << 0)

Definition at line 493 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ INT_KEYWORD

#define INT_KEYWORD   279

Definition at line 217 of file cp-name-parser.c.

Referenced by yylex().

◆ INT_LLONG

#define INT_LLONG   (1 << 3)

Definition at line 496 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ INT_LONG

#define INT_LONG   (1 << 2)

Definition at line 495 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ INT_SHORT

#define INT_SHORT   (1 << 1)

Definition at line 494 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ INT_SIGNED

#define INT_SIGNED   (1 << 4)

Definition at line 498 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ INT_UNSIGNED

#define INT_UNSIGNED   (1 << 5)

Definition at line 499 of file cp-name-parser.c.

Referenced by cpname_state::d_int_type(), and yyparse().

◆ LEQ

#define LEQ   300

Definition at line 238 of file cp-name-parser.c.

Referenced by yylex().

◆ LONG

#define LONG   277

Definition at line 215 of file cp-name-parser.c.

Referenced by yylex().

◆ LSH

#define LSH   302

Definition at line 240 of file cp-name-parser.c.

Referenced by yylex().

◆ NAME

#define NAME   260

Definition at line 198 of file cp-name-parser.c.

Referenced by yylex().

◆ NEW

#define NEW   270

Definition at line 208 of file cp-name-parser.c.

Referenced by yylex().

◆ NOTEQUAL

#define NOTEQUAL   299

Definition at line 237 of file cp-name-parser.c.

Referenced by yylex().

◆ OPERATOR

#define OPERATOR   272

Definition at line 210 of file cp-name-parser.c.

Referenced by yylex().

◆ OROR

#define OROR   296

Definition at line 234 of file cp-name-parser.c.

Referenced by yylex().

◆ QUAL_CONST

#define QUAL_CONST   1

Definition at line 487 of file cp-name-parser.c.

Referenced by cpname_state::d_qualify(), and yyparse().

◆ QUAL_RESTRICT

#define QUAL_RESTRICT   2

Definition at line 488 of file cp-name-parser.c.

Referenced by cpname_state::d_qualify(), and yyparse().

◆ QUAL_VOLATILE

#define QUAL_VOLATILE   4

Definition at line 489 of file cp-name-parser.c.

Referenced by cpname_state::d_qualify(), and yyparse().

◆ REINTERPRET_CAST

#define REINTERPRET_CAST   274

Definition at line 212 of file cp-name-parser.c.

Referenced by yylex().

◆ RESTRICT

#define RESTRICT   285

Definition at line 223 of file cp-name-parser.c.

Referenced by yylex().

◆ RSH

#define RSH   303

Definition at line 241 of file cp-name-parser.c.

Referenced by yylex().

◆ SHORT

#define SHORT   278

Definition at line 216 of file cp-name-parser.c.

Referenced by yylex().

◆ SIGNED_KEYWORD

#define SIGNED_KEYWORD   276

Definition at line 214 of file cp-name-parser.c.

Referenced by yylex().

◆ SIZEOF

#define SIZEOF   265

Definition at line 203 of file cp-name-parser.c.

Referenced by yylex().

◆ STATIC_CAST

#define STATIC_CAST   273

Definition at line 211 of file cp-name-parser.c.

Referenced by yylex().

◆ STRUCT

#define STRUCT   261

Definition at line 199 of file cp-name-parser.c.

Referenced by yylex().

◆ TEMPLATE

#define TEMPLATE   268

Definition at line 206 of file cp-name-parser.c.

Referenced by yylex().

◆ TRUEKEYWORD

#define TRUEKEYWORD   291

Definition at line 229 of file cp-name-parser.c.

Referenced by yylex().

◆ UNARY

#define UNARY   304

Definition at line 242 of file cp-name-parser.c.

◆ UNION

#define UNION   263

Definition at line 201 of file cp-name-parser.c.

Referenced by yylex().

◆ UNSIGNED

#define UNSIGNED   266

Definition at line 204 of file cp-name-parser.c.

Referenced by yylex().

◆ VOID

#define VOID   286

Definition at line 224 of file cp-name-parser.c.

Referenced by yylex().

◆ VOLATILE_KEYWORD

#define VOLATILE_KEYWORD   281

Definition at line 219 of file cp-name-parser.c.

Referenced by yylex().

◆ WCHAR_T

#define WCHAR_T   289

Definition at line 227 of file cp-name-parser.c.

Referenced by yylex().

◆ YY_

#define YY_ ( Msgid)    Msgid

Definition at line 704 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_ACCESSING_SYMBOL

#define YY_ACCESSING_SYMBOL ( State)    YY_CAST (cp_name_parser_yysymbol_kind_t, yystos[State])

Accessing symbol of state STATE.

Definition at line 988 of file cp-name-parser.c.

Referenced by yy_reduce_print(), and yyparse().

◆ YY_ASSERT

#define YY_ASSERT ( E)    ((void) (0 && (E)))

Definition at line 770 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 713 of file cp-name-parser.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 721 of file cp-name-parser.c.

◆ YY_CAST

#define YY_CAST ( Type,
Val )   ((Type) (Val))

Definition at line 104 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 750 of file cp-name-parser.c.

Referenced by yy_symbol_value_print(), yydestruct(), and yyparse().

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 751 of file cp-name-parser.c.

Referenced by yy_symbol_value_print(), yydestruct(), and yyparse().

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 765 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 766 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE ( Value)    Value

Definition at line 747 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_NULLPTRPTR

#define YY_NULLPTRPTR   ((void*)0)

Definition at line 116 of file cp-name-parser.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT ( Rule)
Value:
do { \
if (yydebug) \
yy_reduce_print (yyssp, yyvsp, Rule, state); \
} while (0)
int yydebug
#define yyvsp
Definition yy-remap.h:87
#define yyssp
Definition yy-remap.h:84

Definition at line 1612 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST ( Type,
Val )   ((Type) (Val))

Definition at line 105 of file cp-name-parser.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT ( Bottom,
Top )
Value:
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)

Definition at line 1581 of file cp-name-parser.c.

Referenced by yyparse().

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT ( Title,
Kind,
Value,
Location )
Value:
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Kind, Value, state); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)

Definition at line 1518 of file cp-name-parser.c.

Referenced by yydestruct(), and yyparse().

◆ YY_USE

#define YY_USE ( E)    ((void) (E))

Definition at line 727 of file cp-name-parser.c.

Referenced by yy_symbol_value_print(), and yydestruct().

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 1472 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 1471 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYBACKUP

#define YYBACKUP ( Token,
Value )
Value:
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (state, YY_("syntax error: cannot back up")); \
} \
while (0)
#define YY_(Msgid)
#define YYEMPTY
#define YYERROR
#define yychar
Definition yy-remap.h:47
#define yylen
Definition yy-remap.h:74
#define yylval
Definition yy-remap.h:46
#define yystate
Definition yy-remap.h:63

Definition at line 1479 of file cp-name-parser.c.

◆ YYBISON

#define YYBISON   30802

Definition at line 49 of file cp-name-parser.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

Definition at line 52 of file cp-name-parser.c.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 1469 of file cp-name-parser.c.

◆ YYCOPY

#define YYCOPY ( Dst,
Src,
Count )
Value:
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
#define YYPTRDIFF_T

Definition at line 886 of file cp-name-parser.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 858 of file cp-name-parser.c.

◆ YYDPRINTF

#define YYDPRINTF ( Args)
Value:
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
#define YYFPRINTF
Definition yy-remap.h:97

Definition at line 1509 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYEMPTY

#define YYEMPTY   -2

Definition at line 192 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYEOF

#define YYEOF   0

Definition at line 193 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYERRCODE

#define YYERRCODE   YYUNDEF

Definition at line 1498 of file cp-name-parser.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 1468 of file cp-name-parser.c.

◆ YYerror

#define YYerror   256

Definition at line 194 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 1473 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYFINAL

#define YYFINAL   84

Definition at line 899 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYFREE

#define YYFREE   xfree

Definition at line 830 of file cp-name-parser.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 1631 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYLAST

#define YYLAST   1137

Definition at line 901 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYMALLOC

#define YYMALLOC   xmalloc

Definition at line 824 of file cp-name-parser.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 1642 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYMAXUTOK

#define YYMAXUTOK   307

Definition at line 913 of file cp-name-parser.c.

◆ YYNNTS

#define YYNNTS   40

Definition at line 906 of file cp-name-parser.c.

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

Definition at line 1474 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYNRULES

#define YYNRULES   195

Definition at line 908 of file cp-name-parser.c.

◆ YYNSTATES

#define YYNSTATES   325

Definition at line 910 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYNTOKENS

#define YYNTOKENS   75

Definition at line 904 of file cp-name-parser.c.

Referenced by yy_symbol_print(), and yyparse().

◆ YYPACT_NINF

#define YYPACT_NINF   (-187)

Definition at line 1030 of file cp-name-parser.c.

◆ yypact_value_is_default

#define yypact_value_is_default ( Yyn)     ((Yyn) == YYPACT_NINF)

Definition at line 1032 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYPOPSTACK

#define YYPOPSTACK ( N)    (yyvsp -= (N), yyssp -= (N))

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 664 of file cp-name-parser.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 663 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file cp-name-parser.c.

◆ YYPURE

#define YYPURE   1

Definition at line 58 of file cp-name-parser.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file cp-name-parser.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1477 of file cp-name-parser.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
#define YY_CAST(Type, Val)
#define YYSIZE_T

Definition at line 681 of file cp-name-parser.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 677 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYSIZEOF

#define YYSIZEOF ( X)    YY_CAST (YYPTRDIFF_T, sizeof (X))

Definition at line 687 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file cp-name-parser.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 810 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 813 of file cp-name-parser.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES ( N)
Value:
yytype_uint8 yy_state_t
Definition ada-exp.c:871
#define YYSIZEOF(X)
#define YYSTACK_GAP_MAXIMUM

Definition at line 854 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 811 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union cp_name_parser_yyalloc) - 1)

Definition at line 850 of file cp-name-parser.c.

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE ( Stack_alloc,
Stack )
Value:
do \
{ \
YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
#define yystacksize
Definition yy-remap.h:85

Definition at line 865 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-1)

Definition at line 1035 of file cp-name-parser.c.

◆ yytable_value_is_error

#define yytable_value_is_error ( Yyn)     0

Definition at line 1037 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 131 of file cp-name-parser.c.

◆ YYTRANSLATE

#define YYTRANSLATE ( YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
static const yytype_int8 yytranslate[]
cp_name_parser_yysymbol_kind_t
@ YYSYMBOL_YYUNDEF
#define YYMAXUTOK

Definition at line 918 of file cp-name-parser.c.

Referenced by yyparse().

◆ YYUNDEF

#define YYUNDEF   257

Definition at line 195 of file cp-name-parser.c.

Referenced by yyparse().

Typedef Documentation

◆ cp_name_parser_YYSTYPE

typedef union cp_name_parser_YYSTYPE cp_name_parser_YYSTYPE

Definition at line 274 of file cp-name-parser.c.

◆ cp_name_parser_yysymbol_kind_t

Definition at line 406 of file cp-name-parser.c.

◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 694 of file cp-name-parser.c.

◆ yy_state_t

Definition at line 691 of file cp-name-parser.c.

◆ yytoken_kind_t

Definition at line 189 of file cp-name-parser.c.

◆ yytype_int16

typedef short yytype_int16

Definition at line 615 of file cp-name-parser.c.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 607 of file cp-name-parser.c.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 647 of file cp-name-parser.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 636 of file cp-name-parser.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 1466 of file cp-name-parser.c.

◆ cp_name_parser_yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_FLOAT 
YYSYMBOL_NAME 
YYSYMBOL_STRUCT 
YYSYMBOL_CLASS 
YYSYMBOL_UNION 
YYSYMBOL_ENUM 
YYSYMBOL_SIZEOF 
YYSYMBOL_UNSIGNED 
YYSYMBOL_COLONCOLON 
YYSYMBOL_TEMPLATE 
YYSYMBOL_ERROR 
YYSYMBOL_NEW 
YYSYMBOL_DELETE 
YYSYMBOL_OPERATOR 
YYSYMBOL_STATIC_CAST 
YYSYMBOL_REINTERPRET_CAST 
YYSYMBOL_DYNAMIC_CAST 
YYSYMBOL_SIGNED_KEYWORD 
YYSYMBOL_LONG 
YYSYMBOL_SHORT 
YYSYMBOL_INT_KEYWORD 
YYSYMBOL_CONST_KEYWORD 
YYSYMBOL_VOLATILE_KEYWORD 
YYSYMBOL_DOUBLE_KEYWORD 
YYSYMBOL_BOOL 
YYSYMBOL_ELLIPSIS 
YYSYMBOL_RESTRICT 
YYSYMBOL_VOID 
YYSYMBOL_FLOAT_KEYWORD 
YYSYMBOL_CHAR 
YYSYMBOL_WCHAR_T 
YYSYMBOL_ASSIGN_MODIFY 
YYSYMBOL_TRUEKEYWORD 
YYSYMBOL_FALSEKEYWORD 
YYSYMBOL_DEMANGLER_SPECIAL 
YYSYMBOL_CONSTRUCTION_VTABLE 
YYSYMBOL_CONSTRUCTION_IN 
YYSYMBOL_41_ 
YYSYMBOL_42_ 
YYSYMBOL_43_ 
YYSYMBOL_44_ 
YYSYMBOL_OROR 
YYSYMBOL_ANDAND 
YYSYMBOL_47_ 
YYSYMBOL_48_ 
YYSYMBOL_49_ 
YYSYMBOL_EQUAL 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_52_ 
YYSYMBOL_53_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_58_ 
YYSYMBOL_59_ 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_62_ 
YYSYMBOL_63_ 
YYSYMBOL_UNARY 
YYSYMBOL_INCREMENT 
YYSYMBOL_DECREMENT 
YYSYMBOL_ARROW 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_71_ 
YYSYMBOL_72_ 
YYSYMBOL_73_ 
YYSYMBOL_74_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_result 
YYSYMBOL_start 
YYSYMBOL_start_opt 
YYSYMBOL_function 
YYSYMBOL_demangler_special 
YYSYMBOL_oper 
YYSYMBOL_conversion_op 
YYSYMBOL_conversion_op_name 
YYSYMBOL_unqualified_name 
YYSYMBOL_colon_name 
YYSYMBOL_name 
YYSYMBOL_colon_ext_name 
YYSYMBOL_colon_ext_only 
YYSYMBOL_ext_only_name 
YYSYMBOL_nested_name 
YYSYMBOL_templ 
YYSYMBOL_template_params 
YYSYMBOL_template_arg 
YYSYMBOL_function_args 
YYSYMBOL_function_arglist 
YYSYMBOL_qualifiers_opt 
YYSYMBOL_qualifier 
YYSYMBOL_qualifiers 
YYSYMBOL_int_part 
YYSYMBOL_int_seq 
YYSYMBOL_builtin_type 
YYSYMBOL_ptr_operator 
YYSYMBOL_array_indicator 
YYSYMBOL_typespec_2 
YYSYMBOL_abstract_declarator 
YYSYMBOL_direct_abstract_declarator 
YYSYMBOL_abstract_declarator_fn 
YYSYMBOL_type 
YYSYMBOL_declarator 
YYSYMBOL_direct_declarator 
YYSYMBOL_declarator_1 
YYSYMBOL_direct_declarator_1 
YYSYMBOL_exp 
YYSYMBOL_exp1 

Definition at line 287 of file cp-name-parser.c.

◆ yytokentype

Enumerator
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
INT 
FLOAT 
NAME 
STRUCT 
CLASS 
UNION 
ENUM 
SIZEOF 
UNSIGNED 
COLONCOLON 
TEMPLATE 
ERROR 
NEW 
DELETE 
OPERATOR 
STATIC_CAST 
REINTERPRET_CAST 
DYNAMIC_CAST 
SIGNED_KEYWORD 
LONG 
SHORT 
INT_KEYWORD 
CONST_KEYWORD 
VOLATILE_KEYWORD 
DOUBLE_KEYWORD 
BOOL 
ELLIPSIS 
RESTRICT 
VOID 
FLOAT_KEYWORD 
CHAR 
WCHAR_T 
ASSIGN_MODIFY 
TRUEKEYWORD 
FALSEKEYWORD 
DEMANGLER_SPECIAL 
CONSTRUCTION_VTABLE 
CONSTRUCTION_IN 
OROR 
ANDAND 
EQUAL 
NOTEQUAL 
LEQ 
GEQ 
LSH 
RSH 
UNARY 
INCREMENT 
DECREMENT 
ARROW 

Definition at line 132 of file cp-name-parser.c.

Function Documentation

◆ allocate_info()

static struct demangle_info * allocate_info ( void )
static

Definition at line 4128 of file cp-name-parser.c.

Referenced by cp_demangled_name_to_comp().

◆ c_parse_backslash()

static int c_parse_backslash ( int host_char,
int * target_char )
static

Definition at line 3608 of file cp-name-parser.c.

References backslashable, and represented.

Referenced by cp_parse_escape().

◆ cp_comp_to_string()

gdb::unique_xmalloc_ptr< char > cp_comp_to_string ( struct demangle_component * result,
int estimated_len )

◆ cp_demangled_name_to_comp()

struct std::unique_ptr< demangle_parse_info > cp_demangled_name_to_comp ( const char * demangled_name,
std::string * errmsg )

◆ cp_merge_demangle_parse_infos()

void cp_merge_demangle_parse_infos ( struct demangle_parse_info * dest,
struct demangle_component * target,
struct demangle_parse_info * src )

◆ cp_parse_escape()

static int cp_parse_escape ( const char ** string_ptr)
static

Definition at line 3635 of file cp-name-parser.c.

References c_parse_backslash(), and cp_parse_escape().

Referenced by cp_parse_escape(), and yylex().

◆ symbol_end()

static const char * symbol_end ( const char * lexptr)
static

Definition at line 3483 of file cp-name-parser.c.

References c_ident_is_alnum().

Referenced by yylex().

◆ xfree()

void xfree ( void * )

◆ xmalloc()

void * xmalloc ( YYSIZE_T )

◆ yy_reduce_print()

static void yy_reduce_print ( yy_state_t * yyssp,
cp_name_parser_YYSTYPE * yyvsp,
int yyrule,
struct cpname_state * state )
static

Definition at line 1593 of file cp-name-parser.c.

References YY_ACCESSING_SYMBOL, yy_symbol_print(), YYFPRINTF, yyr2, yyrline, yyrule, yyssp, and yyvsp.

◆ yy_stack_print()

static void yy_stack_print ( yy_state_t * yybottom,
yy_state_t * yytop )
static

Definition at line 1570 of file cp-name-parser.c.

References YYFPRINTF.

◆ yy_symbol_print()

static void yy_symbol_print ( FILE * yyo,
cp_name_parser_yysymbol_kind_t yykind,
cp_name_parser_YYSTYPE const *const yyvaluep,
struct cpname_state * state )
static

Definition at line 1554 of file cp-name-parser.c.

References yy_symbol_value_print(), YYFPRINTF, YYNTOKENS, and yysymbol_name().

Referenced by yy_reduce_print().

◆ yy_symbol_value_print()

static void yy_symbol_value_print ( FILE * yyo,
cp_name_parser_yysymbol_kind_t yykind,
cp_name_parser_YYSTYPE const *const yyvaluep,
struct cpname_state * state )
static

◆ yydestruct()

static void yydestruct ( const char * yymsg,
cp_name_parser_yysymbol_kind_t yykind,
cp_name_parser_YYSTYPE * yyvaluep,
struct cpname_state * state )
static

◆ yyerror()

static void yyerror ( cpname_state * state,
const char * msg )
static

◆ yylex()

static int yylex ( cp_name_parser_YYSTYPE * lvalp,
cpname_state * state )
static

◆ yyparse()

int yyparse ( struct cpname_state * state)

◆ yysymbol_name()

static const char * yysymbol_name ( cp_name_parser_yysymbol_kind_t yysymbol)
static

Definition at line 1024 of file cp-name-parser.c.

References yytname.

Referenced by yy_symbol_print().

Variable Documentation

◆ backslashable

const char backslashable[] = "abefnrtv"
static

Definition at line 3603 of file cp-name-parser.c.

Referenced by c_parse_backslash().

◆ represented

const char represented[] = "\a\b\e\f\n\r\t\v"
static

Definition at line 3604 of file cp-name-parser.c.

Referenced by c_parse_backslash().

◆ yycheck

const yytype_int16 yycheck[]
static

Definition at line 1258 of file cp-name-parser.c.

Referenced by yyparse().

◆ yydebug

int yydebug

Definition at line 1620 of file cp-name-parser.c.

◆ yydefact

const yytype_uint8 yydefact[]
static

Definition at line 1082 of file cp-name-parser.c.

Referenced by yyparse().

◆ yydefgoto

const yytype_int16 yydefgoto[]
static
Initial value:
=
{
0, 21, 156, 93, 23, 24, 25, 26, 27, 28,
119, 29, 253, 30, 31, 78, 33, 143, 144, 167,
96, 158, 34, 35, 36, 37, 38, 168, 98, 39,
170, 127, 100, 40, 255, 256, 128, 129, 210, 211
}

Definition at line 1129 of file cp-name-parser.c.

Referenced by yyparse().

◆ yypact

const yytype_int16 yypact[]
static

Definition at line 1042 of file cp-name-parser.c.

Referenced by yyparse().

◆ yypgoto

const yytype_int16 yypgoto[]
static
Initial value:
=
{
-187, -187, 25, -66, -187, -187, -187, 3, -187, -20,
-187, -1, -32, 15, 1, 0, 150, 149, 31, -187,
-25, -156, -187, 234, 205, -187, 213, -17, -98, 196,
-18, -16, 158, -129, -106, -187, 134, -187, -6, -186
}

Definition at line 1120 of file cp-name-parser.c.

Referenced by yyparse().

◆ yyr1

const yytype_int8 yyr1[]
static
Initial value:
=
{
0, 75, 76, 77, 77, 77, 78, 78, 79, 79,
79, 79, 79, 80, 80, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 82, 83,
83, 83, 83, 84, 84, 84, 85, 85, 86, 86,
86, 86, 87, 87, 88, 88, 89, 89, 90, 90,
90, 90, 91, 92, 92, 93, 93, 93, 93, 93,
94, 94, 94, 94, 94, 95, 95, 95, 96, 96,
97, 97, 97, 98, 98, 99, 99, 99, 99, 99,
99, 100, 100, 101, 101, 101, 101, 101, 101, 101,
102, 102, 102, 102, 102, 103, 103, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
105, 105, 106, 106, 106, 106, 107, 107, 107, 107,
107, 108, 108, 109, 109, 110, 110, 110, 110, 111,
111, 111, 111, 111, 112, 112, 112, 112, 112, 113,
114, 114, 114, 114, 113, 113, 113, 113, 113, 113,
113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
113, 113, 113, 113, 113, 113
}

Definition at line 1416 of file cp-name-parser.c.

Referenced by yyparse().

◆ yyr2

const yytype_int8 yyr2[]
static
Initial value:
=
{
0, 2, 1, 1, 1, 1, 0, 2, 2, 3,
3, 2, 2, 2, 4, 2, 2, 4, 4, 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, 3, 2, 3, 3, 2, 2,
1, 3, 2, 1, 4, 2, 1, 2, 2, 1,
2, 1, 1, 1, 1, 2, 2, 1, 2, 3,
2, 3, 4, 1, 3, 1, 2, 2, 4, 1,
1, 2, 3, 4, 3, 4, 4, 3, 0, 1,
1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
2, 1, 1, 3, 4, 2, 3, 2, 1, 3,
2, 2, 1, 3, 2, 3, 2, 4, 3, 1,
2, 1, 3, 2, 2, 1, 1, 2, 1, 4,
2, 1, 2, 2, 1, 3, 2, 2, 1, 2,
1, 1, 4, 4, 4, 2, 2, 2, 2, 3,
1, 3, 2, 4, 2, 2, 2, 4, 7, 7,
7, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
5, 1, 1, 4, 1, 1
}

Definition at line 1441 of file cp-name-parser.c.

Referenced by yy_reduce_print(), and yyparse().

◆ yyrline

const yytype_int16 yyrline[]
static
Initial value:
=
{
0, 348, 348, 357, 359, 361, 366, 367, 374, 383,
390, 394, 397, 416, 418, 422, 428, 434, 440, 446,
448, 450, 452, 454, 456, 458, 460, 462, 464, 466,
468, 470, 472, 474, 476, 478, 480, 482, 484, 486,
488, 490, 492, 494, 496, 498, 500, 502, 510, 515,
520, 524, 529, 537, 538, 540, 552, 553, 559, 561,
562, 564, 567, 568, 571, 572, 576, 578, 581, 585,
590, 594, 603, 607, 610, 621, 622, 626, 628, 630,
633, 637, 642, 647, 653, 663, 667, 671, 679, 680,
683, 685, 687, 691, 692, 699, 701, 703, 705, 707,
709, 713, 714, 718, 720, 722, 724, 726, 728, 730,
734, 739, 742, 745, 751, 759, 761, 775, 777, 778,
780, 783, 785, 786, 788, 791, 793, 795, 797, 802,
805, 810, 817, 821, 832, 838, 856, 859, 867, 869,
880, 887, 888, 894, 898, 902, 904, 909, 914, 926,
930, 934, 942, 947, 956, 960, 965, 970, 974, 980,
986, 989, 996, 998, 1003, 1007, 1011, 1018, 1034, 1041,
1048, 1067, 1071, 1075, 1079, 1083, 1087, 1091, 1095, 1099,
1103, 1107, 1111, 1115, 1119, 1123, 1127, 1131, 1136, 1140,
1144, 1151, 1155, 1158, 1167, 1176
}

Definition at line 962 of file cp-name-parser.c.

Referenced by yy_reduce_print().

◆ yystos

const yytype_int8 yystos[]
static

Definition at line 1378 of file cp-name-parser.c.

◆ yytable

const yytype_int16 yytable[]
static

Definition at line 1140 of file cp-name-parser.c.

Referenced by yyparse().

◆ yytname

const char* const yytname[]
static
Initial value:
=
{
"\"end of file\"", "error", "\"invalid token\"", "INT", "FLOAT", "NAME",
"STRUCT", "CLASS", "UNION", "ENUM", "SIZEOF", "UNSIGNED", "COLONCOLON",
"TEMPLATE", "ERROR", "NEW", "DELETE", "OPERATOR", "STATIC_CAST",
"REINTERPRET_CAST", "DYNAMIC_CAST", "SIGNED_KEYWORD", "LONG", "SHORT",
"INT_KEYWORD", "CONST_KEYWORD", "VOLATILE_KEYWORD", "DOUBLE_KEYWORD",
"BOOL", "ELLIPSIS", "RESTRICT", "VOID", "FLOAT_KEYWORD", "CHAR",
"WCHAR_T", "ASSIGN_MODIFY", "TRUEKEYWORD", "FALSEKEYWORD",
"DEMANGLER_SPECIAL", "CONSTRUCTION_VTABLE", "CONSTRUCTION_IN", "')'",
"','", "'='", "'?'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQUAL",
"NOTEQUAL", "'<'", "'>'", "LEQ", "GEQ", "LSH", "RSH", "'@'", "'+'",
"'-'", "'*'", "'/'", "'%'", "UNARY", "INCREMENT", "DECREMENT", "ARROW",
"'.'", "'['", "']'", "'~'", "'!'", "'('", "':'", "$accept", "result",
"start", "start_opt", "function", "demangler_special", "oper",
"conversion_op", "conversion_op_name", "unqualified_name", "colon_name",
"name", "colon_ext_name", "colon_ext_only", "ext_only_name",
"nested_name", "templ", "template_params", "template_arg",
"function_args", "function_arglist", "qualifiers_opt", "qualifier",
"qualifiers", "int_part", "int_seq", "builtin_type", "ptr_operator",
"array_indicator", "typespec_2", "abstract_declarator",
"direct_abstract_declarator", "abstract_declarator_fn", "type",
"declarator", "direct_declarator", "declarator_1", "direct_declarator_1",
"exp", "exp1", YY_NULLPTRPTR
}
#define YY_NULLPTRPTR

Definition at line 997 of file cp-name-parser.c.

Referenced by yysymbol_name().

◆ yytranslate

const yytype_int8 yytranslate[]
static

Definition at line 925 of file cp-name-parser.c.