GDB (API)
Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/linux/gdb/cp-name-parser.c File Reference
#include "defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "safe-ctype.h"
#include "libiberty.h"
#include "demangle.h"
#include "cp-support.h"
#include "gdb_assert.h"

Go to the source code of this file.

Defines

#define YYBISON   1
#define YYBISON_VERSION   "2.5"
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   0
#define YYPUSH   0
#define YYPULL   1
#define YYLSP_NEEDED   0
#define ALLOC_CHUNK   100
#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 yymaxdepth   cpname_maxdepth
#define yyparse   cpname_parse
#define yylex   cpname_lex
#define yyerror   cpname_error
#define yylval   cpname_lval
#define yychar   cpname_char
#define yydebug   cpname_debug
#define yypact   cpname_pact
#define yyr1   cpname_r1
#define yyr2   cpname_r2
#define yydef   cpname_def
#define yychk   cpname_chk
#define yypgo   cpname_pgo
#define yyact   cpname_act
#define yyexca   cpname_exca
#define yyerrflag   cpname_errflag
#define yynerrs   cpname_nerrs
#define yyps   cpname_ps
#define yypv   cpname_pv
#define yys   cpname_s
#define yy_yys   cpname_yys
#define yystate   cpname_state
#define yytmp   cpname_tmp
#define yyv   cpname_v
#define yy_yyv   cpname_yyv
#define yyval   cpname_val
#define yylloc   cpname_lloc
#define yyreds   cpname_reds /* With YYDEBUG defined */
#define yytoks   cpname_toks /* With YYDEBUG defined */
#define yyname   cpname_name /* With YYDEBUG defined */
#define yyrule   cpname_rule /* With YYDEBUG defined */
#define yylhs   cpname_yylhs
#define yylen   cpname_yylen
#define yydefred   cpname_yydefred
#define yydgoto   cpname_yydgoto
#define yysindex   cpname_yysindex
#define yyrindex   cpname_yyrindex
#define yygindex   cpname_yygindex
#define yytable   cpname_yytable
#define yycheck   cpname_yycheck
#define yyss   cpname_yyss
#define yysslim   cpname_yysslim
#define yyssp   cpname_yyssp
#define yystacksize   cpname_yystacksize
#define yyvs   cpname_yyvs
#define yyvsp   cpname_yyvsp
#define d_left(dc)   (dc)->u.s_binary.left
#define d_right(dc)   (dc)->u.s_binary.right
#define YYDEBUG   0
#define YYERROR_VERBOSE   0
#define YYTOKEN_TABLE   0
#define YYTOKENTYPE
#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 NOTEQUAL   298
#define EQUAL   299
#define GEQ   300
#define LEQ   301
#define RSH   302
#define LSH   303
#define DECREMENT   304
#define INCREMENT   305
#define UNARY   306
#define ARROW   307
#define YYSTYPE_IS_TRIVIAL   1
#define yystype   YYSTYPE /* obsolescent; will be withdrawn */
#define YYSTYPE_IS_DECLARED   1
#define YYSIZE_T   unsigned int
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YY_(msgid)   msgid
#define YYUSE(e)   ((void) (e))
#define YYID(n)   (n)
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYMALLOC   xmalloc
#define YYFREE   xfree
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY_NEEDED   1
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define YYCOPY(To, From, Count)
#define YYFINAL   84
#define YYLAST   1097
#define YYNTOKENS   75
#define YYNNTS   40
#define YYNRULES   194
#define YYNSTATES   324
#define YYUNDEFTOK   2
#define YYMAXUTOK   307
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -193
#define YYTABLE_NINF   -1
#define yypact_value_is_default(yystate)   ((yystate) == (-193))
#define yytable_value_is_error(yytable_value)   YYID (0)
#define yyerrok   (yyerrstatus = 0)
#define yyclearin   (yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto yyacceptlab
#define YYABORT   goto yyabortlab
#define YYERROR   goto yyerrorlab
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
#define YYLEX   yylex ()
#define YYDPRINTF(Args)
#define YY_SYMBOL_PRINT(Title, Type, 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 union YYSTYPE YYSTYPE
typedef unsigned char yytype_uint8
typedef short int yytype_int8
typedef unsigned short int yytype_uint16
typedef short int yytype_int16

