GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-13.1/gdb/d-exp.c File Reference
#include "defs.h"
#include <ctype.h>
#include "expression.h"
#include "value.h"
#include "parser-defs.h"
#include "language.h"
#include "c-lang.h"
#include "d-lang.h"
#include "bfd.h"
#include "symfile.h"
#include "objfiles.h"
#include "charset.h"
#include "block.h"
#include "type-stack.h"
#include "expop.h"
#include "yy-remap.h"
#include <limits.h>

Go to the source code of this file.

Classes

union  YYSTYPE
 
union  yyalloc
 
struct  token
 
struct  token_and_value
 

Macros

#define YYBISON   30802
 
#define YYBISON_VERSION   "3.8.2"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define parse_type(ps)   builtin_type (ps->gdbarch ())
 
#define parse_d_type(ps)   builtin_d_type (ps->gdbarch ())
 
#define GDB_YY_REMAP_PREFIX   d_
 
#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 IDENTIFIER   258
 
#define UNKNOWN_NAME   259
 
#define TYPENAME   260
 
#define COMPLETE   261
 
#define NAME_OR_INT   262
 
#define INTEGER_LITERAL   263
 
#define FLOAT_LITERAL   264
 
#define CHARACTER_LITERAL   265
 
#define STRING_LITERAL   266
 
#define ENTRY   267
 
#define ERROR   268
 
#define TRUE_KEYWORD   269
 
#define FALSE_KEYWORD   270
 
#define NULL_KEYWORD   271
 
#define SUPER_KEYWORD   272
 
#define CAST_KEYWORD   273
 
#define SIZEOF_KEYWORD   274
 
#define TYPEOF_KEYWORD   275
 
#define TYPEID_KEYWORD   276
 
#define INIT_KEYWORD   277
 
#define IMMUTABLE_KEYWORD   278
 
#define CONST_KEYWORD   279
 
#define SHARED_KEYWORD   280
 
#define STRUCT_KEYWORD   281
 
#define UNION_KEYWORD   282
 
#define CLASS_KEYWORD   283
 
#define INTERFACE_KEYWORD   284
 
#define ENUM_KEYWORD   285
 
#define TEMPLATE_KEYWORD   286
 
#define DELEGATE_KEYWORD   287
 
#define FUNCTION_KEYWORD   288
 
#define DOLLAR_VARIABLE   289
 
#define ASSIGN_MODIFY   290
 
#define OROR   291
 
#define ANDAND   292
 
#define EQUAL   293
 
#define NOTEQUAL   294
 
#define LEQ   295
 
#define GEQ   296
 
#define LSH   297
 
#define RSH   298
 
#define HATHAT   299
 
#define IDENTITY   300
 
#define NOTIDENTITY   301
 
#define INCREMENT   302
 
#define DECREMENT   303
 
#define DOTDOT   304
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 
#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 yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   70
 
#define YYLAST   200
 
#define YYNTOKENS   71
 
#define YYNNTS   35
 
#define YYNRULES   104
 
#define YYNSTATES   169
 
#define YYMAXUTOK   304
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (yysymbol_kind_t, yystos[State])
 
#define YYPACT_NINF   (-91)
 
#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))
 

Typedefs

typedef enum yytokentype yytoken_kind_t
 
typedef union YYSTYPE YYSTYPE
 
typedef enum yysymbol_kind_t yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef short yytype_uint8
 
typedef int yytype_uint16
 
typedef yytype_uint8 yy_state_t
 
typedef int yy_state_fast_t
 

Enumerations

enum  yytokentype {
  YYEMPTY = -2 , YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 ,
  INT = 258 , NULL_PTR = 259 , CHARLIT = 260 , FLOAT = 261 ,
  TRUEKEYWORD = 262 , FALSEKEYWORD = 263 , COLONCOLON = 264 , STRING = 265 ,
  NAME = 266 , DOT_ID = 267 , TICK_COMPLETE = 268 , DOT_COMPLETE = 269 ,
  NAME_COMPLETE = 270 , DOLLAR_VARIABLE = 271 , ASSIGN = 272 , _AND_ = 273 ,
  OR = 274 , XOR = 275 , THEN = 276 , ELSE = 277 ,
  NOTEQUAL = 278 , LEQ = 279 , GEQ = 280 , IN = 281 ,
  DOTDOT = 282 , UNARY = 283 , MOD = 284 , REM = 285 ,
  STARSTAR = 286 , ABS = 287 , NOT = 288 , VAR = 289 ,
  ARROW = 290 , TICK_ACCESS = 291 , TICK_ADDRESS = 292 , TICK_FIRST = 293 ,
  TICK_LAST = 294 , TICK_LENGTH = 295 , TICK_MAX = 296 , TICK_MIN = 297 ,
  TICK_MODULUS = 298 , TICK_POS = 299 , TICK_RANGE = 300 , TICK_SIZE = 301 ,
  TICK_TAG = 302 , TICK_VAL = 303 , NEW = 304 , OTHERS = 305 ,
  YYEMPTY = -2 , YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 ,
  INT = 258 , COMPLEX_INT = 259 , FLOAT = 260 , COMPLEX_FLOAT = 261 ,
  STRING = 262 , NSSTRING = 263 , SELECTOR = 264 , CHAR = 265 ,
  NAME = 266 , UNKNOWN_CPP_NAME = 267 , COMPLETE = 268 , TYPENAME = 269 ,
  CLASSNAME = 270 , OBJC_LBRAC = 271 , NAME_OR_INT = 272 , OPERATOR = 273 ,
  STRUCT = 274 , CLASS = 275 , UNION = 276 , ENUM = 277 ,
  SIZEOF = 278 , ALIGNOF = 279 , UNSIGNED = 280 , COLONCOLON = 281 ,
  TEMPLATE = 282 , ERROR = 283 , NEW = 284 , DELETE = 285 ,
  REINTERPRET_CAST = 286 , DYNAMIC_CAST = 287 , STATIC_CAST = 288 , CONST_CAST = 289 ,
  ENTRY = 290 , TYPEOF = 291 , DECLTYPE = 292 , TYPEID = 293 ,
  SIGNED_KEYWORD = 294 , LONG = 295 , SHORT = 296 , INT_KEYWORD = 297 ,
  CONST_KEYWORD = 298 , VOLATILE_KEYWORD = 299 , DOUBLE_KEYWORD = 300 , RESTRICT = 301 ,
  ATOMIC = 302 , FLOAT_KEYWORD = 303 , COMPLEX = 304 , DOLLAR_VARIABLE = 305 ,
  ASSIGN_MODIFY = 306 , TRUEKEYWORD = 307 , FALSEKEYWORD = 308 , ABOVE_COMMA = 309 ,
  OROR = 310 , ANDAND = 311 , EQUAL = 312 , NOTEQUAL = 313 ,
  LEQ = 314 , GEQ = 315 , LSH = 316 , RSH = 317 ,
  UNARY = 318 , INCREMENT = 319 , DECREMENT = 320 , ARROW = 321 ,
  ARROW_STAR = 322 , DOT_STAR = 323 , BLOCKNAME = 324 , FILENAME = 325 ,
  DOTDOTDOT = 326 , 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 , YYEMPTY = -2 ,
  YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 , IDENTIFIER = 258 ,
  UNKNOWN_NAME = 259 , TYPENAME = 260 , COMPLETE = 261 , NAME_OR_INT = 262 ,
  INTEGER_LITERAL = 263 , FLOAT_LITERAL = 264 , CHARACTER_LITERAL = 265 , STRING_LITERAL = 266 ,
  ENTRY = 267 , ERROR = 268 , TRUE_KEYWORD = 269 , FALSE_KEYWORD = 270 ,
  NULL_KEYWORD = 271 , SUPER_KEYWORD = 272 , CAST_KEYWORD = 273 , SIZEOF_KEYWORD = 274 ,
  TYPEOF_KEYWORD = 275 , TYPEID_KEYWORD = 276 , INIT_KEYWORD = 277 , IMMUTABLE_KEYWORD = 278 ,
  CONST_KEYWORD = 279 , SHARED_KEYWORD = 280 , STRUCT_KEYWORD = 281 , UNION_KEYWORD = 282 ,
  CLASS_KEYWORD = 283 , INTERFACE_KEYWORD = 284 , ENUM_KEYWORD = 285 , TEMPLATE_KEYWORD = 286 ,
  DELEGATE_KEYWORD = 287 , FUNCTION_KEYWORD = 288 , DOLLAR_VARIABLE = 289 , ASSIGN_MODIFY = 290 ,
  OROR = 291 , ANDAND = 292 , EQUAL = 293 , NOTEQUAL = 294 ,
  LEQ = 295 , GEQ = 296 , LSH = 297 , RSH = 298 ,
  HATHAT = 299 , IDENTITY = 300 , NOTIDENTITY = 301 , INCREMENT = 302 ,
  DECREMENT = 303 , DOTDOT = 304 , YYEMPTY = -2 , YYEOF = 0 ,
  YYerror = 256 , YYUNDEF = 257 , INT = 258 , FLOAT = 259 ,
  STRING_LITERAL = 260 , BOOLEAN_LITERAL = 261 , NAME = 262 , TYPENAME = 263 ,
  COMPLETE = 264 , NAME_OR_INT = 265 , SIZEOF = 266 , KIND = 267 ,
  ERROR = 268 , INT_S1_KEYWORD = 269 , INT_S2_KEYWORD = 270 , INT_KEYWORD = 271 ,
  INT_S4_KEYWORD = 272 , INT_S8_KEYWORD = 273 , LOGICAL_S1_KEYWORD = 274 , LOGICAL_S2_KEYWORD = 275 ,
  LOGICAL_KEYWORD = 276 , LOGICAL_S4_KEYWORD = 277 , LOGICAL_S8_KEYWORD = 278 , REAL_KEYWORD = 279 ,
  REAL_S4_KEYWORD = 280 , REAL_S8_KEYWORD = 281 , REAL_S16_KEYWORD = 282 , COMPLEX_KEYWORD = 283 ,
  COMPLEX_S4_KEYWORD = 284 , COMPLEX_S8_KEYWORD = 285 , COMPLEX_S16_KEYWORD = 286 , BOOL_AND = 287 ,
  BOOL_OR = 288 , BOOL_NOT = 289 , SINGLE = 290 , DOUBLE = 291 ,
  PRECISION = 292 , CHARACTER = 293 , DOLLAR_VARIABLE = 294 , ASSIGN_MODIFY = 295 ,
  UNOP_INTRINSIC = 296 , BINOP_INTRINSIC = 297 , UNOP_OR_BINOP_INTRINSIC = 298 , UNOP_OR_BINOP_OR_TERNOP_INTRINSIC = 299 ,
  ABOVE_COMMA = 300 , EQUAL = 301 , NOTEQUAL = 302 , LESSTHAN = 303 ,
  GREATERTHAN = 304 , LEQ = 305 , GEQ = 306 , LSH = 307 ,
  RSH = 308 , STARSTAR = 309 , UNARY = 310 , YYEMPTY = -2 ,
  YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 , 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 , EQUAL = 290 ,
  NOTEQUAL = 291 , LEQ = 292 , GEQ = 293 , LSH = 294 ,
  RSH = 295 , UNARY = 296 , INCREMENT = 297 , DECREMENT = 298 ,
  LEFT_ARROW = 299 , YYEMPTY = -2 , YYEOF = 0 , YYerror = 256 ,
  YYUNDEF = 257 , 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 , DOLLAR_VARIABLE = 290 , ABOVE_COMMA = 291 , ASSIGN = 292 ,
  LEQ = 293 , GEQ = 294 , NOTEQUAL = 295 , IN = 296 ,
  OROR = 297 , LOGICAL_AND = 298 , DIV = 299 , MOD = 300 ,
  UNARY = 301 , DOT = 302 , NOT = 303 , QID = 304 ,
  YYEMPTY = -2 , YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 ,
  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 , DOLLAR_VARIABLE = 271 , THIS = 272 , TRUEKEYWORD = 273 ,
  FALSEKEYWORD = 274 , ABOVE_COMMA = 275 , ASSIGN = 276 , NOT = 277 ,
  OR = 278 , XOR = 279 , ANDAND = 280 , NOTEQUAL = 281 ,
  LEQ = 282 , GEQ = 283 , LSH = 284 , RSH = 285 ,
  DIV = 286 , MOD = 287 , UNARY = 288 , INCREMENT = 289 ,
  DECREMENT = 290 , ARROW = 291 , BLOCKNAME = 292
}
 
enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_INT = 3 , YYSYMBOL_NULL_PTR = 4 , YYSYMBOL_CHARLIT = 5 , YYSYMBOL_FLOAT = 6 ,
  YYSYMBOL_TRUEKEYWORD = 7 , YYSYMBOL_FALSEKEYWORD = 8 , YYSYMBOL_COLONCOLON = 9 , YYSYMBOL_STRING = 10 ,
  YYSYMBOL_NAME = 11 , YYSYMBOL_DOT_ID = 12 , YYSYMBOL_TICK_COMPLETE = 13 , YYSYMBOL_DOT_COMPLETE = 14 ,
  YYSYMBOL_NAME_COMPLETE = 15 , YYSYMBOL_DOLLAR_VARIABLE = 16 , YYSYMBOL_ASSIGN = 17 , YYSYMBOL__AND_ = 18 ,
  YYSYMBOL_OR = 19 , YYSYMBOL_XOR = 20 , YYSYMBOL_THEN = 21 , YYSYMBOL_ELSE = 22 ,
  YYSYMBOL_23_ = 23 , YYSYMBOL_NOTEQUAL = 24 , YYSYMBOL_25_ = 25 , YYSYMBOL_26_ = 26 ,
  YYSYMBOL_LEQ = 27 , YYSYMBOL_GEQ = 28 , YYSYMBOL_IN = 29 , YYSYMBOL_DOTDOT = 30 ,
  YYSYMBOL_31_ = 31 , YYSYMBOL_32_ = 32 , YYSYMBOL_33_ = 33 , YYSYMBOL_34_ = 34 ,
  YYSYMBOL_UNARY = 35 , YYSYMBOL_36_ = 36 , YYSYMBOL_37_ = 37 , YYSYMBOL_MOD = 38 ,
  YYSYMBOL_REM = 39 , YYSYMBOL_STARSTAR = 40 , YYSYMBOL_ABS = 41 , YYSYMBOL_NOT = 42 ,
  YYSYMBOL_VAR = 43 , YYSYMBOL_ARROW = 44 , YYSYMBOL_45_ = 45 , YYSYMBOL_TICK_ACCESS = 46 ,
  YYSYMBOL_TICK_ADDRESS = 47 , YYSYMBOL_TICK_FIRST = 48 , YYSYMBOL_TICK_LAST = 49 , YYSYMBOL_TICK_LENGTH = 50 ,
  YYSYMBOL_TICK_MAX = 51 , YYSYMBOL_TICK_MIN = 52 , YYSYMBOL_TICK_MODULUS = 53 , YYSYMBOL_TICK_POS = 54 ,
  YYSYMBOL_TICK_RANGE = 55 , YYSYMBOL_TICK_SIZE = 56 , YYSYMBOL_TICK_TAG = 57 , YYSYMBOL_TICK_VAL = 58 ,
  YYSYMBOL_59_ = 59 , YYSYMBOL_60_ = 60 , YYSYMBOL_61_ = 61 , YYSYMBOL_NEW = 62 ,
  YYSYMBOL_OTHERS = 63 , YYSYMBOL_64_ = 64 , YYSYMBOL_65_ = 65 , YYSYMBOL_66_ = 66 ,
  YYSYMBOL_67_ = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 ,
  YYSYMBOL_YYACCEPT = 71 , YYSYMBOL_start = 72 , YYSYMBOL_exp1 = 73 , YYSYMBOL_primary = 74 ,
  YYSYMBOL_simple_exp = 75 , YYSYMBOL_arglist = 76 , YYSYMBOL_relation = 77 , YYSYMBOL_exp = 78 ,
  YYSYMBOL_and_exp = 79 , YYSYMBOL_and_then_exp = 80 , YYSYMBOL_or_exp = 81 , YYSYMBOL_or_else_exp = 82 ,
  YYSYMBOL_xor_exp = 83 , YYSYMBOL_tick_arglist = 84 , YYSYMBOL_type_prefix = 85 , YYSYMBOL_opt_type_prefix = 86 ,
  YYSYMBOL_var_or_type = 87 , YYSYMBOL_block = 88 , YYSYMBOL_aggregate = 89 , YYSYMBOL_aggregate_component_list = 90 ,
  YYSYMBOL_positional_list = 91 , YYSYMBOL_component_groups = 92 , YYSYMBOL_others = 93 , YYSYMBOL_component_group = 94 ,
  YYSYMBOL_component_associations = 95 , YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 ,
  YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_INT = 3 , YYSYMBOL_COMPLEX_INT = 4 , YYSYMBOL_FLOAT = 5 ,
  YYSYMBOL_COMPLEX_FLOAT = 6 , YYSYMBOL_STRING = 7 , YYSYMBOL_NSSTRING = 8 , YYSYMBOL_SELECTOR = 9 ,
  YYSYMBOL_CHAR = 10 , YYSYMBOL_NAME = 11 , YYSYMBOL_UNKNOWN_CPP_NAME = 12 , YYSYMBOL_COMPLETE = 13 ,
  YYSYMBOL_TYPENAME = 14 , YYSYMBOL_CLASSNAME = 15 , YYSYMBOL_OBJC_LBRAC = 16 , YYSYMBOL_NAME_OR_INT = 17 ,
  YYSYMBOL_OPERATOR = 18 , YYSYMBOL_STRUCT = 19 , YYSYMBOL_CLASS = 20 , YYSYMBOL_UNION = 21 ,
  YYSYMBOL_ENUM = 22 , YYSYMBOL_SIZEOF = 23 , YYSYMBOL_ALIGNOF = 24 , YYSYMBOL_UNSIGNED = 25 ,
  YYSYMBOL_COLONCOLON = 26 , YYSYMBOL_TEMPLATE = 27 , YYSYMBOL_ERROR = 28 , YYSYMBOL_NEW = 29 ,
  YYSYMBOL_DELETE = 30 , YYSYMBOL_REINTERPRET_CAST = 31 , YYSYMBOL_DYNAMIC_CAST = 32 , YYSYMBOL_STATIC_CAST = 33 ,
  YYSYMBOL_CONST_CAST = 34 , YYSYMBOL_ENTRY = 35 , YYSYMBOL_TYPEOF = 36 , YYSYMBOL_DECLTYPE = 37 ,
  YYSYMBOL_TYPEID = 38 , YYSYMBOL_SIGNED_KEYWORD = 39 , YYSYMBOL_LONG = 40 , YYSYMBOL_SHORT = 41 ,
  YYSYMBOL_INT_KEYWORD = 42 , YYSYMBOL_CONST_KEYWORD = 43 , YYSYMBOL_VOLATILE_KEYWORD = 44 , YYSYMBOL_DOUBLE_KEYWORD = 45 ,
  YYSYMBOL_RESTRICT = 46 , YYSYMBOL_ATOMIC = 47 , YYSYMBOL_FLOAT_KEYWORD = 48 , YYSYMBOL_COMPLEX = 49 ,
  YYSYMBOL_DOLLAR_VARIABLE = 50 , YYSYMBOL_ASSIGN_MODIFY = 51 , YYSYMBOL_TRUEKEYWORD = 52 , YYSYMBOL_FALSEKEYWORD = 53 ,
  YYSYMBOL_54_ = 54 , YYSYMBOL_ABOVE_COMMA = 55 , YYSYMBOL_56_ = 56 , YYSYMBOL_57_ = 57 ,
  YYSYMBOL_OROR = 58 , YYSYMBOL_ANDAND = 59 , YYSYMBOL_60_ = 60 , YYSYMBOL_61_ = 61 ,
  YYSYMBOL_62_ = 62 , YYSYMBOL_EQUAL = 63 , YYSYMBOL_NOTEQUAL = 64 , YYSYMBOL_65_ = 65 ,
  YYSYMBOL_66_ = 66 , YYSYMBOL_LEQ = 67 , YYSYMBOL_GEQ = 68 , YYSYMBOL_LSH = 69 ,
  YYSYMBOL_RSH = 70 , YYSYMBOL_71_ = 71 , YYSYMBOL_72_ = 72 , YYSYMBOL_73_ = 73 ,
  YYSYMBOL_74_ = 74 , YYSYMBOL_75_ = 75 , YYSYMBOL_76_ = 76 , YYSYMBOL_UNARY = 77 ,
  YYSYMBOL_INCREMENT = 78 , YYSYMBOL_DECREMENT = 79 , YYSYMBOL_ARROW = 80 , YYSYMBOL_ARROW_STAR = 81 ,
  YYSYMBOL_82_ = 82 , YYSYMBOL_DOT_STAR = 83 , YYSYMBOL_84_ = 84 , YYSYMBOL_85_ = 85 ,
  YYSYMBOL_BLOCKNAME = 86 , YYSYMBOL_FILENAME = 87 , YYSYMBOL_DOTDOTDOT = 88 , YYSYMBOL_89_ = 89 ,
  YYSYMBOL_90_ = 90 , YYSYMBOL_91_ = 91 , YYSYMBOL_92_ = 92 , YYSYMBOL_93_ = 93 ,
  YYSYMBOL_94_ = 94 , YYSYMBOL_95_ = 95 , YYSYMBOL_YYACCEPT = 96 , YYSYMBOL_start = 97 ,
  YYSYMBOL_type_exp = 98 , YYSYMBOL_exp1 = 99 , YYSYMBOL_exp = 100 , YYSYMBOL_101_1 = 101 ,
  YYSYMBOL_102_2 = 102 , YYSYMBOL_103_3 = 103 , YYSYMBOL_msglist = 104 , YYSYMBOL_msgarglist = 105 ,
  YYSYMBOL_msgarg = 106 , YYSYMBOL_107_4 = 107 , YYSYMBOL_108_5 = 108 , YYSYMBOL_lcurly = 109 ,
  YYSYMBOL_arglist = 110 , YYSYMBOL_function_method = 111 , YYSYMBOL_function_method_void = 112 , YYSYMBOL_function_method_void_or_typelist = 113 ,
  YYSYMBOL_rcurly = 114 , YYSYMBOL_string_exp = 115 , YYSYMBOL_block = 116 , YYSYMBOL_variable = 117 ,
  YYSYMBOL_qualified_name = 118 , YYSYMBOL_const_or_volatile = 119 , YYSYMBOL_single_qualifier = 120 , YYSYMBOL_qualifier_seq_noopt = 121 ,
  YYSYMBOL_qualifier_seq = 122 , YYSYMBOL_ptr_operator = 123 , YYSYMBOL_124_6 = 124 , YYSYMBOL_125_7 = 125 ,
  YYSYMBOL_ptr_operator_ts = 126 , YYSYMBOL_abs_decl = 127 , YYSYMBOL_direct_abs_decl = 128 , YYSYMBOL_array_mod = 129 ,
  YYSYMBOL_func_mod = 130 , YYSYMBOL_type = 131 , YYSYMBOL_scalar_type = 132 , YYSYMBOL_typebase = 133 ,
  YYSYMBOL_type_name = 134 , YYSYMBOL_parameter_typelist = 135 , YYSYMBOL_nonempty_typelist = 136 , YYSYMBOL_ptype = 137 ,
  YYSYMBOL_conversion_type_id = 138 , YYSYMBOL_conversion_declarator = 139 , YYSYMBOL_const_and_volatile = 140 , YYSYMBOL_const_or_volatile_noopt = 141 ,
  YYSYMBOL_oper = 142 , YYSYMBOL_field_name = 143 , YYSYMBOL_name = 144 , YYSYMBOL_name_not_typename = 145 ,
  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 ,
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_IDENTIFIER = 3 , YYSYMBOL_UNKNOWN_NAME = 4 , YYSYMBOL_TYPENAME = 5 , YYSYMBOL_COMPLETE = 6 ,
  YYSYMBOL_NAME_OR_INT = 7 , YYSYMBOL_INTEGER_LITERAL = 8 , YYSYMBOL_FLOAT_LITERAL = 9 , YYSYMBOL_CHARACTER_LITERAL = 10 ,
  YYSYMBOL_STRING_LITERAL = 11 , YYSYMBOL_ENTRY = 12 , YYSYMBOL_ERROR = 13 , YYSYMBOL_TRUE_KEYWORD = 14 ,
  YYSYMBOL_FALSE_KEYWORD = 15 , YYSYMBOL_NULL_KEYWORD = 16 , YYSYMBOL_SUPER_KEYWORD = 17 , YYSYMBOL_CAST_KEYWORD = 18 ,
  YYSYMBOL_SIZEOF_KEYWORD = 19 , YYSYMBOL_TYPEOF_KEYWORD = 20 , YYSYMBOL_TYPEID_KEYWORD = 21 , YYSYMBOL_INIT_KEYWORD = 22 ,
  YYSYMBOL_IMMUTABLE_KEYWORD = 23 , YYSYMBOL_CONST_KEYWORD = 24 , YYSYMBOL_SHARED_KEYWORD = 25 , YYSYMBOL_STRUCT_KEYWORD = 26 ,
  YYSYMBOL_UNION_KEYWORD = 27 , YYSYMBOL_CLASS_KEYWORD = 28 , YYSYMBOL_INTERFACE_KEYWORD = 29 , YYSYMBOL_ENUM_KEYWORD = 30 ,
  YYSYMBOL_TEMPLATE_KEYWORD = 31 , YYSYMBOL_DELEGATE_KEYWORD = 32 , YYSYMBOL_FUNCTION_KEYWORD = 33 , YYSYMBOL_DOLLAR_VARIABLE = 34 ,
  YYSYMBOL_ASSIGN_MODIFY = 35 , YYSYMBOL_36_ = 36 , YYSYMBOL_37_ = 37 , YYSYMBOL_38_ = 38 ,
  YYSYMBOL_OROR = 39 , YYSYMBOL_ANDAND = 40 , YYSYMBOL_41_ = 41 , YYSYMBOL_42_ = 42 ,
  YYSYMBOL_43_ = 43 , YYSYMBOL_EQUAL = 44 , YYSYMBOL_NOTEQUAL = 45 , YYSYMBOL_46_ = 46 ,
  YYSYMBOL_47_ = 47 , YYSYMBOL_LEQ = 48 , YYSYMBOL_GEQ = 49 , YYSYMBOL_LSH = 50 ,
  YYSYMBOL_RSH = 51 , YYSYMBOL_52_ = 52 , YYSYMBOL_53_ = 53 , YYSYMBOL_54_ = 54 ,
  YYSYMBOL_55_ = 55 , YYSYMBOL_56_ = 56 , YYSYMBOL_HATHAT = 57 , YYSYMBOL_IDENTITY = 58 ,
  YYSYMBOL_NOTIDENTITY = 59 , YYSYMBOL_INCREMENT = 60 , YYSYMBOL_DECREMENT = 61 , YYSYMBOL_62_ = 62 ,
  YYSYMBOL_63_ = 63 , YYSYMBOL_64_ = 64 , YYSYMBOL_DOTDOT = 65 , YYSYMBOL_66_ = 66 ,
  YYSYMBOL_67_ = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 ,
  YYSYMBOL_YYACCEPT = 71 , YYSYMBOL_start = 72 , YYSYMBOL_Expression = 73 , YYSYMBOL_CommaExpression = 74 ,
  YYSYMBOL_AssignExpression = 75 , YYSYMBOL_ConditionalExpression = 76 , YYSYMBOL_OrOrExpression = 77 , YYSYMBOL_AndAndExpression = 78 ,
  YYSYMBOL_OrExpression = 79 , YYSYMBOL_XorExpression = 80 , YYSYMBOL_AndExpression = 81 , YYSYMBOL_CmpExpression = 82 ,
  YYSYMBOL_EqualExpression = 83 , YYSYMBOL_IdentityExpression = 84 , YYSYMBOL_RelExpression = 85 , YYSYMBOL_ShiftExpression = 86 ,
  YYSYMBOL_AddExpression = 87 , YYSYMBOL_MulExpression = 88 , YYSYMBOL_UnaryExpression = 89 , YYSYMBOL_CastExpression = 90 ,
  YYSYMBOL_PowExpression = 91 , YYSYMBOL_PostfixExpression = 92 , YYSYMBOL_ArgumentList = 93 , YYSYMBOL_ArgumentList_opt = 94 ,
  YYSYMBOL_CallExpression = 95 , YYSYMBOL_96_1 = 96 , YYSYMBOL_IndexExpression = 97 , YYSYMBOL_SliceExpression = 98 ,
  YYSYMBOL_PrimaryExpression = 99 , YYSYMBOL_ArrayLiteral = 100 , YYSYMBOL_IdentifierExp = 101 , YYSYMBOL_StringExp = 102 ,
  YYSYMBOL_TypeExp = 103 , YYSYMBOL_BasicType2 = 104 , YYSYMBOL_BasicType = 105 , YYSYMBOL_YYEMPTY = -2 ,
  YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_INT = 3 ,
  YYSYMBOL_FLOAT = 4 , YYSYMBOL_STRING_LITERAL = 5 , YYSYMBOL_BOOLEAN_LITERAL = 6 , YYSYMBOL_NAME = 7 ,
  YYSYMBOL_TYPENAME = 8 , YYSYMBOL_COMPLETE = 9 , YYSYMBOL_NAME_OR_INT = 10 , YYSYMBOL_SIZEOF = 11 ,
  YYSYMBOL_KIND = 12 , YYSYMBOL_ERROR = 13 , YYSYMBOL_INT_S1_KEYWORD = 14 , YYSYMBOL_INT_S2_KEYWORD = 15 ,
  YYSYMBOL_INT_KEYWORD = 16 , YYSYMBOL_INT_S4_KEYWORD = 17 , YYSYMBOL_INT_S8_KEYWORD = 18 , YYSYMBOL_LOGICAL_S1_KEYWORD = 19 ,
  YYSYMBOL_LOGICAL_S2_KEYWORD = 20 , YYSYMBOL_LOGICAL_KEYWORD = 21 , YYSYMBOL_LOGICAL_S4_KEYWORD = 22 , YYSYMBOL_LOGICAL_S8_KEYWORD = 23 ,
  YYSYMBOL_REAL_KEYWORD = 24 , YYSYMBOL_REAL_S4_KEYWORD = 25 , YYSYMBOL_REAL_S8_KEYWORD = 26 , YYSYMBOL_REAL_S16_KEYWORD = 27 ,
  YYSYMBOL_COMPLEX_KEYWORD = 28 , YYSYMBOL_COMPLEX_S4_KEYWORD = 29 , YYSYMBOL_COMPLEX_S8_KEYWORD = 30 , YYSYMBOL_COMPLEX_S16_KEYWORD = 31 ,
  YYSYMBOL_BOOL_AND = 32 , YYSYMBOL_BOOL_OR = 33 , YYSYMBOL_BOOL_NOT = 34 , YYSYMBOL_SINGLE = 35 ,
  YYSYMBOL_DOUBLE = 36 , YYSYMBOL_PRECISION = 37 , YYSYMBOL_CHARACTER = 38 , YYSYMBOL_DOLLAR_VARIABLE = 39 ,
  YYSYMBOL_ASSIGN_MODIFY = 40 , YYSYMBOL_UNOP_INTRINSIC = 41 , YYSYMBOL_BINOP_INTRINSIC = 42 , YYSYMBOL_UNOP_OR_BINOP_INTRINSIC = 43 ,
  YYSYMBOL_UNOP_OR_BINOP_OR_TERNOP_INTRINSIC = 44 , YYSYMBOL_45_ = 45 , YYSYMBOL_ABOVE_COMMA = 46 , YYSYMBOL_47_ = 47 ,
  YYSYMBOL_48_ = 48 , YYSYMBOL_49_ = 49 , YYSYMBOL_50_ = 50 , YYSYMBOL_51_ = 51 ,
  YYSYMBOL_EQUAL = 52 , YYSYMBOL_NOTEQUAL = 53 , YYSYMBOL_LESSTHAN = 54 , YYSYMBOL_GREATERTHAN = 55 ,
  YYSYMBOL_LEQ = 56 , YYSYMBOL_GEQ = 57 , YYSYMBOL_LSH = 58 , YYSYMBOL_RSH = 59 ,
  YYSYMBOL_60_ = 60 , YYSYMBOL_61_ = 61 , YYSYMBOL_62_ = 62 , YYSYMBOL_63_ = 63 ,
  YYSYMBOL_64_ = 64 , YYSYMBOL_STARSTAR = 65 , YYSYMBOL_66_ = 66 , YYSYMBOL_UNARY = 67 ,
  YYSYMBOL_68_ = 68 , YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 , YYSYMBOL_71_ = 71 ,
  YYSYMBOL_YYACCEPT = 72 , YYSYMBOL_start = 73 , YYSYMBOL_type_exp = 74 , YYSYMBOL_exp = 75 ,
  YYSYMBOL_76_1 = 76 , YYSYMBOL_77_2 = 77 , YYSYMBOL_78_3 = 78 , YYSYMBOL_arglist = 79 ,
  YYSYMBOL_subrange = 80 , YYSYMBOL_complexnum = 81 , YYSYMBOL_variable = 82 , YYSYMBOL_type = 83 ,
  YYSYMBOL_ptype = 84 , YYSYMBOL_abs_decl = 85 , YYSYMBOL_direct_abs_decl = 86 , YYSYMBOL_func_mod = 87 ,
  YYSYMBOL_typebase = 88 , YYSYMBOL_nonempty_typelist = 89 , YYSYMBOL_name = 90 , YYSYMBOL_name_not_typename = 91 ,
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_INT = 3 , YYSYMBOL_FLOAT = 4 , YYSYMBOL_RAW_STRING = 5 , YYSYMBOL_STRING = 6 ,
  YYSYMBOL_CHAR = 7 , YYSYMBOL_NAME = 8 , YYSYMBOL_TYPENAME = 9 , YYSYMBOL_COMPLETE = 10 ,
  YYSYMBOL_NAME_OR_INT = 11 , YYSYMBOL_TRUE_KEYWORD = 12 , YYSYMBOL_FALSE_KEYWORD = 13 , YYSYMBOL_STRUCT_KEYWORD = 14 ,
  YYSYMBOL_INTERFACE_KEYWORD = 15 , YYSYMBOL_TYPE_KEYWORD = 16 , YYSYMBOL_CHAN_KEYWORD = 17 , YYSYMBOL_SIZEOF_KEYWORD = 18 ,
  YYSYMBOL_LEN_KEYWORD = 19 , YYSYMBOL_CAP_KEYWORD = 20 , YYSYMBOL_NEW_KEYWORD = 21 , YYSYMBOL_IOTA_KEYWORD = 22 ,
  YYSYMBOL_NIL_KEYWORD = 23 , YYSYMBOL_CONST_KEYWORD = 24 , YYSYMBOL_DOTDOTDOT = 25 , YYSYMBOL_ENTRY = 26 ,
  YYSYMBOL_ERROR = 27 , YYSYMBOL_BYTE_KEYWORD = 28 , YYSYMBOL_DOLLAR_VARIABLE = 29 , YYSYMBOL_ASSIGN_MODIFY = 30 ,
  YYSYMBOL_31_ = 31 , YYSYMBOL_ABOVE_COMMA = 32 , YYSYMBOL_33_ = 33 , YYSYMBOL_34_ = 34 ,
  YYSYMBOL_OROR = 35 , YYSYMBOL_ANDAND = 36 , YYSYMBOL_37_ = 37 , YYSYMBOL_38_ = 38 ,
  YYSYMBOL_39_ = 39 , YYSYMBOL_ANDNOT = 40 , YYSYMBOL_EQUAL = 41 , YYSYMBOL_NOTEQUAL = 42 ,
  YYSYMBOL_43_ = 43 , YYSYMBOL_44_ = 44 , YYSYMBOL_LEQ = 45 , YYSYMBOL_GEQ = 46 ,
  YYSYMBOL_LSH = 47 , YYSYMBOL_RSH = 48 , YYSYMBOL_49_ = 49 , YYSYMBOL_50_ = 50 ,
  YYSYMBOL_51_ = 51 , YYSYMBOL_52_ = 52 , YYSYMBOL_53_ = 53 , YYSYMBOL_54_ = 54 ,
  YYSYMBOL_UNARY = 55 , YYSYMBOL_INCREMENT = 56 , YYSYMBOL_DECREMENT = 57 , YYSYMBOL_LEFT_ARROW = 58 ,
  YYSYMBOL_59_ = 59 , YYSYMBOL_60_ = 60 , YYSYMBOL_61_ = 61 , YYSYMBOL_62_ = 62 ,
  YYSYMBOL_63_ = 63 , YYSYMBOL_64_ = 64 , YYSYMBOL_65_ = 65 , YYSYMBOL_66_ = 66 ,
  YYSYMBOL_67_ = 67 , YYSYMBOL_YYACCEPT = 68 , YYSYMBOL_start = 69 , YYSYMBOL_type_exp = 70 ,
  YYSYMBOL_exp1 = 71 , YYSYMBOL_exp = 72 , YYSYMBOL_73_1 = 73 , YYSYMBOL_lcurly = 74 ,
  YYSYMBOL_arglist = 75 , YYSYMBOL_rcurly = 76 , YYSYMBOL_string_exp = 77 , YYSYMBOL_variable = 78 ,
  YYSYMBOL_type = 79 , YYSYMBOL_name_not_typename = 80 , YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 ,
  YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_INT = 3 , YYSYMBOL_HEX = 4 ,
  YYSYMBOL_ERROR = 5 , YYSYMBOL_UINT = 6 , YYSYMBOL_M2_TRUE = 7 , YYSYMBOL_M2_FALSE = 8 ,
  YYSYMBOL_CHAR = 9 , YYSYMBOL_FLOAT = 10 , YYSYMBOL_STRING = 11 , YYSYMBOL_NAME = 12 ,
  YYSYMBOL_BLOCKNAME = 13 , YYSYMBOL_IDENT = 14 , YYSYMBOL_VARNAME = 15 , YYSYMBOL_TYPENAME = 16 ,
  YYSYMBOL_SIZE = 17 , YYSYMBOL_CAP = 18 , YYSYMBOL_ORD = 19 , YYSYMBOL_HIGH = 20 ,
  YYSYMBOL_ABS = 21 , YYSYMBOL_MIN_FUNC = 22 , YYSYMBOL_MAX_FUNC = 23 , YYSYMBOL_FLOAT_FUNC = 24 ,
  YYSYMBOL_VAL = 25 , YYSYMBOL_CHR = 26 , YYSYMBOL_ODD = 27 , YYSYMBOL_TRUNC = 28 ,
  YYSYMBOL_TSIZE = 29 , YYSYMBOL_INC = 30 , YYSYMBOL_DEC = 31 , YYSYMBOL_INCL = 32 ,
  YYSYMBOL_EXCL = 33 , YYSYMBOL_COLONCOLON = 34 , YYSYMBOL_DOLLAR_VARIABLE = 35 , YYSYMBOL_36_ = 36 ,
  YYSYMBOL_ABOVE_COMMA = 37 , YYSYMBOL_ASSIGN = 38 , YYSYMBOL_39_ = 39 , YYSYMBOL_40_ = 40 ,
  YYSYMBOL_LEQ = 41 , YYSYMBOL_GEQ = 42 , YYSYMBOL_43_ = 43 , YYSYMBOL_NOTEQUAL = 44 ,
  YYSYMBOL_45_ = 45 , YYSYMBOL_IN = 46 , YYSYMBOL_OROR = 47 , YYSYMBOL_LOGICAL_AND = 48 ,
  YYSYMBOL_49_ = 49 , YYSYMBOL_50_ = 50 , YYSYMBOL_51_ = 51 , YYSYMBOL_52_ = 52 ,
  YYSYMBOL_53_ = 53 , YYSYMBOL_54_ = 54 , YYSYMBOL_DIV = 55 , YYSYMBOL_MOD = 56 ,
  YYSYMBOL_UNARY = 57 , YYSYMBOL_58_ = 58 , YYSYMBOL_DOT = 59 , YYSYMBOL_60_ = 60 ,
  YYSYMBOL_61_ = 61 , YYSYMBOL_NOT = 62 , YYSYMBOL_63_ = 63 , YYSYMBOL_QID = 64 ,
  YYSYMBOL_65_ = 65 , YYSYMBOL_66_ = 66 , YYSYMBOL_67_ = 67 , YYSYMBOL_68_ = 68 ,
  YYSYMBOL_YYACCEPT = 69 , YYSYMBOL_start = 70 , YYSYMBOL_type_exp = 71 , YYSYMBOL_exp = 72 ,
  YYSYMBOL_73_1 = 73 , YYSYMBOL_not_exp = 74 , YYSYMBOL_set = 75 , YYSYMBOL_76_2 = 76 ,
  YYSYMBOL_77_3 = 77 , YYSYMBOL_arglist = 78 , YYSYMBOL_non_empty_arglist = 79 , YYSYMBOL_block = 80 ,
  YYSYMBOL_fblock = 81 , YYSYMBOL_variable = 82 , YYSYMBOL_type = 83 , YYSYMBOL_YYEMPTY = -2 ,
  YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_INT = 3 ,
  YYSYMBOL_FLOAT = 4 , YYSYMBOL_STRING = 5 , YYSYMBOL_FIELDNAME = 6 , YYSYMBOL_COMPLETE = 7 ,
  YYSYMBOL_NAME = 8 , YYSYMBOL_TYPENAME = 9 , YYSYMBOL_NAME_OR_INT = 10 , YYSYMBOL_STRUCT = 11 ,
  YYSYMBOL_CLASS = 12 , YYSYMBOL_SIZEOF = 13 , YYSYMBOL_COLONCOLON = 14 , YYSYMBOL_ERROR = 15 ,
  YYSYMBOL_DOLLAR_VARIABLE = 16 , YYSYMBOL_THIS = 17 , YYSYMBOL_TRUEKEYWORD = 18 , YYSYMBOL_FALSEKEYWORD = 19 ,
  YYSYMBOL_20_ = 20 , YYSYMBOL_ABOVE_COMMA = 21 , YYSYMBOL_ASSIGN = 22 , YYSYMBOL_NOT = 23 ,
  YYSYMBOL_OR = 24 , YYSYMBOL_XOR = 25 , YYSYMBOL_ANDAND = 26 , YYSYMBOL_27_ = 27 ,
  YYSYMBOL_NOTEQUAL = 28 , YYSYMBOL_29_ = 29 , YYSYMBOL_30_ = 30 , YYSYMBOL_LEQ = 31 ,
  YYSYMBOL_GEQ = 32 , YYSYMBOL_LSH = 33 , YYSYMBOL_RSH = 34 , YYSYMBOL_DIV = 35 ,
  YYSYMBOL_MOD = 36 , YYSYMBOL_37_ = 37 , YYSYMBOL_38_ = 38 , YYSYMBOL_39_ = 39 ,
  YYSYMBOL_40_ = 40 , YYSYMBOL_41_ = 41 , YYSYMBOL_UNARY = 42 , YYSYMBOL_INCREMENT = 43 ,
  YYSYMBOL_DECREMENT = 44 , YYSYMBOL_ARROW = 45 , YYSYMBOL_46_ = 46 , YYSYMBOL_47_ = 47 ,
  YYSYMBOL_48_ = 48 , YYSYMBOL_49_ = 49 , YYSYMBOL_BLOCKNAME = 50 , YYSYMBOL_51_ = 51 ,
  YYSYMBOL_52_ = 52 , YYSYMBOL_YYACCEPT = 53 , YYSYMBOL_start = 54 , YYSYMBOL_55_1 = 55 ,
  YYSYMBOL_normal_start = 56 , YYSYMBOL_type_exp = 57 , YYSYMBOL_exp1 = 58 , YYSYMBOL_exp = 59 ,
  YYSYMBOL_field_exp = 60 , YYSYMBOL_61_2 = 61 , YYSYMBOL_62_3 = 62 , YYSYMBOL_arglist = 63 ,
  YYSYMBOL_64_4 = 64 , YYSYMBOL_block = 65 , YYSYMBOL_variable = 66 , YYSYMBOL_qualified_name = 67 ,
  YYSYMBOL_ptype = 68 , YYSYMBOL_type = 69 , YYSYMBOL_typebase = 70 , YYSYMBOL_name = 71 ,
  YYSYMBOL_name_not_typename = 72
}
 