Enumerations

enum  yytokentype {
  INT = 258, NULL_PTR = 259, CHARLIT = 260, FLOAT = 261,
  TRUEKEYWORD = 262, FALSEKEYWORD = 263, COLONCOLON = 264, STRING = 265,
  NAME = 266, DOT_ID = 267, DOT_ALL = 268, SPECIAL_VARIABLE = 269,
  ASSIGN = 270, ELSE = 271, THEN = 272, XOR = 273,
  OR = 274, _AND_ = 275, DOTDOT = 276, IN = 277,
  GEQ = 278, LEQ = 279, NOTEQUAL = 280, UNARY = 281,
  REM = 282, MOD = 283, NOT = 284, ABS = 285,
  STARSTAR = 286, VAR = 287, ARROW = 288, TICK_LENGTH = 289,
  TICK_LAST = 290, TICK_FIRST = 291, TICK_ADDRESS = 292, TICK_ACCESS = 293,
  TICK_MODULUS = 294, TICK_MIN = 295, TICK_MAX = 296, TICK_VAL = 297,
  TICK_TAG = 298, TICK_SIZE = 299, TICK_RANGE = 300, TICK_POS = 301,
  NEW = 302, OTHERS = 303, INT = 258, FLOAT = 259,
  DECFLOAT = 260, STRING = 261, NSSTRING = 262, SELECTOR = 263,
  CHAR = 264, NAME = 265, UNKNOWN_CPP_NAME = 266, COMPLETE = 267,
  TYPENAME = 268, CLASSNAME = 269, OBJC_LBRAC = 270, NAME_OR_INT = 271,
  OPERATOR = 272, STRUCT = 273, CLASS = 274, UNION = 275,
  ENUM = 276, SIZEOF = 277, UNSIGNED = 278, COLONCOLON = 279,
  TEMPLATE = 280, ERROR = 281, NEW = 282, DELETE = 283,
  REINTERPRET_CAST = 284, DYNAMIC_CAST = 285, STATIC_CAST = 286, CONST_CAST = 287,
  ENTRY = 288, TYPEOF = 289, DECLTYPE = 290, TYPEID = 291,
  SIGNED_KEYWORD = 292, LONG = 293, SHORT = 294, INT_KEYWORD = 295,
  CONST_KEYWORD = 296, VOLATILE_KEYWORD = 297, DOUBLE_KEYWORD = 298, VARIABLE = 299,
  ASSIGN_MODIFY = 300, TRUEKEYWORD = 301, FALSEKEYWORD = 302, ABOVE_COMMA = 303,
  OROR = 304, ANDAND = 305, NOTEQUAL = 306, EQUAL = 307,
  GEQ = 308, LEQ = 309, RSH = 310, LSH = 311,
  DECREMENT = 312, INCREMENT = 313, UNARY = 314, DOT_STAR = 315,
  ARROW_STAR = 316, ARROW = 317, BLOCKNAME = 318, FILENAME = 319,
  DOTDOTDOT = 320, 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, NOTEQUAL = 298, EQUAL = 299, GEQ = 300,
  LEQ = 301, RSH = 302, LSH = 303, DECREMENT = 304,
  INCREMENT = 305, UNARY = 306, ARROW = 307, INT = 258,
  FLOAT = 259, STRING_LITERAL = 260, BOOLEAN_LITERAL = 261, NAME = 262,
  TYPENAME = 263, NAME_OR_INT = 264, SIZEOF = 265, ERROR = 266,
  INT_KEYWORD = 267, INT_S2_KEYWORD = 268, LOGICAL_S1_KEYWORD = 269, LOGICAL_S2_KEYWORD = 270,
  LOGICAL_S8_KEYWORD = 271, LOGICAL_KEYWORD = 272, REAL_KEYWORD = 273, REAL_S8_KEYWORD = 274,
  REAL_S16_KEYWORD = 275, COMPLEX_S8_KEYWORD = 276, COMPLEX_S16_KEYWORD = 277, COMPLEX_S32_KEYWORD = 278,
  BOOL_AND = 279, BOOL_OR = 280, BOOL_NOT = 281, CHARACTER = 282,
  VARIABLE = 283, ASSIGN_MODIFY = 284, ABOVE_COMMA = 285, NOTEQUAL = 286,
  EQUAL = 287, GEQ = 288, LEQ = 289, GREATERTHAN = 290,
  LESSTHAN = 291, RSH = 292, LSH = 293, STARSTAR = 294,
  UNARY = 295, INT = 258, FLOAT = 259, RAW_STRING = 260,
  STRING = 261, CHAR = 262, NAME = 263, TYPENAME = 264,
  COMPLETE = 265, NAME_OR_INT = 266, TRUE_KEYWORD = 267, FALSE_KEYWORD = 268,
  STRUCT_KEYWORD = 269, INTERFACE_KEYWORD = 270, TYPE_KEYWORD = 271, CHAN_KEYWORD = 272,
  SIZEOF_KEYWORD = 273, LEN_KEYWORD = 274, CAP_KEYWORD = 275, NEW_KEYWORD = 276,
  IOTA_KEYWORD = 277, NIL_KEYWORD = 278, CONST_KEYWORD = 279, DOTDOTDOT = 280,
  ENTRY = 281, ERROR = 282, BYTE_KEYWORD = 283, DOLLAR_VARIABLE = 284,
  ASSIGN_MODIFY = 285, ABOVE_COMMA = 286, OROR = 287, ANDAND = 288,
  ANDNOT = 289, NOTEQUAL = 290, EQUAL = 291, GEQ = 292,
  LEQ = 293, RSH = 294, LSH = 295, DECREMENT = 296,
  INCREMENT = 297, UNARY = 298, LEFT_ARROW = 299, INTEGER_LITERAL = 258,
  FLOATING_POINT_LITERAL = 259, IDENTIFIER = 260, STRING_LITERAL = 261, BOOLEAN_LITERAL = 262,
  TYPENAME = 263, NAME_OR_INT = 264, ERROR = 265, LONG = 266,
  SHORT = 267, BYTE = 268, INT = 269, CHAR = 270,
  BOOLEAN = 271, DOUBLE = 272, FLOAT = 273, VARIABLE = 274,
  ASSIGN_MODIFY = 275, SUPER = 276, NEW = 277, OROR = 278,
  ANDAND = 279, NOTEQUAL = 280, EQUAL = 281, GEQ = 282,
  LEQ = 283, RSH = 284, LSH = 285, DECREMENT = 286,
  INCREMENT = 287, INT = 258, HEX = 259, ERROR = 260,
  UINT = 261, M2_TRUE = 262, M2_FALSE = 263, CHAR = 264,
  FLOAT = 265, STRING = 266, NAME = 267, BLOCKNAME = 268,
  IDENT = 269, VARNAME = 270, TYPENAME = 271, SIZE = 272,
  CAP = 273, ORD = 274, HIGH = 275, ABS = 276,
  MIN_FUNC = 277, MAX_FUNC = 278, FLOAT_FUNC = 279, VAL = 280,
  CHR = 281, ODD = 282, TRUNC = 283, TSIZE = 284,
  INC = 285, DEC = 286, INCL = 287, EXCL = 288,
  COLONCOLON = 289, INTERNAL_VAR = 290, ABOVE_COMMA = 291, ASSIGN = 292,
  IN = 293, NOTEQUAL = 294, GEQ = 295, LEQ = 296,
  OROR = 297, LOGICAL_AND = 298, MOD = 299, DIV = 300,
  UNARY = 301, DOT = 302, NOT = 303, QID = 304,
  INT = 258, FLOAT = 259, STRING = 260, FIELDNAME = 261,
  COMPLETE = 262, NAME = 263, TYPENAME = 264, NAME_OR_INT = 265,
  STRUCT = 266, CLASS = 267, SIZEOF = 268, COLONCOLON = 269,
  ERROR = 270, VARIABLE = 271, THIS = 272, TRUEKEYWORD = 273,
  FALSEKEYWORD = 274, ABOVE_COMMA = 275, ASSIGN = 276, NOT = 277,
  OR = 278, XOR = 279, ANDAND = 280, NOTEQUAL = 281,
  GEQ = 282, LEQ = 283, MOD = 284, DIV = 285,
  RSH = 286, LSH = 287, DECREMENT = 288, INCREMENT = 289,
  UNARY = 290, ARROW = 291, BLOCKNAME = 292
}

Functions

int yyparse (void)
char * cp_comp_to_string (struct demangle_component *result, int estimated_len)
struct demangle_parse_infocp_new_demangle_parse_info (void)
void cp_demangled_name_parse_free (struct demangle_parse_info *parse_info)
void cp_merge_demangle_parse_infos (struct demangle_parse_info *dest, struct demangle_component *target, struct demangle_parse_info *src)
struct demangle_parse_infocp_demangled_name_to_comp (const char *demangled_name, const char **errmsg)

Variables

int yychar
YYSTYPE yylval
int yynerrs

Define Documentation

#define ALLOC_CHUNK   100

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

#define ANDAND   297

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

#define ARROW   307

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

#define ASSIGN_MODIFY   290

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

#define BOOL   283

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

#define CHAR   288

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

#define CLASS   262

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

#define COLONCOLON   267

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

#define CONST_KEYWORD   280

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

#define CONSTRUCTION_IN   295

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

#define CONSTRUCTION_VTABLE   294

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

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

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

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

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

#define DECREMENT   304

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

#define DELETE   271

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

#define DEMANGLER_SPECIAL   293

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

#define DOUBLE_KEYWORD   282

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

#define DYNAMIC_CAST   275

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

#define ELLIPSIS   284

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

#define ENUM   264

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