enum  { YYENOMEM = -2 }
 

Functions

int yyparse (void)
 
static int yylex (void)
 
static void yyerror (const char *)
 
static int type_aggregate_p (struct type *)
 
static int parse_number (struct parser_state *, const char *, int, int, YYSTYPE *)
 
void * xmalloc (YYSIZE_T)
 
void xfree (void *)
 
static const char * yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
 
static void yy_symbol_value_print (FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
 
static void yy_symbol_print (FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
 
static void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
 
static void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
 
static void yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
 
static int parse_string_or_char (const char *tokptr, const char **outptr, struct typed_stoken *value, int *host_chars)
 
static int lex_one_token (struct parser_state *par_state)
 
static int classify_name (struct parser_state *par_state, const struct block *block)
 
static int classify_inner_name (struct parser_state *par_state, const struct block *block, struct type *context)
 
int d_parse (struct parser_state *par_state)
 

Variables

static struct parser_statepstate = NULL
 
static struct type_stacktype_stack
 
int yydebug
 
YYSTYPE yylval
 
static const yytype_int8 yytranslate []
 
static const yytype_int16 yyrline []
 
static const char *const yytname []
 
static const yytype_int16 yypact []
 
static const yytype_int8 yydefact []
 
static const yytype_int8 yypgoto []
 
static const yytype_uint8 yydefgoto []
 
static const yytype_uint8 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_int8 yystos []
 
static const yytype_int8 yyr1 []
 
static const yytype_int8 yyr2 []
 
int yychar
 
int yynerrs
 
static struct obstack tempbuf
 
static int tempbuf_init
 
static const struct token tokentab3 []
 
static const struct token tokentab2 []
 
static const struct token ident_tokens []
 
static int saw_name_at_eof
 
static int last_was_structop
 
static int paren_depth
 
static std::vector< token_and_valuetoken_fifo
 
static int popping
 
static auto_obstack name_obstack
 

Macro Definition Documentation

◆ ANDAND

#define ANDAND   292

Definition at line 246 of file d-exp.c.

◆ ASSIGN_MODIFY

#define ASSIGN_MODIFY   290

Definition at line 244 of file d-exp.c.

◆ CAST_KEYWORD

#define CAST_KEYWORD   273

Definition at line 227 of file d-exp.c.

◆ CHARACTER_LITERAL

#define CHARACTER_LITERAL   265

Definition at line 219 of file d-exp.c.

◆ CLASS_KEYWORD

#define CLASS_KEYWORD   283

Definition at line 237 of file d-exp.c.

◆ COMPLETE

#define COMPLETE   261

Definition at line 215 of file d-exp.c.

◆ CONST_KEYWORD

#define CONST_KEYWORD   279

Definition at line 233 of file d-exp.c.

◆ DECREMENT

#define DECREMENT   303

Definition at line 257 of file d-exp.c.

◆ DELEGATE_KEYWORD

#define DELEGATE_KEYWORD   287

Definition at line 241 of file d-exp.c.

◆ DOLLAR_VARIABLE

#define DOLLAR_VARIABLE   289

Definition at line 243 of file d-exp.c.

◆ DOTDOT

#define DOTDOT   304

Definition at line 258 of file d-exp.c.

◆ ENTRY

#define ENTRY   267

Definition at line 221 of file d-exp.c.

◆ ENUM_KEYWORD

#define ENUM_KEYWORD   285

Definition at line 239 of file d-exp.c.

◆ EQUAL

#define EQUAL   293

Definition at line 247 of file d-exp.c.

◆ ERROR

#define ERROR   268

Definition at line 222 of file d-exp.c.

◆ FALSE_KEYWORD

#define FALSE_KEYWORD   270

Definition at line 224 of file d-exp.c.

◆ FLOAT_LITERAL

#define FLOAT_LITERAL   264

Definition at line 218 of file d-exp.c.

◆ FUNCTION_KEYWORD

#define FUNCTION_KEYWORD   288

Definition at line 242 of file d-exp.c.

◆ GDB_YY_REMAP_PREFIX

#define GDB_YY_REMAP_PREFIX   d_

Definition at line 94 of file d-exp.c.

◆ GEQ

#define GEQ   296

Definition at line 250 of file d-exp.c.

◆ HATHAT

#define HATHAT   299

Definition at line 253 of file d-exp.c.

◆ IDENTIFIER

#define IDENTIFIER   258

Definition at line 212 of file d-exp.c.

◆ IDENTITY

#define IDENTITY   300

Definition at line 254 of file d-exp.c.

◆ IMMUTABLE_KEYWORD

#define IMMUTABLE_KEYWORD   278

Definition at line 232 of file d-exp.c.

◆ INCREMENT

#define INCREMENT   302

Definition at line 256 of file d-exp.c.

◆ INIT_KEYWORD

#define INIT_KEYWORD   277

Definition at line 231 of file d-exp.c.

◆ INTEGER_LITERAL

#define INTEGER_LITERAL   263

Definition at line 217 of file d-exp.c.

◆ INTERFACE_KEYWORD

#define INTERFACE_KEYWORD   284

Definition at line 238 of file d-exp.c.

◆ LEQ

#define LEQ   295

Definition at line 249 of file d-exp.c.

◆ LSH

#define LSH   297

Definition at line 251 of file d-exp.c.

◆ NAME_OR_INT

#define NAME_OR_INT   262

Definition at line 216 of file d-exp.c.

◆ NOTEQUAL

#define NOTEQUAL   294

Definition at line 248 of file d-exp.c.

◆ NOTIDENTITY

#define NOTIDENTITY   301

Definition at line 255 of file d-exp.c.

◆ NULL_KEYWORD

#define NULL_KEYWORD   271

Definition at line 225 of file d-exp.c.

◆ OROR

#define OROR   291

Definition at line 245 of file d-exp.c.

◆ parse_d_type

#define parse_d_type (   ps)    builtin_d_type (ps->gdbarch ())

Definition at line 90 of file d-exp.c.

◆ parse_type

#define parse_type (   ps)    builtin_type (ps->gdbarch ())

Definition at line 89 of file d-exp.c.

◆ RSH

#define RSH   298

Definition at line 252 of file d-exp.c.

◆ SHARED_KEYWORD

#define SHARED_KEYWORD   280

Definition at line 234 of file d-exp.c.

◆ SIZEOF_KEYWORD

#define SIZEOF_KEYWORD   274

Definition at line 228 of file d-exp.c.

◆ STRING_LITERAL

#define STRING_LITERAL   266

Definition at line 220 of file d-exp.c.

◆ STRUCT_KEYWORD

#define STRUCT_KEYWORD   281

Definition at line 235 of file d-exp.c.

◆ SUPER_KEYWORD

#define SUPER_KEYWORD   272

Definition at line 226 of file d-exp.c.

◆ TEMPLATE_KEYWORD

#define TEMPLATE_KEYWORD   286

Definition at line 240 of file d-exp.c.

◆ TRUE_KEYWORD

#define TRUE_KEYWORD   269

Definition at line 223 of file d-exp.c.

◆ TYPEID_KEYWORD

#define TYPEID_KEYWORD   276

Definition at line 230 of file d-exp.c.

◆ TYPENAME

#define TYPENAME   260

Definition at line 214 of file d-exp.c.

◆ TYPEOF_KEYWORD

#define TYPEOF_KEYWORD   275

Definition at line 229 of file d-exp.c.

◆ UNION_KEYWORD

#define UNION_KEYWORD   282

Definition at line 236 of file d-exp.c.

◆ UNKNOWN_NAME

#define UNKNOWN_NAME   259

Definition at line 213 of file d-exp.c.

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 549 of file d-exp.c.

◆ YY_ACCESSING_SYMBOL

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

Accessing symbol of state STATE.

Definition at line 824 of file d-exp.c.

◆ YY_ASSERT

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

Definition at line 615 of file d-exp.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 558 of file d-exp.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 566 of file d-exp.c.

◆ YY_CAST

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

Definition at line 123 of file d-exp.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 595 of file d-exp.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 596 of file d-exp.c.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 610 of file d-exp.c.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 611 of file d-exp.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 592 of file d-exp.c.

◆ YY_NULLPTRPTR

#define YY_NULLPTRPTR   ((void*)0)

Definition at line 135 of file d-exp.c.

◆ YY_REDUCE_PRINT

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

Definition at line 1195 of file d-exp.c.

◆ YY_REINTERPRET_CAST

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

Definition at line 124 of file d-exp.c.

◆ YY_STACK_PRINT

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

Definition at line 1164 of file d-exp.c.

◆ 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); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)