#define EQUAL   299

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

#define ERROR   269

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

#define FALSEKEYWORD   292

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

#define FLOAT   259

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

#define FLOAT_KEYWORD   287

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

#define GEQ   300

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

#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 HANDLE_SPECIAL (   string,
  comp 
)
Value:
if (strncmp (tokstart, string, sizeof (string) - 1) == 0)       \
    {                                                           \
      lexptr = tokstart + sizeof (string) - 1;                  \
      yylval.lval = comp;                                       \
      return DEMANGLER_SPECIAL;                                 \
    }

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

#define HANDLE_TOKEN2 (   string,
  token 
)
Value:
if (lexptr[1] == string[1])                             \
    {                                                   \
      lexptr += 2;                                      \
      yylval.opname = string;                           \
      return token;                                     \
    }

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

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

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

#define INCREMENT   305

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

#define INT   258

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

#define INT_CHAR   (1 << 0)

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

#define INT_KEYWORD   279

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

#define INT_LLONG   (1 << 3)

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

#define INT_LONG   (1 << 2)

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

#define INT_SHORT   (1 << 1)

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

#define INT_SIGNED   (1 << 4)

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

#define INT_UNSIGNED   (1 << 5)

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

#define LEQ   301

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

#define LONG   277

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

#define LSH   303

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

#define NAME   260

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

#define NEW   270

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

#define NOTEQUAL   298

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

#define OPERATOR   272

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

#define OROR   296

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

#define QUAL_CONST   1

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

#define QUAL_RESTRICT   2

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

#define QUAL_VOLATILE   4

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

#define REINTERPRET_CAST   274

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

#define RESTRICT   285

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

#define RSH   302

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

#define SHORT   278

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

#define SIGNED_KEYWORD   276

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

#define SIZEOF   265

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

#define STATIC_CAST   273

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

#define STRUCT   261

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

#define TEMPLATE   268

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

#define TRUEKEYWORD   291

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

#define UNARY   306

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

#define UNION   263

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

#define UNSIGNED   266

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

#define VOID   286

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

#define VOLATILE_KEYWORD   281

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

#define WCHAR_T   289

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

#define YY_ (   msgid)    msgid

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

#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)

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

#define YY_REDUCE_PRINT (   Rule)

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

#define YY_STACK_PRINT (   Bottom,
  Top 
)

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

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

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

#define yy_yys   cpname_yys

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

#define yy_yyv   cpname_yyv

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

#define YYABORT   goto yyabortlab

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

#define YYACCEPT   goto yyacceptlab

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

#define yyact   cpname_act

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

#define YYBACKUP (   Token,
  Value 
)
Value:
do                                                              \
  if (yychar == YYEMPTY && yylen == 1)                          \
    {                                                           \
      yychar = (Token);                                         \
      yylval = (Value);                                         \
      YYPOPSTACK (1);                                           \
      goto yybackup;                                            \
    }                                                           \
  else                                                          \
    {                                                           \
      yyerror (YY_("syntax error: cannot back up")); \
      YYERROR;                                                  \
    }                                                           \
while (YYID (0))

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

#define YYBISON   1

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

#define YYBISON_VERSION   "2.5"

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

#define yychar   cpname_char

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

#define yycheck   cpname_yycheck

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

#define yychk   cpname_chk

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

#define yyclearin   (yychar = YYEMPTY)

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

#define YYCOPY (   To,
  From,
  Count 
)
Value:
do                                      \
        {                                       \
          YYSIZE_T yyi;                         \
          for (yyi = 0; yyi < (Count); yyi++)   \
            (To)[yyi] = (From)[yyi];            \
        }                                       \
      while (YYID (0))

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

#define YYCOPY_NEEDED   1

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

#define yydebug   cpname_debug

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

#define YYDEBUG   0

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

#define yydef   cpname_def

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

#define yydefred   cpname_yydefred

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

#define yydgoto   cpname_yydgoto

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

#define YYDPRINTF (   Args)

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

#define YYEMPTY   (-2)

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

#define YYEOF   0

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

#define YYERRCODE   256

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

#define yyerrflag   cpname_errflag

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

#define yyerrok   (yyerrstatus = 0)

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

#define yyerror   cpname_error

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

#define YYERROR   goto yyerrorlab

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

#define YYERROR_VERBOSE   0

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

#define yyexca   cpname_exca

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

#define YYFAIL   goto yyerrlab

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

#define YYFINAL   84

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

#define YYFREE   xfree

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

#define yygindex   cpname_yygindex

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

#define YYID (   n)    (n)

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

#define YYINITDEPTH   200

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

#define YYLAST   1097

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

#define yylen   cpname_yylen

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

#define yylex   cpname_lex

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

#define YYLEX   yylex ()

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

#define yylhs   cpname_yylhs

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

#define yylloc   cpname_lloc

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

#define YYLLOC_DEFAULT (   Current,
  Rhs,
 
)
Value:
do                                                                      \
      if (YYID (N))                                                    \
        {                                                               \
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
        }                                                               \
      else                                                              \
        {                                                               \
          (Current).first_line   = (Current).last_line   =              \
            YYRHSLOC (Rhs, 0).last_line;                                \
          (Current).first_column = (Current).last_column =              \
            YYRHSLOC (Rhs, 0).last_column;                              \
        }                                                               \
    while (YYID (0))

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

#define YYLSP_NEEDED   0

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

#define yylval   cpname_lval

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

#define YYMALLOC   xmalloc

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

#define yymaxdepth   cpname_maxdepth

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

#define YYMAXDEPTH   10000

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

#define YYMAXUTOK   307

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

#define yyname   cpname_name /* With YYDEBUG defined */

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

#define yynerrs   cpname_nerrs

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

#define YYNNTS   40

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

#define YYNRULES   194

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

#define YYNSTATES   324

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

#define YYNTOKENS   75

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

#define yypact   cpname_pact

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

#define YYPACT_NINF   -193

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

#define yypact_value_is_default (   yystate)    ((yystate) == (-193))

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

#define yyparse   cpname_parse

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

#define yypgo   cpname_pgo

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

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

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

#define YYPULL   1

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

#define YYPURE   0

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

#define YYPUSH   0

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

#define yypv   cpname_pv

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

#define yyr1   cpname_r1

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

#define yyr2   cpname_r2

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

#define YYRECOVERING ( )    (!!yyerrstatus)

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

#define yyreds   cpname_reds /* With YYDEBUG defined */

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

#define YYRHSLOC (   Rhs,
 
)    ((Rhs)[K])

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

#define yyrindex   cpname_yyrindex

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

#define yyrule   cpname_rule /* With YYDEBUG defined */

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

#define yys   cpname_s

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

#define yysindex   cpname_yysindex

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

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

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

#define YYSIZE_T   unsigned int

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

#define YYSKELETON_NAME   "yacc.c"

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

#define yyss   cpname_yyss

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

#define yysslim   cpname_yysslim

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

#define yyssp   cpname_yyssp

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

#define YYSTACK_ALLOC   YYMALLOC

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

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

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
      + YYSTACK_GAP_MAXIMUM)

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