Definition at line 1102 of file d-exp.c.

◆ YY_USE

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

Definition at line 572 of file d-exp.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 1056 of file d-exp.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 1055 of file d-exp.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
} \
while (0)
#define YY_(Msgid)
Definition: d-exp.c:549
YYSTYPE yylval
Definition: d-exp.c:1256
int yychar
Definition: d-exp.c:1253
#define YYEMPTY
Definition: d-exp.c:208
#define YYERROR
Definition: d-exp.c:1057
#define yylen
Definition: yy-remap.h:74
#define yystate
Definition: yy-remap.h:63

Definition at line 1063 of file d-exp.c.

◆ YYBISON

#define YYBISON   30802

Definition at line 49 of file d-exp.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

Definition at line 52 of file d-exp.c.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 1053 of file d-exp.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: d-exp.c:508

Definition at line 731 of file d-exp.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 703 of file d-exp.c.

◆ YYDPRINTF

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

Definition at line 1093 of file d-exp.c.

◆ YYEMPTY

#define YYEMPTY   -2

Definition at line 208 of file d-exp.c.

◆ YYEOF

#define YYEOF   0

Definition at line 209 of file d-exp.c.

◆ YYERRCODE

#define YYERRCODE   YYUNDEF

Definition at line 1082 of file d-exp.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 1052 of file d-exp.c.

◆ YYerror

#define YYerror   256

Definition at line 210 of file d-exp.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 1057 of file d-exp.c.

◆ YYFINAL

#define YYFINAL   70

Definition at line 744 of file d-exp.c.

◆ YYFREE

#define YYFREE   xfree

Definition at line 675 of file d-exp.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 1214 of file d-exp.c.

◆ YYLAST

#define YYLAST   200

Definition at line 746 of file d-exp.c.

◆ YYMALLOC

#define YYMALLOC   xmalloc

Definition at line 669 of file d-exp.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 1225 of file d-exp.c.

◆ YYMAXUTOK

#define YYMAXUTOK   304

Definition at line 758 of file d-exp.c.

◆ YYNNTS

#define YYNNTS   35

Definition at line 751 of file d-exp.c.

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

Definition at line 1058 of file d-exp.c.

◆ YYNRULES

#define YYNRULES   104

Definition at line 753 of file d-exp.c.

◆ YYNSTATES

#define YYNSTATES   169

Definition at line 755 of file d-exp.c.

◆ YYNTOKENS

#define YYNTOKENS   71

Definition at line 749 of file d-exp.c.

◆ YYPACT_NINF

#define YYPACT_NINF   (-91)

Definition at line 866 of file d-exp.c.

◆ yypact_value_is_default

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

Definition at line 868 of file d-exp.c.

◆ YYPOPSTACK

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 509 of file d-exp.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 508 of file d-exp.c.

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file d-exp.c.

◆ YYPURE

#define YYPURE   0

Definition at line 58 of file d-exp.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file d-exp.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1061 of file d-exp.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
Definition: d-exp.c:509
#define YY_CAST(Type, Val)
Definition: d-exp.c:123
#define YYSIZE_T
Definition: d-exp.c:522

Definition at line 526 of file d-exp.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 522 of file d-exp.c.

◆ YYSIZEOF

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

Definition at line 532 of file d-exp.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file d-exp.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 655 of file d-exp.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 658 of file d-exp.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
yytype_uint8 yy_state_t
Definition: ada-exp.c:861
#define YYSIZEOF(X)
Definition: d-exp.c:532
#define YYSTACK_GAP_MAXIMUM
Definition: d-exp.c:695

Definition at line 699 of file d-exp.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 656 of file d-exp.c.

◆ YYSTACK_GAP_MAXIMUM

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

Definition at line 695 of file d-exp.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 710 of file d-exp.c.

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

Definition at line 291 of file d-exp.c.

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 290 of file d-exp.c.

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-1)

Definition at line 871 of file d-exp.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)     0

Definition at line 873 of file d-exp.c.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 150 of file d-exp.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
yysymbol_kind_t
Definition: ada-exp.c:647
static const yytype_int8 yytranslate[]
Definition: d-exp.c:770
@ YYSYMBOL_YYUNDEF
Definition: d-exp.c:308
#define YYMAXUTOK
Definition: d-exp.c:758

Definition at line 763 of file d-exp.c.

◆ YYUNDEF

#define YYUNDEF   257

Definition at line 211 of file d-exp.c.

Typedef Documentation

◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 539 of file d-exp.c.

◆ yy_state_t

Definition at line 536 of file d-exp.c.

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 289 of file d-exp.c.

◆ yysymbol_kind_t

Definition at line 413 of file d-exp.c.

◆ yytoken_kind_t

Definition at line 205 of file d-exp.c.

◆ yytype_int16

typedef short yytype_int16

Definition at line 460 of file d-exp.c.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 452 of file d-exp.c.

◆ yytype_uint16

typedef int yytype_uint16

Definition at line 494 of file d-exp.c.

◆ yytype_uint8

typedef short yytype_uint8

Definition at line 483 of file d-exp.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 1050 of file d-exp.c.

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_NULL_PTR 
YYSYMBOL_CHARLIT 
YYSYMBOL_FLOAT 
YYSYMBOL_TRUEKEYWORD 
YYSYMBOL_FALSEKEYWORD 
YYSYMBOL_COLONCOLON 
YYSYMBOL_STRING 
YYSYMBOL_NAME 
YYSYMBOL_DOT_ID 
YYSYMBOL_TICK_COMPLETE 
YYSYMBOL_DOT_COMPLETE 
YYSYMBOL_NAME_COMPLETE 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_ASSIGN 
YYSYMBOL__AND_ 
YYSYMBOL_OR 
YYSYMBOL_XOR 
YYSYMBOL_THEN 
YYSYMBOL_ELSE 
YYSYMBOL_23_ 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_25_ 
YYSYMBOL_26_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_IN 
YYSYMBOL_DOTDOT 
YYSYMBOL_31_ 
YYSYMBOL_32_ 
YYSYMBOL_33_ 
YYSYMBOL_34_ 
YYSYMBOL_UNARY 
YYSYMBOL_36_ 
YYSYMBOL_37_ 
YYSYMBOL_MOD 
YYSYMBOL_REM 
YYSYMBOL_STARSTAR 
YYSYMBOL_ABS 
YYSYMBOL_NOT 
YYSYMBOL_VAR 
YYSYMBOL_ARROW 
YYSYMBOL_45_ 
YYSYMBOL_TICK_ACCESS 
YYSYMBOL_TICK_ADDRESS 
YYSYMBOL_TICK_FIRST 
YYSYMBOL_TICK_LAST 
YYSYMBOL_TICK_LENGTH 
YYSYMBOL_TICK_MAX 
YYSYMBOL_TICK_MIN 
YYSYMBOL_TICK_MODULUS 
YYSYMBOL_TICK_POS 
YYSYMBOL_TICK_RANGE 
YYSYMBOL_TICK_SIZE 
YYSYMBOL_TICK_TAG 
YYSYMBOL_TICK_VAL 
YYSYMBOL_59_ 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_NEW 
YYSYMBOL_OTHERS 
YYSYMBOL_64_ 
YYSYMBOL_65_ 
YYSYMBOL_66_ 
YYSYMBOL_67_ 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_exp1 
YYSYMBOL_primary 
YYSYMBOL_simple_exp 
YYSYMBOL_arglist 
YYSYMBOL_relation 
YYSYMBOL_exp 
YYSYMBOL_and_exp 
YYSYMBOL_and_then_exp 
YYSYMBOL_or_exp 
YYSYMBOL_or_else_exp 
YYSYMBOL_xor_exp 
YYSYMBOL_tick_arglist 
YYSYMBOL_type_prefix 
YYSYMBOL_opt_type_prefix 
YYSYMBOL_var_or_type 
YYSYMBOL_block 
YYSYMBOL_aggregate 
YYSYMBOL_aggregate_component_list 
YYSYMBOL_positional_list 
YYSYMBOL_component_groups 
YYSYMBOL_others 
YYSYMBOL_component_group 
YYSYMBOL_component_associations 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_COMPLEX_INT 
YYSYMBOL_FLOAT 
YYSYMBOL_COMPLEX_FLOAT 
YYSYMBOL_STRING 
YYSYMBOL_NSSTRING 
YYSYMBOL_SELECTOR 
YYSYMBOL_CHAR 
YYSYMBOL_NAME 
YYSYMBOL_UNKNOWN_CPP_NAME 
YYSYMBOL_COMPLETE 
YYSYMBOL_TYPENAME 
YYSYMBOL_CLASSNAME 
YYSYMBOL_OBJC_LBRAC 
YYSYMBOL_NAME_OR_INT 
YYSYMBOL_OPERATOR 
YYSYMBOL_STRUCT 
YYSYMBOL_CLASS 
YYSYMBOL_UNION 
YYSYMBOL_ENUM 
YYSYMBOL_SIZEOF 
YYSYMBOL_ALIGNOF 
YYSYMBOL_UNSIGNED 
YYSYMBOL_COLONCOLON 
YYSYMBOL_TEMPLATE 
YYSYMBOL_ERROR 
YYSYMBOL_NEW 
YYSYMBOL_DELETE 
YYSYMBOL_REINTERPRET_CAST 
YYSYMBOL_DYNAMIC_CAST 
YYSYMBOL_STATIC_CAST 
YYSYMBOL_CONST_CAST 
YYSYMBOL_ENTRY 
YYSYMBOL_TYPEOF 
YYSYMBOL_DECLTYPE 
YYSYMBOL_TYPEID 
YYSYMBOL_SIGNED_KEYWORD 
YYSYMBOL_LONG 
YYSYMBOL_SHORT 
YYSYMBOL_INT_KEYWORD 
YYSYMBOL_CONST_KEYWORD 
YYSYMBOL_VOLATILE_KEYWORD 
YYSYMBOL_DOUBLE_KEYWORD 
YYSYMBOL_RESTRICT 
YYSYMBOL_ATOMIC 
YYSYMBOL_FLOAT_KEYWORD 
YYSYMBOL_COMPLEX 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_ASSIGN_MODIFY 
YYSYMBOL_TRUEKEYWORD 
YYSYMBOL_FALSEKEYWORD 
YYSYMBOL_54_ 
YYSYMBOL_ABOVE_COMMA 
YYSYMBOL_56_ 
YYSYMBOL_57_ 
YYSYMBOL_OROR 
YYSYMBOL_ANDAND 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_62_ 
YYSYMBOL_EQUAL 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_65_ 
YYSYMBOL_66_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_71_ 
YYSYMBOL_72_ 
YYSYMBOL_73_ 
YYSYMBOL_74_ 
YYSYMBOL_75_ 
YYSYMBOL_76_ 
YYSYMBOL_UNARY 
YYSYMBOL_INCREMENT 
YYSYMBOL_DECREMENT 
YYSYMBOL_ARROW 
YYSYMBOL_ARROW_STAR 
YYSYMBOL_82_ 
YYSYMBOL_DOT_STAR 
YYSYMBOL_84_ 
YYSYMBOL_85_ 
YYSYMBOL_BLOCKNAME 
YYSYMBOL_FILENAME 
YYSYMBOL_DOTDOTDOT 
YYSYMBOL_89_ 
YYSYMBOL_90_ 
YYSYMBOL_91_ 
YYSYMBOL_92_ 
YYSYMBOL_93_ 
YYSYMBOL_94_ 
YYSYMBOL_95_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_type_exp 
YYSYMBOL_exp1 
YYSYMBOL_exp 
YYSYMBOL_101_1 
YYSYMBOL_102_2 
YYSYMBOL_103_3 
YYSYMBOL_msglist 
YYSYMBOL_msgarglist 
YYSYMBOL_msgarg 
YYSYMBOL_107_4 
YYSYMBOL_108_5 
YYSYMBOL_lcurly 
YYSYMBOL_arglist 
YYSYMBOL_function_method 
YYSYMBOL_function_method_void 
YYSYMBOL_function_method_void_or_typelist 
YYSYMBOL_rcurly 
YYSYMBOL_string_exp 
YYSYMBOL_block 
YYSYMBOL_variable 
YYSYMBOL_qualified_name 
YYSYMBOL_const_or_volatile 
YYSYMBOL_single_qualifier 
YYSYMBOL_qualifier_seq_noopt 
YYSYMBOL_qualifier_seq 
YYSYMBOL_ptr_operator 
YYSYMBOL_124_6 
YYSYMBOL_125_7 
YYSYMBOL_ptr_operator_ts 
YYSYMBOL_abs_decl 
YYSYMBOL_direct_abs_decl 
YYSYMBOL_array_mod 
YYSYMBOL_func_mod 
YYSYMBOL_type 
YYSYMBOL_scalar_type 
YYSYMBOL_typebase 
YYSYMBOL_type_name 
YYSYMBOL_parameter_typelist 
YYSYMBOL_nonempty_typelist 
YYSYMBOL_ptype 
YYSYMBOL_conversion_type_id 
YYSYMBOL_conversion_declarator 
YYSYMBOL_const_and_volatile 
YYSYMBOL_const_or_volatile_noopt 
YYSYMBOL_oper 
YYSYMBOL_field_name 
YYSYMBOL_name 
YYSYMBOL_name_not_typename 
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 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_IDENTIFIER 
YYSYMBOL_UNKNOWN_NAME 
YYSYMBOL_TYPENAME 
YYSYMBOL_COMPLETE 
YYSYMBOL_NAME_OR_INT 
YYSYMBOL_INTEGER_LITERAL 
YYSYMBOL_FLOAT_LITERAL 
YYSYMBOL_CHARACTER_LITERAL 
YYSYMBOL_STRING_LITERAL 
YYSYMBOL_ENTRY 
YYSYMBOL_ERROR 
YYSYMBOL_TRUE_KEYWORD 
YYSYMBOL_FALSE_KEYWORD 
YYSYMBOL_NULL_KEYWORD 
YYSYMBOL_SUPER_KEYWORD 
YYSYMBOL_CAST_KEYWORD 
YYSYMBOL_SIZEOF_KEYWORD 
YYSYMBOL_TYPEOF_KEYWORD 
YYSYMBOL_TYPEID_KEYWORD 
YYSYMBOL_INIT_KEYWORD 
YYSYMBOL_IMMUTABLE_KEYWORD 
YYSYMBOL_CONST_KEYWORD 
YYSYMBOL_SHARED_KEYWORD 
YYSYMBOL_STRUCT_KEYWORD 
YYSYMBOL_UNION_KEYWORD 
YYSYMBOL_CLASS_KEYWORD 
YYSYMBOL_INTERFACE_KEYWORD 
YYSYMBOL_ENUM_KEYWORD 
YYSYMBOL_TEMPLATE_KEYWORD 
YYSYMBOL_DELEGATE_KEYWORD 
YYSYMBOL_FUNCTION_KEYWORD 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_ASSIGN_MODIFY 
YYSYMBOL_36_ 
YYSYMBOL_37_ 
YYSYMBOL_38_ 
YYSYMBOL_OROR 
YYSYMBOL_ANDAND 
YYSYMBOL_41_ 
YYSYMBOL_42_ 
YYSYMBOL_43_ 
YYSYMBOL_EQUAL 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_46_ 
YYSYMBOL_47_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_52_ 
YYSYMBOL_53_ 
YYSYMBOL_54_ 
YYSYMBOL_55_ 
YYSYMBOL_56_ 
YYSYMBOL_HATHAT 
YYSYMBOL_IDENTITY 
YYSYMBOL_NOTIDENTITY 
YYSYMBOL_INCREMENT 
YYSYMBOL_DECREMENT 
YYSYMBOL_62_ 
YYSYMBOL_63_ 
YYSYMBOL_64_ 
YYSYMBOL_DOTDOT 
YYSYMBOL_66_ 
YYSYMBOL_67_ 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_Expression 
YYSYMBOL_CommaExpression 
YYSYMBOL_AssignExpression 
YYSYMBOL_ConditionalExpression 
YYSYMBOL_OrOrExpression 
YYSYMBOL_AndAndExpression 
YYSYMBOL_OrExpression 
YYSYMBOL_XorExpression 
YYSYMBOL_AndExpression 
YYSYMBOL_CmpExpression 
YYSYMBOL_EqualExpression 
YYSYMBOL_IdentityExpression 
YYSYMBOL_RelExpression 
YYSYMBOL_ShiftExpression 
YYSYMBOL_AddExpression 
YYSYMBOL_MulExpression 
YYSYMBOL_UnaryExpression 
YYSYMBOL_CastExpression 
YYSYMBOL_PowExpression 
YYSYMBOL_PostfixExpression 
YYSYMBOL_ArgumentList 
YYSYMBOL_ArgumentList_opt 
YYSYMBOL_CallExpression 
YYSYMBOL_96_1 
YYSYMBOL_IndexExpression 
YYSYMBOL_SliceExpression 
YYSYMBOL_PrimaryExpression 
YYSYMBOL_ArrayLiteral 
YYSYMBOL_IdentifierExp 
YYSYMBOL_StringExp 
YYSYMBOL_TypeExp 
YYSYMBOL_BasicType2 
YYSYMBOL_BasicType 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_FLOAT 
YYSYMBOL_STRING_LITERAL 
YYSYMBOL_BOOLEAN_LITERAL 
YYSYMBOL_NAME 
YYSYMBOL_TYPENAME 
YYSYMBOL_COMPLETE 
YYSYMBOL_NAME_OR_INT 
YYSYMBOL_SIZEOF 
YYSYMBOL_KIND 
YYSYMBOL_ERROR 
YYSYMBOL_INT_S1_KEYWORD 
YYSYMBOL_INT_S2_KEYWORD 
YYSYMBOL_INT_KEYWORD 
YYSYMBOL_INT_S4_KEYWORD 
YYSYMBOL_INT_S8_KEYWORD 
YYSYMBOL_LOGICAL_S1_KEYWORD 
YYSYMBOL_LOGICAL_S2_KEYWORD 
YYSYMBOL_LOGICAL_KEYWORD 
YYSYMBOL_LOGICAL_S4_KEYWORD 
YYSYMBOL_LOGICAL_S8_KEYWORD 
YYSYMBOL_REAL_KEYWORD 
YYSYMBOL_REAL_S4_KEYWORD 
YYSYMBOL_REAL_S8_KEYWORD 
YYSYMBOL_REAL_S16_KEYWORD 
YYSYMBOL_COMPLEX_KEYWORD 
YYSYMBOL_COMPLEX_S4_KEYWORD 
YYSYMBOL_COMPLEX_S8_KEYWORD 
YYSYMBOL_COMPLEX_S16_KEYWORD 
YYSYMBOL_BOOL_AND 
YYSYMBOL_BOOL_OR 
YYSYMBOL_BOOL_NOT 
YYSYMBOL_SINGLE 
YYSYMBOL_DOUBLE 
YYSYMBOL_PRECISION 
YYSYMBOL_CHARACTER 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_ASSIGN_MODIFY 
YYSYMBOL_UNOP_INTRINSIC 
YYSYMBOL_BINOP_INTRINSIC 
YYSYMBOL_UNOP_OR_BINOP_INTRINSIC 
YYSYMBOL_UNOP_OR_BINOP_OR_TERNOP_INTRINSIC 
YYSYMBOL_45_ 
YYSYMBOL_ABOVE_COMMA 
YYSYMBOL_47_ 
YYSYMBOL_48_ 
YYSYMBOL_49_ 
YYSYMBOL_50_ 
YYSYMBOL_51_ 
YYSYMBOL_EQUAL 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_LESSTHAN 
YYSYMBOL_GREATERTHAN 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_62_ 
YYSYMBOL_63_ 
YYSYMBOL_64_ 
YYSYMBOL_STARSTAR 
YYSYMBOL_66_ 
YYSYMBOL_UNARY 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_71_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_type_exp 
YYSYMBOL_exp 
YYSYMBOL_76_1 
YYSYMBOL_77_2 
YYSYMBOL_78_3 
YYSYMBOL_arglist 
YYSYMBOL_subrange 
YYSYMBOL_complexnum 
YYSYMBOL_variable 
YYSYMBOL_type 
YYSYMBOL_ptype 
YYSYMBOL_abs_decl 
YYSYMBOL_direct_abs_decl 
YYSYMBOL_func_mod 
YYSYMBOL_typebase 
YYSYMBOL_nonempty_typelist 
YYSYMBOL_name 
YYSYMBOL_name_not_typename 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_FLOAT 
YYSYMBOL_RAW_STRING 
YYSYMBOL_STRING 
YYSYMBOL_CHAR 
YYSYMBOL_NAME 
YYSYMBOL_TYPENAME 
YYSYMBOL_COMPLETE 
YYSYMBOL_NAME_OR_INT 
YYSYMBOL_TRUE_KEYWORD 
YYSYMBOL_FALSE_KEYWORD 
YYSYMBOL_STRUCT_KEYWORD 
YYSYMBOL_INTERFACE_KEYWORD 
YYSYMBOL_TYPE_KEYWORD 
YYSYMBOL_CHAN_KEYWORD 
YYSYMBOL_SIZEOF_KEYWORD 
YYSYMBOL_LEN_KEYWORD 
YYSYMBOL_CAP_KEYWORD 
YYSYMBOL_NEW_KEYWORD 
YYSYMBOL_IOTA_KEYWORD 
YYSYMBOL_NIL_KEYWORD 
YYSYMBOL_CONST_KEYWORD 
YYSYMBOL_DOTDOTDOT 
YYSYMBOL_ENTRY 
YYSYMBOL_ERROR 
YYSYMBOL_BYTE_KEYWORD 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_ASSIGN_MODIFY 
YYSYMBOL_31_ 
YYSYMBOL_ABOVE_COMMA 
YYSYMBOL_33_ 
YYSYMBOL_34_ 
YYSYMBOL_OROR 
YYSYMBOL_ANDAND 
YYSYMBOL_37_ 
YYSYMBOL_38_ 
YYSYMBOL_39_ 
YYSYMBOL_ANDNOT 
YYSYMBOL_EQUAL 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_43_ 
YYSYMBOL_44_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_49_ 
YYSYMBOL_50_ 
YYSYMBOL_51_ 
YYSYMBOL_52_ 
YYSYMBOL_53_ 
YYSYMBOL_54_ 
YYSYMBOL_UNARY 
YYSYMBOL_INCREMENT 
YYSYMBOL_DECREMENT 
YYSYMBOL_LEFT_ARROW 
YYSYMBOL_59_ 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_62_ 
YYSYMBOL_63_ 
YYSYMBOL_64_ 
YYSYMBOL_65_ 
YYSYMBOL_66_ 
YYSYMBOL_67_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_type_exp 
YYSYMBOL_exp1 
YYSYMBOL_exp 
YYSYMBOL_73_1 
YYSYMBOL_lcurly 
YYSYMBOL_arglist 
YYSYMBOL_rcurly 
YYSYMBOL_string_exp 
YYSYMBOL_variable 
YYSYMBOL_type 
YYSYMBOL_name_not_typename 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_HEX 
YYSYMBOL_ERROR 
YYSYMBOL_UINT 
YYSYMBOL_M2_TRUE 
YYSYMBOL_M2_FALSE 
YYSYMBOL_CHAR 
YYSYMBOL_FLOAT 
YYSYMBOL_STRING 
YYSYMBOL_NAME 
YYSYMBOL_BLOCKNAME 
YYSYMBOL_IDENT 
YYSYMBOL_VARNAME 
YYSYMBOL_TYPENAME 
YYSYMBOL_SIZE 
YYSYMBOL_CAP 
YYSYMBOL_ORD 
YYSYMBOL_HIGH 
YYSYMBOL_ABS 
YYSYMBOL_MIN_FUNC 
YYSYMBOL_MAX_FUNC 
YYSYMBOL_FLOAT_FUNC 
YYSYMBOL_VAL 
YYSYMBOL_CHR 
YYSYMBOL_ODD 
YYSYMBOL_TRUNC 
YYSYMBOL_TSIZE 
YYSYMBOL_INC 
YYSYMBOL_DEC 
YYSYMBOL_INCL 
YYSYMBOL_EXCL 
YYSYMBOL_COLONCOLON 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_36_ 
YYSYMBOL_ABOVE_COMMA 
YYSYMBOL_ASSIGN 
YYSYMBOL_39_ 
YYSYMBOL_40_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_43_ 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_45_ 
YYSYMBOL_IN 
YYSYMBOL_OROR 
YYSYMBOL_LOGICAL_AND 
YYSYMBOL_49_ 
YYSYMBOL_50_ 
YYSYMBOL_51_ 
YYSYMBOL_52_ 
YYSYMBOL_53_ 
YYSYMBOL_54_ 
YYSYMBOL_DIV 
YYSYMBOL_MOD 
YYSYMBOL_UNARY 
YYSYMBOL_58_ 
YYSYMBOL_DOT 
YYSYMBOL_60_ 
YYSYMBOL_61_ 
YYSYMBOL_NOT 
YYSYMBOL_63_ 
YYSYMBOL_QID 
YYSYMBOL_65_ 
YYSYMBOL_66_ 
YYSYMBOL_67_ 
YYSYMBOL_68_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_type_exp 
YYSYMBOL_exp 
YYSYMBOL_73_1 
YYSYMBOL_not_exp 
YYSYMBOL_set 
YYSYMBOL_76_2 
YYSYMBOL_77_3 
YYSYMBOL_arglist 
YYSYMBOL_non_empty_arglist 
YYSYMBOL_block 
YYSYMBOL_fblock 
YYSYMBOL_variable 
YYSYMBOL_type 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_INT 
YYSYMBOL_FLOAT 
YYSYMBOL_STRING 
YYSYMBOL_FIELDNAME 
YYSYMBOL_COMPLETE 
YYSYMBOL_NAME 
YYSYMBOL_TYPENAME 
YYSYMBOL_NAME_OR_INT 
YYSYMBOL_STRUCT 
YYSYMBOL_CLASS 
YYSYMBOL_SIZEOF 
YYSYMBOL_COLONCOLON 
YYSYMBOL_ERROR 
YYSYMBOL_DOLLAR_VARIABLE 
YYSYMBOL_THIS 
YYSYMBOL_TRUEKEYWORD 
YYSYMBOL_FALSEKEYWORD 
YYSYMBOL_20_ 
YYSYMBOL_ABOVE_COMMA 
YYSYMBOL_ASSIGN 
YYSYMBOL_NOT 
YYSYMBOL_OR 
YYSYMBOL_XOR 
YYSYMBOL_ANDAND 
YYSYMBOL_27_ 
YYSYMBOL_NOTEQUAL 
YYSYMBOL_29_ 
YYSYMBOL_30_ 
YYSYMBOL_LEQ 
YYSYMBOL_GEQ 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_DIV 
YYSYMBOL_MOD 
YYSYMBOL_37_ 
YYSYMBOL_38_ 
YYSYMBOL_39_ 
YYSYMBOL_40_ 
YYSYMBOL_41_ 
YYSYMBOL_UNARY 
YYSYMBOL_INCREMENT 
YYSYMBOL_DECREMENT 
YYSYMBOL_ARROW 
YYSYMBOL_46_ 
YYSYMBOL_47_ 
YYSYMBOL_48_ 
YYSYMBOL_49_ 
YYSYMBOL_BLOCKNAME 
YYSYMBOL_51_ 
YYSYMBOL_52_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_start 
YYSYMBOL_55_1 
YYSYMBOL_normal_start 
YYSYMBOL_type_exp 
YYSYMBOL_exp1 
YYSYMBOL_exp 
YYSYMBOL_field_exp 
YYSYMBOL_61_2 
YYSYMBOL_62_3 
YYSYMBOL_arglist 
YYSYMBOL_64_4 
YYSYMBOL_block 
YYSYMBOL_variable 
YYSYMBOL_qualified_name 
YYSYMBOL_ptype 
YYSYMBOL_type 
YYSYMBOL_typebase 
YYSYMBOL_name 
YYSYMBOL_name_not_typename 

Definition at line 303 of file d-exp.c.

◆ yytokentype

Enumerator
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
INT 
NULL_PTR 
CHARLIT 
FLOAT 
TRUEKEYWORD 
FALSEKEYWORD 
COLONCOLON 
STRING 
NAME 
DOT_ID 
TICK_COMPLETE 
DOT_COMPLETE 
NAME_COMPLETE 
DOLLAR_VARIABLE 
ASSIGN 
_AND_ 
OR 
XOR 
THEN 
ELSE 
NOTEQUAL 
LEQ 
GEQ 
IN 
DOTDOT 
UNARY 
MOD 
REM 
STARSTAR 
ABS 
NOT 
VAR 
ARROW 
TICK_ACCESS 
TICK_ADDRESS 
TICK_FIRST 
TICK_LAST 
TICK_LENGTH 
TICK_MAX 
TICK_MIN 
TICK_MODULUS 
TICK_POS 
TICK_RANGE 
TICK_SIZE 
TICK_TAG 
TICK_VAL 
NEW 
OTHERS 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
INT 
COMPLEX_INT 
FLOAT 
COMPLEX_FLOAT 
STRING 
NSSTRING 
SELECTOR 
CHAR 
NAME 
UNKNOWN_CPP_NAME 
COMPLETE 
TYPENAME 
CLASSNAME 
OBJC_LBRAC 
NAME_OR_INT 
OPERATOR 
STRUCT 
CLASS 
UNION 
ENUM 
SIZEOF 
ALIGNOF 
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 
RESTRICT 
ATOMIC 
FLOAT_KEYWORD 
COMPLEX 
DOLLAR_VARIABLE 
ASSIGN_MODIFY 
TRUEKEYWORD 
FALSEKEYWORD 
ABOVE_COMMA 
OROR 
ANDAND 
EQUAL 
NOTEQUAL 
LEQ 
GEQ 
LSH 
RSH 
UNARY 
INCREMENT 
DECREMENT 
ARROW 
ARROW_STAR 
DOT_STAR 
BLOCKNAME 
FILENAME 
DOTDOTDOT 
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 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
IDENTIFIER 
UNKNOWN_NAME 
TYPENAME 
COMPLETE 
NAME_OR_INT 
INTEGER_LITERAL 
FLOAT_LITERAL 
CHARACTER_LITERAL 
STRING_LITERAL 
ENTRY 
ERROR 
TRUE_KEYWORD 
FALSE_KEYWORD 
NULL_KEYWORD 
SUPER_KEYWORD 
CAST_KEYWORD 
SIZEOF_KEYWORD 
TYPEOF_KEYWORD 
TYPEID_KEYWORD 
INIT_KEYWORD 
IMMUTABLE_KEYWORD 
CONST_KEYWORD 
SHARED_KEYWORD 
STRUCT_KEYWORD 
UNION_KEYWORD 
CLASS_KEYWORD 
INTERFACE_KEYWORD 
ENUM_KEYWORD 
TEMPLATE_KEYWORD 
DELEGATE_KEYWORD 
FUNCTION_KEYWORD 
DOLLAR_VARIABLE 
ASSIGN_MODIFY 
OROR 
ANDAND 
EQUAL 
NOTEQUAL 
LEQ 
GEQ 
LSH 
RSH 
HATHAT 
IDENTITY 
NOTIDENTITY 
INCREMENT 
DECREMENT 
DOTDOT 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
INT 
FLOAT 
STRING_LITERAL 
BOOLEAN_LITERAL 
NAME 
TYPENAME 
COMPLETE 
NAME_OR_INT 
SIZEOF 
KIND 
ERROR 
INT_S1_KEYWORD 
INT_S2_KEYWORD 
INT_KEYWORD 
INT_S4_KEYWORD 
INT_S8_KEYWORD 
LOGICAL_S1_KEYWORD 
LOGICAL_S2_KEYWORD 
LOGICAL_KEYWORD 
LOGICAL_S4_KEYWORD 
LOGICAL_S8_KEYWORD 
REAL_KEYWORD 
REAL_S4_KEYWORD 
REAL_S8_KEYWORD 
REAL_S16_KEYWORD 
COMPLEX_KEYWORD 
COMPLEX_S4_KEYWORD 
COMPLEX_S8_KEYWORD 
COMPLEX_S16_KEYWORD 
BOOL_AND 
BOOL_OR 
BOOL_NOT 
SINGLE 
DOUBLE 
PRECISION 
CHARACTER 
DOLLAR_VARIABLE 
ASSIGN_MODIFY 
UNOP_INTRINSIC 
BINOP_INTRINSIC 
UNOP_OR_BINOP_INTRINSIC 
UNOP_OR_BINOP_OR_TERNOP_INTRINSIC 
ABOVE_COMMA 
EQUAL 
NOTEQUAL 
LESSTHAN 
GREATERTHAN 
LEQ 
GEQ 
LSH 
RSH 
STARSTAR 
UNARY 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
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 
EQUAL 
NOTEQUAL 
LEQ 
GEQ 
LSH 
RSH 
UNARY 
INCREMENT 
DECREMENT 
LEFT_ARROW 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
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 
DOLLAR_VARIABLE 
ABOVE_COMMA 
ASSIGN 
LEQ 
GEQ 
NOTEQUAL 
IN 
OROR 
LOGICAL_AND 
DIV 
MOD 
UNARY 
DOT 
NOT 
QID 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
INT 
FLOAT 
STRING 
FIELDNAME 
COMPLETE 
NAME 
TYPENAME 
NAME_OR_INT 
STRUCT 
CLASS 
SIZEOF 
COLONCOLON 
ERROR 
DOLLAR_VARIABLE 
THIS 
TRUEKEYWORD 
FALSEKEYWORD 
ABOVE_COMMA 
ASSIGN 
NOT 
OR 
XOR 
ANDAND 
NOTEQUAL 
LEQ 
GEQ 
LSH 
RSH 
DIV 
MOD 
UNARY 
INCREMENT 
DECREMENT 
ARROW 
BLOCKNAME 

Definition at line 151 of file d-exp.c.

Function Documentation

◆ classify_inner_name()

static int classify_inner_name ( struct parser_state par_state,
const struct block block,
struct type context 
)
static

◆ classify_name()

static int classify_name ( struct parser_state par_state,
const struct block block 
)
static

◆ d_parse()

int d_parse ( struct parser_state par_state)

◆ lex_one_token()

static int lex_one_token ( struct parser_state par_state)
static

◆ parse_number()

static int parse_number ( struct parser_state ps,
const char *  p,
int  len,
int  parsed_float,
YYSTYPE putithere 
)
static

◆ parse_string_or_char()

static int parse_string_or_char ( const char *  tokptr,
const char **  outptr,
struct typed_stoken value,
int *  host_chars 
)
static

Definition at line 2567 of file d-exp.c.

References C_CHAR, c_parse_escape(), C_STRING, CHARACTER_LITERAL, STRING_LITERAL, tempbuf, tempbuf_init, and value::type.

Referenced by lex_one_token().

◆ type_aggregate_p()

static int type_aggregate_p ( struct type type)
static

Definition at line 2332 of file d-exp.c.

References type::code(), and type::is_declared_class().

Referenced by classify_inner_name(), and yyparse().

◆ xfree()

void xfree ( void *  )

Referenced by yyparse().

◆ xmalloc()

void * xmalloc ( YYSIZE_T  )

Referenced by yyparse().

◆ yy_reduce_print()

static void yy_reduce_print ( yy_state_t yyssp,
YYSTYPE yyvsp,
int  yyrule 
)
static

Definition at line 1176 of file d-exp.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 1153 of file d-exp.c.

References YYFPRINTF.

◆ yy_symbol_print()

static void yy_symbol_print ( FILE *  yyo,
yysymbol_kind_t  yykind,
YYSTYPE const *const  yyvaluep 
)
static

Definition at line 1137 of file d-exp.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,
yysymbol_kind_t  yykind,
YYSTYPE const *const  yyvaluep 
)
static

Definition at line 1119 of file d-exp.c.

References YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, and YY_USE.

Referenced by yy_symbol_print().

◆ yydestruct()

static void yydestruct ( const char *  yymsg,
yysymbol_kind_t  yykind,
YYSTYPE yyvaluep 
)
static

◆ yyerror()

static void yyerror ( const char *  msg)
static

Definition at line 3331 of file d-exp.c.

References parser_state::lexptr, parser_state::prev_lexptr, and pstate.

◆ yylex()

static int yylex ( void  )
static

◆ yyparse()

int yyparse ( void  )

Definition at line 1268 of file d-exp.c.

References symbol::aclass(), parser_state::arglist_len, parser_state::block_tracker, check_typedef(), type::code(), copy_name(), parser_state::end_arglist(), parser_state::expression_context_block, type_stack::follow_types(), have_full_symbols(), have_partial_symbols(), stoken_vector::len, type::length(), typed_stoken::length, LOC_TYPEDEF, lookup_bound_minimal_symbol(), lookup_pointer_type(), lookup_symbol(), parser_state::mark_struct_expression(), bound_minimal_symbol::minsym, name, parse_d_type, parse_number(), parser_state::pop(), parser_state::pop_vector(), pstate, typed_stoken::ptr, type_stack::push(), parser_state::push(), parser_state::push_c_string(), parser_state::push_dollar(), parser_state::push_new(), parser_state::push_symbol(), parser_state::start_arglist(), block_symbol::symbol, symbol_read_needs_frame(), stoken_vector::tokens, tp_array, tp_pointer, YYSTYPE::type, typed_stoken::type, field_of_this_result::type, type_aggregate_p(), TYPE_SAFE_NAME, YYSTYPE::typed_val_int, innermost_block_tracker::update(), YYSTYPE::val, VAR_DOMAIN, parser_state::wrap(), parser_state::wrap2(), xfree(), xmalloc(), YY_, YY_ACCESSING_SYMBOL, YY_ASSERT, YY_CAST, YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_IGNORE_USELESS_CAST_BEGIN, YY_IGNORE_USELESS_CAST_END, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yychar, yycheck, yydefact, yydefgoto, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, YYerror, YYERROR, yyerror, YYFINAL, YYINITDEPTH, YYLAST, yylen, yylex(), yylhs, yylloc, yylval, YYMAXDEPTH, yynerrs, YYNOMEM, YYNSTATES, YYNTOKENS, yypact, yypact_value_is_default, yypgoto, YYPOPSTACK, YYPTRDIFF_T, yyr1, yyr2, YYSIZE_T, YYSIZEOF, yyss, yyalloc::yyss_alloc, yyssp, YYSTACK_ALLOC, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yystacksize, yystate, YYSYMBOL_YYEMPTY, YYSYMBOL_YYEOF, YYSYMBOL_YYerror, yytable, yytable_value_is_error, YYTRANSLATE, YYUNDEF, yyval, yyvs, yyalloc::yyvs_alloc, and yyvsp.

Referenced by d_parse().

◆ yysymbol_name()

static const char * yysymbol_name ( yysymbol_kind_t  yysymbol)
static

Definition at line 860 of file d-exp.c.

References yytname.

Referenced by yy_symbol_print().

Variable Documentation

◆ ident_tokens

const struct token ident_tokens[]
static
Initial value:
=
{
{"is", IDENTITY, OP_NULL},
{"!is", NOTIDENTITY, OP_NULL},
{"cast", CAST_KEYWORD, OP_NULL},
{"const", CONST_KEYWORD, OP_NULL},
{"immutable", IMMUTABLE_KEYWORD, OP_NULL},
{"shared", SHARED_KEYWORD, OP_NULL},
{"super", SUPER_KEYWORD, OP_NULL},
{"null", NULL_KEYWORD, OP_NULL},
{"true", TRUE_KEYWORD, OP_NULL},
{"false", FALSE_KEYWORD, OP_NULL},
{"init", INIT_KEYWORD, OP_NULL},
{"sizeof", SIZEOF_KEYWORD, OP_NULL},
{"typeof", TYPEOF_KEYWORD, OP_NULL},
{"typeid", TYPEID_KEYWORD, OP_NULL},
{"delegate", DELEGATE_KEYWORD, OP_NULL},
{"function", FUNCTION_KEYWORD, OP_NULL},
{"struct", STRUCT_KEYWORD, OP_NULL},
{"union", UNION_KEYWORD, OP_NULL},
{"class", CLASS_KEYWORD, OP_NULL},
{"interface", INTERFACE_KEYWORD, OP_NULL},
{"enum", ENUM_KEYWORD, OP_NULL},
{"template", TEMPLATE_KEYWORD, OP_NULL},
}
#define IMMUTABLE_KEYWORD
Definition: d-exp.c:232
#define TYPEID_KEYWORD
Definition: d-exp.c:230
#define TYPEOF_KEYWORD
Definition: d-exp.c:229
#define INIT_KEYWORD
Definition: d-exp.c:231
#define CAST_KEYWORD
Definition: d-exp.c:227
#define SIZEOF_KEYWORD
Definition: d-exp.c:228
#define INTERFACE_KEYWORD
Definition: d-exp.c:238
#define IDENTITY
Definition: d-exp.c:254
#define SHARED_KEYWORD
Definition: d-exp.c:234
#define ENUM_KEYWORD
Definition: d-exp.c:239
#define CLASS_KEYWORD
Definition: d-exp.c:237
#define DELEGATE_KEYWORD
Definition: d-exp.c:241
#define NULL_KEYWORD
Definition: d-exp.c:225
#define UNION_KEYWORD
Definition: d-exp.c:236
#define CONST_KEYWORD
Definition: d-exp.c:233
#define TEMPLATE_KEYWORD
Definition: d-exp.c:240
#define STRUCT_KEYWORD
Definition: d-exp.c:235
#define SUPER_KEYWORD
Definition: d-exp.c:226
#define FALSE_KEYWORD
Definition: d-exp.c:224
#define FUNCTION_KEYWORD
Definition: d-exp.c:242
#define NOTIDENTITY
Definition: d-exp.c:255
#define TRUE_KEYWORD
Definition: d-exp.c:223

Definition at line 2677 of file d-exp.c.

Referenced by lex_one_token().

◆ last_was_structop

int last_was_structop
static

Definition at line 2714 of file d-exp.c.

Referenced by d_parse(), and lex_one_token().

◆ name_obstack

auto_obstack name_obstack
static

Definition at line 3025 of file d-exp.c.

Referenced by d_parse(), and yylex().

◆ paren_depth

int paren_depth
static

Definition at line 2717 of file d-exp.c.

Referenced by d_parse(), and lex_one_token().

◆ popping

int popping
static

Definition at line 3021 of file d-exp.c.

Referenced by d_parse(), and yylex().

◆ pstate

struct parser_state* pstate = NULL
static

Definition at line 100 of file d-exp.c.

Referenced by d_parse(), lex_one_token(), yyerror(), yylex(), and yyparse().

◆ saw_name_at_eof

int saw_name_at_eof
static

Definition at line 2710 of file d-exp.c.

Referenced by d_parse(), and lex_one_token().

◆ tempbuf

struct obstack tempbuf
static

Definition at line 2556 of file d-exp.c.

Referenced by parse_string_or_char().

◆ tempbuf_init

int tempbuf_init
static

Definition at line 2557 of file d-exp.c.

Referenced by parse_string_or_char().

◆ token_fifo

std::vector<token_and_value> token_fifo
static

Definition at line 3018 of file d-exp.c.

Referenced by d_parse(), and yylex().

◆ tokentab2

const struct token tokentab2[]
static
Initial value:
=
{
{"+=", ASSIGN_MODIFY, BINOP_ADD},
{"-=", ASSIGN_MODIFY, BINOP_SUB},
{"*=", ASSIGN_MODIFY, BINOP_MUL},
{"/=", ASSIGN_MODIFY, BINOP_DIV},
{"%=", ASSIGN_MODIFY, BINOP_REM},
{"|=", ASSIGN_MODIFY, BINOP_BITWISE_IOR},
{"&=", ASSIGN_MODIFY, BINOP_BITWISE_AND},
{"^=", ASSIGN_MODIFY, BINOP_BITWISE_XOR},
{"++", INCREMENT, OP_NULL},
{"--", DECREMENT, OP_NULL},
{"&&", ANDAND, OP_NULL},
{"||", OROR, OP_NULL},
{"^^", HATHAT, OP_NULL},
{"<<", LSH, OP_NULL},
{">>", RSH, OP_NULL},
{"==", EQUAL, OP_NULL},
{"!=", NOTEQUAL, OP_NULL},
{"<=", LEQ, OP_NULL},
{">=", GEQ, OP_NULL},
{"..", DOTDOT, OP_NULL},
}
#define LEQ
Definition: d-exp.c:249
#define NOTEQUAL
Definition: d-exp.c:248
#define EQUAL
Definition: d-exp.c:247
#define RSH
Definition: d-exp.c:252
#define LSH
Definition: d-exp.c:251
#define OROR
Definition: d-exp.c:245
#define DOTDOT
Definition: d-exp.c:258
#define DECREMENT
Definition: d-exp.c:257
#define ASSIGN_MODIFY
Definition: d-exp.c:244
#define GEQ
Definition: d-exp.c:250
#define HATHAT
Definition: d-exp.c:253
#define ANDAND
Definition: d-exp.c:246
#define INCREMENT
Definition: d-exp.c:256

Definition at line 2652 of file d-exp.c.

Referenced by lex_one_token().

◆ tokentab3

const struct token tokentab3[]
static
Initial value:
=
{
{"^^=", ASSIGN_MODIFY, BINOP_EXP},
{"<<=", ASSIGN_MODIFY, BINOP_LSH},
{">>=", ASSIGN_MODIFY, BINOP_RSH},
}

Definition at line 2645 of file d-exp.c.

Referenced by lex_one_token().

◆ type_stack

struct type_stack* type_stack
static

Definition at line 103 of file d-exp.c.

◆ yychar

int yychar

Definition at line 1253 of file d-exp.c.

Referenced by yyparse().

◆ yycheck

const yytype_int16 yycheck[]
static
Initial value:
=
{
14, 15, 16, 17, 18, 19, 36, 20, 22, 23,
0, 5, 3, 62, 104, 6, 3, 54, 52, 53,
69, 64, 21, 54, 55, 56, 63, 35, 19, 37,
0, 21, 19, 67, 90, 91, 92, 64, 38, 39,
70, 50, 51, 44, 45, 46, 47, 48, 49, 50,
51, 86, 87, 36, 40, 43, 55, 58, 59, 72,
73, 3, 41, 5, 54, 7, 8, 9, 10, 11,
64, 161, 14, 15, 16, 74, 18, 42, 20, 93,
94, 95, 96, 11, 62, 36, 70, 100, 69, 8,
6, 65, 34, 69, 69, 66, 69, 110, 70, 113,
57, 43, 69, 60, 61, 62, 63, 64, 70, 156,
52, 53, 54, 71, 75, 78, 76, 107, 60, 61,
79, 63, 64, 77, 146, 67, 68, -1, 70, -1,
-1, 100, -1, 146, -1, 3, -1, 5, 152, 7,
8, 9, 10, 11, -1, 158, 14, 15, 16, -1,
18, 103, 20, 80, 81, 82, 83, 84, 85, -1,
-1, 88, 89, -1, -1, -1, 34, -1, -1, -1,
-1, -1, -1, -1, -1, 43, -1, -1, -1, -1,
-1, -1, -1, -1, 52, 53, 54, -1, -1, -1,
-1, -1, 60, 61, -1, 63, 64, -1, -1, 67,
68
}

Definition at line 969 of file d-exp.c.

Referenced by yyparse().

◆ yydebug

int yydebug

Definition at line 1203 of file d-exp.c.

Referenced by d_parse().

◆ yydefact

const yytype_int8 yydefact[]
static
Initial value:
=
{
0, 94, 104, 83, 87, 88, 89, 95, 85, 86,
84, 0, 0, 82, 0, 0, 0, 0, 0, 0,
72, 0, 0, 0, 0, 2, 4, 5, 7, 10,
12, 14, 16, 18, 20, 23, 24, 25, 22, 34,
37, 41, 54, 55, 58, 67, 68, 69, 60, 91,
80, 90, 3, 98, 0, 0, 45, 0, 50, 49,
48, 46, 47, 70, 73, 0, 0, 0, 52, 51,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 65, 66, 0,
0, 74, 96, 0, 100, 0, 99, 0, 0, 0,
0, 93, 79, 97, 6, 9, 8, 0, 13, 15,
17, 19, 21, 26, 27, 30, 32, 31, 33, 35,
36, 28, 29, 38, 39, 40, 42, 43, 44, 59,
62, 61, 64, 77, 70, 0, 72, 53, 81, 101,
0, 0, 0, 92, 71, 57, 0, 63, 0, 76,
0, 102, 97, 56, 11, 0, 75, 103, 78
}

Definition at line 902 of file d-exp.c.

Referenced by yyparse().

◆ yydefgoto

const yytype_uint8 yydefgoto[]
static
Initial value:
=
{
0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 64, 65, 45, 146, 46, 47, 48, 49,
50, 51, 57, 106, 53
}

Definition at line 933 of file d-exp.c.

Referenced by yyparse().

◆ yylval

YYSTYPE yylval

Definition at line 1256 of file d-exp.c.

Referenced by classify_inner_name(), classify_name(), lex_one_token(), yylex(), and yyparse().

◆ yynerrs

int yynerrs

Definition at line 1258 of file d-exp.c.

Referenced by yyparse().

◆ yypact

const yytype_int16 yypact[]
static
Initial value:
=
{
132, -91, -91, -91, -91, -91, -91, -91, -91, -91,
-91, -43, -27, -91, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 30, -91, -91, 17, -8, 0,
14, 21, 35, 12, -91, -91, -91, -91, -1, -34,
-31, -91, -91, -91, 43, -91, -91, -91, -91, -91,
-91, 72, 22, -37, 6, 132, -91, 22, -91, -91,
-91, -91, -91, -91, 49, 16, 19, -49, -91, -91,
-91, 132, 132, 132, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 132, 132, 132, -91, -91, 9,
58, -91, -91, 13, -37, 81, -91, 6, 24, 25,
132, -91, -91, 132, -91, -91, -91, 29, 14, 21,
35, 12, -91, -9, -9, -9, -9, -9, -9, -34,
-34, -9, -9, -31, -31, -31, -91, -91, -91, -91,
84, -91, -91, -91, 26, -30, 132, -91, -91, -91,
28, 27, 132, -91, -91, -91, 132, -91, 132, -91,
33, -37, -91, -91, -91, 38, -91, -91, -91
}

Definition at line 878 of file d-exp.c.

Referenced by yyparse().

◆ yypgoto

const yytype_int8 yypgoto[]
static
Initial value:
=
{
-91, -91, 1, 42, -13, -47, -91, 39, 40, 46,
37, 41, -91, -91, -91, 73, -35, -56, -14, -91,
-91, -91, 31, -22, -91, -91, -91, -91, -91, -91,
48, -91, 10, -90, -91
}

Definition at line 924 of file d-exp.c.

Referenced by yyparse().

◆ yyr1

const yytype_int8 yyr1[]
static
Initial value:
=
{
0, 71, 72, 72, 73, 74, 74, 75, 75, 75,
76, 76, 77, 77, 78, 78, 79, 79, 80, 80,
81, 81, 82, 82, 82, 82, 83, 83, 84, 84,
85, 85, 85, 85, 86, 86, 86, 87, 87, 87,
87, 88, 88, 88, 88, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 90, 90, 91, 91,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
93, 93, 94, 94, 96, 95, 97, 98, 98, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 100, 101, 102, 102, 103, 103, 103,
104, 104, 104, 104, 105
}

Definition at line 1018 of file d-exp.c.

Referenced by yyparse().

◆ yyr2

const yytype_int8 yyr2[]
static
Initial value:
=
{
0, 2, 1, 1, 1, 1, 3, 1, 3, 3,
1, 5, 1, 3, 1, 3, 1, 3, 1, 3,
1, 3, 1, 1, 1, 1, 3, 3, 3, 3,
3, 3, 3, 3, 1, 3, 3, 1, 3, 3,
3, 1, 3, 3, 3, 2, 2, 2, 2, 2,
2, 2, 2, 3, 1, 1, 5, 4, 1, 3,
1, 3, 3, 4, 3, 2, 2, 1, 1, 1,
1, 3, 0, 1, 0, 5, 4, 3, 6, 3,
1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 4, 3, 1, 1, 2, 3, 1, 2,
1, 2, 3, 4, 1
}

Definition at line 1034 of file d-exp.c.

Referenced by yy_reduce_print(), and yyparse().

◆ yyrline

const yytype_int16 yyrline[]
static
Initial value:
=
{
0, 184, 184, 185, 191, 195, 196, 201, 202, 204,
214, 215, 227, 228, 233, 234, 239, 240, 245, 246,
251, 252, 257, 258, 259, 260, 264, 266, 271, 273,
278, 280, 282, 284, 289, 290, 292, 297, 298, 300,
302, 307, 308, 310, 312, 316, 318, 320, 322, 324,
326, 328, 330, 332, 334, 335, 339, 343, 348, 349,
354, 355, 362, 367, 374, 376, 378, 380, 381, 382,
386, 388, 394, 395, 400, 399, 411, 425, 427, 439,
441, 480, 514, 516, 521, 525, 527, 529, 531, 538,
543, 549, 556, 561, 566, 570, 585, 603, 605, 607,
614, 616, 618, 621, 627
}

Definition at line 807 of file d-exp.c.

Referenced by yy_reduce_print().

◆ yystos

const yytype_int8 yystos[]
static
Initial value:
=
{
0, 3, 5, 7, 8, 9, 10, 11, 14, 15,
16, 18, 20, 34, 43, 52, 53, 54, 60, 61,
63, 64, 67, 68, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 95, 97, 98, 99, 100,
101, 102, 103, 105, 64, 64, 89, 103, 89, 89,
89, 89, 89, 75, 93, 94, 73, 103, 89, 89,
0, 36, 35, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 58, 59,
52, 53, 67, 54, 55, 56, 57, 60, 61, 62,
63, 64, 11, 62, 54, 63, 104, 64, 103, 73,
36, 70, 69, 69, 74, 75, 75, 73, 78, 79,
80, 81, 82, 86, 86, 86, 86, 86, 86, 87,
87, 86, 86, 88, 88, 88, 89, 89, 89, 89,
3, 6, 19, 70, 75, 93, 96, 19, 101, 104,
8, 103, 69, 69, 75, 89, 66, 6, 65, 70,
94, 70, 69, 89, 76, 75, 69, 104, 70
}

Definition at line 996 of file d-exp.c.

◆ yytable

const yytype_uint8 yytable[]
static
Initial value:
=
{
56, 58, 59, 60, 61, 62, 110, 63, 68, 69,
52, 2, 140, 103, 149, 141, 1, 104, 90, 91,
113, 54, 66, 93, 94, 95, 105, 72, 142, 73,
70, 67, 147, 92, 133, 134, 135, 55, 74, 75,
159, 86, 87, 80, 81, 82, 83, 84, 85, 86,
87, 129, 130, 71, 76, 79, 109, 88, 89, 115,
116, 1, 77, 2, 108, 3, 4, 5, 6, 7,
107, 167, 8, 9, 10, 117, 11, 78, 12, 136,
137, 138, 139, 102, 103, 110, 111, 144, 112, 150,
157, 158, 13, 152, 153, 156, 162, 154, 161, 155,
96, 14, 166, 97, 98, 99, 100, 101, 168, 164,
15, 16, 17, 114, 118, 121, 119, 151, 18, 19,
122, 20, 21, 120, 160, 22, 23, 0, 143, 0,
0, 145, 0, 63, 0, 1, 0, 2, 163, 3,
4, 5, 6, 7, 0, 165, 8, 9, 10, 0,
11, 148, 12, 123, 124, 125, 126, 127, 128, 0,
0, 131, 132, 0, 0, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
0, 0, 0, 0, 15, 16, 17, 0, 0, 0,
0, 0, 18, 19, 0, 20, 21, 0, 0, 22,
23
}

Definition at line 944 of file d-exp.c.

Referenced by yyparse().

◆ yytname

const char* const yytname[]
static
Initial value:
=
{
"\"end of file\"", "error", "\"invalid token\"", "IDENTIFIER",
"UNKNOWN_NAME", "TYPENAME", "COMPLETE", "NAME_OR_INT", "INTEGER_LITERAL",
"FLOAT_LITERAL", "CHARACTER_LITERAL", "STRING_LITERAL", "ENTRY", "ERROR",
"TRUE_KEYWORD", "FALSE_KEYWORD", "NULL_KEYWORD", "SUPER_KEYWORD",
"CAST_KEYWORD", "SIZEOF_KEYWORD", "TYPEOF_KEYWORD", "TYPEID_KEYWORD",
"INIT_KEYWORD", "IMMUTABLE_KEYWORD", "CONST_KEYWORD", "SHARED_KEYWORD",
"STRUCT_KEYWORD", "UNION_KEYWORD", "CLASS_KEYWORD", "INTERFACE_KEYWORD",
"ENUM_KEYWORD", "TEMPLATE_KEYWORD", "DELEGATE_KEYWORD",
"FUNCTION_KEYWORD", "DOLLAR_VARIABLE", "ASSIGN_MODIFY", "','", "'='",
"'?'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQUAL", "NOTEQUAL", "'<'",
"'>'", "LEQ", "GEQ", "LSH", "RSH", "'+'", "'-'", "'*'", "'/'", "'%'",
"HATHAT", "IDENTITY", "NOTIDENTITY", "INCREMENT", "DECREMENT", "'.'",
"'['", "'('", "DOTDOT", "':'", "'~'", "'!'", "')'", "']'", "$accept",
"start", "Expression", "CommaExpression", "AssignExpression",
"ConditionalExpression", "OrOrExpression", "AndAndExpression",
"OrExpression", "XorExpression", "AndExpression", "CmpExpression",
"EqualExpression", "IdentityExpression", "RelExpression",
"ShiftExpression", "AddExpression", "MulExpression", "UnaryExpression",
"CastExpression", "PowExpression", "PostfixExpression", "ArgumentList",
"ArgumentList_opt", "CallExpression", "$@1", "IndexExpression",
"SliceExpression", "PrimaryExpression", "ArrayLiteral", "IdentifierExp",
"StringExp", "TypeExp", "BasicType2", "BasicType", YY_NULLPTRPTR
}
#define YY_NULLPTRPTR
Definition: d-exp.c:135

Definition at line 833 of file d-exp.c.

Referenced by yysymbol_name().

◆ yytranslate

const yytype_int8 yytranslate[]
static

Definition at line 770 of file d-exp.c.