#define YYSTACK_FREE   YYFREE

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

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

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

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do                                                                      \
      {                                                                 \
        YYSIZE_T yynewbytes;                                            \
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
        Stack = &yyptr->Stack_alloc;                                    \
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
      }                                                                 \
    while (YYID (0))

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

#define yystacksize   cpname_yystacksize

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

#define yystate   cpname_state

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

#define yystype   YYSTYPE /* obsolescent; will be withdrawn */

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

#define YYSTYPE_IS_DECLARED   1

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

#define YYSTYPE_IS_TRIVIAL   1

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

#define yytable   cpname_yytable

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

#define YYTABLE_NINF   -1

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

#define yytable_value_is_error (   yytable_value)    YYID (0)

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

#define YYTERROR   1

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

#define yytmp   cpname_tmp

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

#define YYTOKEN_TABLE   0

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

#define YYTOKENTYPE

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

#define yytoks   cpname_toks /* With YYDEBUG defined */

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

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

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

#define YYUNDEFTOK   2

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

#define YYUSE (   e)    ((void) (e))

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

#define yyv   cpname_v

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

#define yyval   cpname_val

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

#define yyvs   cpname_yyvs

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

#define yyvsp   cpname_yyvsp

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


Typedef Documentation

typedef union YYSTYPE YYSTYPE
typedef short int yytype_int16

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

typedef short int yytype_int8

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

typedef unsigned short int yytype_uint16

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

typedef unsigned char yytype_uint8

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


Enumeration Type Documentation

Enumerator:
INT 
NULL_PTR 
CHARLIT 
FLOAT 
TRUEKEYWORD 
FALSEKEYWORD 
COLONCOLON 
STRING 
NAME 
DOT_ID 
DOT_ALL 
SPECIAL_VARIABLE 
ASSIGN 
ELSE 
THEN 
XOR 
OR 
_AND_ 
DOTDOT 
IN 
GEQ 
LEQ 
NOTEQUAL 
UNARY 
REM 
MOD 
NOT 
ABS 
STARSTAR 
VAR 
ARROW 
TICK_LENGTH 
TICK_LAST 
TICK_FIRST 
TICK_ADDRESS 
TICK_ACCESS 
TICK_MODULUS 
TICK_MIN 
TICK_MAX 
TICK_VAL 
TICK_TAG 
TICK_SIZE 
TICK_RANGE 
TICK_POS 
NEW 
OTHERS 
INT 
FLOAT 
DECFLOAT 
STRING 
NSSTRING 
SELECTOR 
CHAR 
NAME 
UNKNOWN_CPP_NAME 
COMPLETE 
TYPENAME 
CLASSNAME 
OBJC_LBRAC 
NAME_OR_INT 
OPERATOR 
STRUCT 
CLASS 
UNION 
ENUM 
SIZEOF 
UNSIGNED 
COLONCOLON 
TEMPLATE 
ERROR 
NEW 
DELETE 
REINTERPRET_CAST 
DYNAMIC_CAST 
STATIC_CAST 
CONST_CAST 
ENTRY 
TYPEOF 
DECLTYPE 
TYPEID 
SIGNED_KEYWORD 
LONG 
SHORT 
INT_KEYWORD 
CONST_KEYWORD 
VOLATILE_KEYWORD 
DOUBLE_KEYWORD 
VARIABLE 
ASSIGN_MODIFY 
TRUEKEYWORD 
FALSEKEYWORD 
ABOVE_COMMA 
OROR 
ANDAND 
NOTEQUAL 
EQUAL 
GEQ 
LEQ 
RSH 
LSH 
DECREMENT 
INCREMENT 
UNARY 
DOT_STAR 
ARROW_STAR 
ARROW 
BLOCKNAME 
FILENAME 
DOTDOTDOT 
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 
NOTEQUAL 
EQUAL 
GEQ 
LEQ 
RSH 
LSH 
DECREMENT 
INCREMENT 
UNARY 
ARROW 
INT 
FLOAT 
STRING_LITERAL 
BOOLEAN_LITERAL 
NAME 
TYPENAME 
NAME_OR_INT 
SIZEOF 
ERROR 
INT_KEYWORD 
INT_S2_KEYWORD 
LOGICAL_S1_KEYWORD 
LOGICAL_S2_KEYWORD 
LOGICAL_S8_KEYWORD 
LOGICAL_KEYWORD 
REAL_KEYWORD 
REAL_S8_KEYWORD 
REAL_S16_KEYWORD 
COMPLEX_S8_KEYWORD 
COMPLEX_S16_KEYWORD 
COMPLEX_S32_KEYWORD 
BOOL_AND 
BOOL_OR 
BOOL_NOT 
CHARACTER 
VARIABLE 
ASSIGN_MODIFY 
ABOVE_COMMA 
NOTEQUAL 
EQUAL 
GEQ 
LEQ 
GREATERTHAN 
LESSTHAN 
RSH 
LSH 
STARSTAR 
UNARY 
INT 
FLOAT 
RAW_STRING 
STRING 
CHAR 
NAME 
TYPENAME 
COMPLETE 
NAME_OR_INT 
TRUE_KEYWORD 
FALSE_KEYWORD 
STRUCT_KEYWORD 
INTERFACE_KEYWORD 
TYPE_KEYWORD 
CHAN_KEYWORD 
SIZEOF_KEYWORD 
LEN_KEYWORD 
CAP_KEYWORD 
NEW_KEYWORD 
IOTA_KEYWORD 
NIL_KEYWORD 
CONST_KEYWORD 
DOTDOTDOT 
ENTRY 
ERROR 
BYTE_KEYWORD 
DOLLAR_VARIABLE 
ASSIGN_MODIFY 
ABOVE_COMMA 
OROR 
ANDAND 
ANDNOT 
NOTEQUAL 
EQUAL 
GEQ 
LEQ 
RSH 
LSH 
DECREMENT 
INCREMENT 
UNARY 
LEFT_ARROW 
INTEGER_LITERAL 
FLOATING_POINT_LITERAL 
IDENTIFIER 
STRING_LITERAL 
BOOLEAN_LITERAL 
TYPENAME 
NAME_OR_INT 
ERROR 
LONG 
SHORT 
BYTE 
INT 
CHAR 
BOOLEAN 
DOUBLE 
FLOAT 
VARIABLE 
ASSIGN_MODIFY 
SUPER 
NEW 
OROR 
ANDAND 
NOTEQUAL 
EQUAL 
GEQ 
LEQ 
RSH 
LSH 
DECREMENT 
INCREMENT 
INT 
HEX 
ERROR 
UINT 
M2_TRUE 
M2_FALSE 
CHAR 
FLOAT 
STRING 
NAME 
BLOCKNAME 
IDENT 
VARNAME 
TYPENAME 
SIZE 
CAP 
ORD 
HIGH 
ABS 
MIN_FUNC 
MAX_FUNC 
FLOAT_FUNC 
VAL 
CHR 
ODD 
TRUNC 
TSIZE 
INC 
DEC 
INCL 
EXCL 
COLONCOLON 
INTERNAL_VAR 
ABOVE_COMMA 
ASSIGN 
IN 
NOTEQUAL 
GEQ 
LEQ 
OROR 
LOGICAL_AND 
MOD 
DIV 
UNARY 
DOT 
NOT 
QID 
INT 
FLOAT 
STRING 
FIELDNAME 
COMPLETE 
NAME 
TYPENAME 
NAME_OR_INT 
STRUCT 
CLASS 
SIZEOF 
COLONCOLON 
ERROR 
VARIABLE 
THIS 
TRUEKEYWORD 
FALSEKEYWORD 
ABOVE_COMMA 
ASSIGN 
NOT 
OR 
XOR 
ANDAND 
NOTEQUAL 
GEQ 
LEQ 
MOD 
DIV 
RSH 
LSH 
DECREMENT 
INCREMENT 
UNARY 
ARROW 
BLOCKNAME 

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


Function Documentation

char* cp_comp_to_string ( struct demangle_component *  result,
int  estimated_len 
)

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

void cp_demangled_name_parse_free ( struct demangle_parse_info parse_info)

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

struct demangle_parse_info* cp_demangled_name_to_comp ( const char *  demangled_name,
const char **  errmsg 
) [read]

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

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

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

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

int yyparse ( void  )

Variable Documentation

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

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

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines