GDB (xrefs)
Classes | Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/linux/gdb/c-exp.c File Reference
#include "defs.h"
#include "gdb_string.h"
#include <ctype.h>
#include "expression.h"
#include "value.h"
#include "parser-defs.h"
#include "language.h"
#include "c-lang.h"
#include "bfd.h"
#include "symfile.h"
#include "objfiles.h"
#include "charset.h"
#include "block.h"
#include "cp-support.h"
#include "dfp.h"
#include "gdb_assert.h"
#include "macroscope.h"
#include "objc-lang.h"
#include "typeprint.h"
#include "cp-abi.h"

Go to the source code of this file.

Classes

union  YYSTYPE
union  yyalloc
struct  token
struct  token_and_value

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 parse_type   builtin_type (parse_gdbarch)
#define yymaxdepth   c_maxdepth
#define yyparse   c_parse_internal
#define yylex   c_lex
#define yyerror   c_error
#define yylval   c_lval
#define yychar   c_char
#define yydebug   c_debug
#define yypact   c_pact
#define yyr1   c_r1
#define yyr2   c_r2
#define yydef   c_def
#define yychk   c_chk
#define yypgo   c_pgo
#define yyact   c_act
#define yyexca   c_exca
#define yyerrflag   c_errflag
#define yynerrs   c_nerrs
#define yyps   c_ps
#define yypv   c_pv
#define yys   c_s
#define yy_yys   c_yys
#define yystate   c_state
#define yytmp   c_tmp
#define yyv   c_v
#define yy_yyv   c_yyv
#define yyval   c_val
#define yylloc   c_lloc
#define yyreds   c_reds /* With YYDEBUG defined */
#define yytoks   c_toks /* With YYDEBUG defined */
#define yyname   c_name /* With YYDEBUG defined */
#define yyrule   c_rule /* With YYDEBUG defined */
#define yylhs   c_yylhs
#define yylen   c_yylen
#define yydefred   c_yydefred
#define yydgoto   c_yydgoto
#define yysindex   c_yysindex
#define yyrindex   c_yyrindex
#define yygindex   c_yygindex
#define yytable   c_yytable
#define yycheck   c_yycheck
#define yyss   c_yyss
#define yysslim   c_yysslim
#define yyssp   c_yyssp
#define yystacksize   c_yystacksize
#define yyvs   c_yyvs
#define yyvsp   c_yyvsp
#define YYDEBUG   1 /* Default to yydebug support */
#define YYFPRINTF   parser_fprintf
#define YYERROR_VERBOSE   0
#define YYTOKEN_TABLE   0
#define YYTOKENTYPE
#define INT   258
#define FLOAT   259
#define DECFLOAT   260
#define STRING   261
#define NSSTRING   262
#define SELECTOR   263
#define CHAR   264
#define NAME   265
#define UNKNOWN_CPP_NAME   266
#define COMPLETE   267
#define TYPENAME   268
#define CLASSNAME   269
#define OBJC_LBRAC   270
#define NAME_OR_INT   271
#define OPERATOR   272
#define STRUCT   273
#define CLASS   274
#define UNION   275
#define ENUM   276
#define SIZEOF   277
#define UNSIGNED   278
#define COLONCOLON   279
#define TEMPLATE   280
#define ERROR   281
#define NEW   282
#define DELETE   283
#define REINTERPRET_CAST   284
#define DYNAMIC_CAST   285
#define STATIC_CAST   286
#define CONST_CAST   287
#define ENTRY   288
#define TYPEOF   289
#define DECLTYPE   290
#define TYPEID   291
#define SIGNED_KEYWORD   292
#define LONG   293
#define SHORT   294
#define INT_KEYWORD   295
#define CONST_KEYWORD   296
#define VOLATILE_KEYWORD   297
#define DOUBLE_KEYWORD   298
#define VARIABLE   299
#define ASSIGN_MODIFY   300
#define TRUEKEYWORD   301
#define FALSEKEYWORD   302
#define ABOVE_COMMA   303
#define OROR   304
#define ANDAND   305
#define NOTEQUAL   306
#define EQUAL   307
#define GEQ   308
#define LEQ   309
#define RSH   310
#define LSH   311
#define DECREMENT   312
#define INCREMENT   313
#define UNARY   314
#define DOT_STAR   315
#define ARROW_STAR   316
#define ARROW   317
#define BLOCKNAME   318
#define FILENAME   319
#define DOTDOTDOT   320
#define YYSTYPE_IS_TRIVIAL   1
#define yystype   YYSTYPE /* obsolescent; will be withdrawn */
#define YYSTYPE_IS_DECLARED   1
#define YYPRINT(FILE, TYPE, VALUE)   c_print_token (FILE, TYPE, VALUE)
#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   167
#define YYLAST   1734
#define YYNTOKENS   90
#define YYNNTS   46
#define YYNRULES   260
#define YYNSTATES   413
#define YYUNDEFTOK   2
#define YYMAXUTOK   320
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -214
#define YYTABLE_NINF   -121
#define yypact_value_is_default(yystate)   ((yystate) == (-214))
#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))

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
}
enum  token_flags { FLAG_CXX = 1, FLAG_SHADOW = 2 }

Functions

int yyparse (void)
static int yylex (void)
void yyerror (char *)
static int parse_number (const char *, int, int, YYSTYPE *)
static struct stoken operator_stoken (const char *)
static void check_parameter_typelist (VEC(type_ptr)*)
static void write_destructor_name (struct stoken)
static void c_print_token (FILE *file, int type, YYSTYPE value)
static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
static void yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep) const
int c_parse_escape (const char **ptr, struct obstack *output)
static int parse_string_or_char (const char *tokptr, const char **outptr, struct typed_stoken *value, int *host_chars)
static void scan_macro_expansion (char *expansion)
static int scanning_macro_expansion (void)
static void finished_macro_expansion (void)
static void scan_macro_cleanup (void *dummy)
static int is_cast_operator (const char *token, int len)
static int lex_one_token (void)
 DEF_VEC_O (token_and_value)
static VEC (token_and_value)
static int classify_inner_name (const struct block *block, struct type *context)
int c_parse (void)

Variables

static const yytype_uint8 yytranslate []
static const yytype_uint16 yyprhs []
static const yytype_int16 yyrhs []
static const yytype_uint16 yyrline []
static const char *const yytname []
static const yytype_uint16 yytoknum []
static const yytype_uint8 yyr1 []
static const yytype_uint8 yyr2 []
static const yytype_uint16 yydefact []
static const yytype_int16 yydefgoto []
static const yytype_int16 yypact []
static const yytype_int16 yypgoto []
static const yytype_int16 yytable []
static const yytype_int16 yycheck []
static const yytype_uint8 yystos []
int yydebug
int yychar
YYSTYPE yylval
int yynerrs
static struct obstack tempbuf
static int tempbuf_init
static struct token tokentab3 []
static struct token tokentab2 []
static struct token ident_tokens []
static const char * macro_original_text
static struct obstack expansion_obstack
static struct macro_scopeexpression_macro_scope
static int saw_name_at_eof
static int last_was_structop

Define Documentation

#define ABOVE_COMMA   303

Definition at line 302 of file c-exp.c.

#define ANDAND   305

Definition at line 304 of file c-exp.c.

Referenced by yylex().

#define ARROW   317

Definition at line 316 of file c-exp.c.

#define ARROW_STAR   316

Definition at line 315 of file c-exp.c.

#define ASSIGN_MODIFY   300

Definition at line 299 of file c-exp.c.

Referenced by yylex().

#define BLOCKNAME   318

Definition at line 317 of file c-exp.c.

Referenced by c_print_token(), and yylex().

#define CHAR   264

Definition at line 263 of file c-exp.c.

Referenced by c_print_token(), lex_one_token(), parse_number(), parse_string_or_char(), and yylex().

#define CLASS   274

Definition at line 273 of file c-exp.c.

Referenced by yylex().

#define CLASSNAME   269

Definition at line 268 of file c-exp.c.

#define COLONCOLON   279

Definition at line 278 of file c-exp.c.

#define COMPLETE   267

Definition at line 266 of file c-exp.c.

Referenced by lex_one_token(), and yylex().

#define CONST_CAST   287

Definition at line 286 of file c-exp.c.

#define CONST_KEYWORD   296

Definition at line 295 of file c-exp.c.

Referenced by yylex().

#define DECFLOAT   260

Definition at line 259 of file c-exp.c.

Referenced by parse_number().

#define DECLTYPE   290

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

#define DECREMENT   312

Definition at line 311 of file c-exp.c.

Referenced by yylex().

#define DELETE   283

Definition at line 282 of file c-exp.c.

Referenced by yylex().

#define DOT_STAR   315

Definition at line 314 of file c-exp.c.

#define DOTDOTDOT   320

Definition at line 319 of file c-exp.c.

#define DOUBLE_KEYWORD   298

Definition at line 297 of file c-exp.c.

Referenced by yylex().

#define DYNAMIC_CAST   285

Definition at line 284 of file c-exp.c.

Referenced by yylex().

#define ENTRY   288

Definition at line 287 of file c-exp.c.

#define ENUM   276

Definition at line 275 of file c-exp.c.

Referenced by yylex().

#define EQUAL   307

Definition at line 306 of file c-exp.c.

Referenced by yylex().

#define ERROR   281

Definition at line 280 of file c-exp.c.

Referenced by classify_inner_name(), lex_one_token(), parse_number(), and yylex().

#define FALSEKEYWORD   302

Definition at line 301 of file c-exp.c.

#define FILENAME   319

Definition at line 318 of file c-exp.c.

Referenced by c_print_token(), and yylex().

#define FLOAT   259

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

#define GEQ   308

Definition at line 307 of file c-exp.c.

#define INCREMENT   313

Definition at line 312 of file c-exp.c.

Referenced by yylex().

#define INT   258

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

#define INT_KEYWORD   295

Definition at line 294 of file c-exp.c.

Referenced by yylex().

#define LEQ   309

Definition at line 308 of file c-exp.c.

#define LONG   293

Definition at line 292 of file c-exp.c.

Referenced by yylex().

#define LSH   311

Definition at line 310 of file c-exp.c.

Referenced by yylex().

#define NAME   265

Definition at line 264 of file c-exp.c.

#define NAME_OR_INT   271

Definition at line 270 of file c-exp.c.

Referenced by c_print_token(), classify_name(), and yylex().

#define NEW   282

Definition at line 281 of file c-exp.c.

#define NOTEQUAL   306

Definition at line 305 of file c-exp.c.

#define NSSTRING   262

Definition at line 261 of file c-exp.c.

Referenced by c_print_token(), and parse_string_or_char().

#define OBJC_LBRAC   270

Definition at line 269 of file c-exp.c.

Referenced by lex_one_token().

#define OPERATOR   272

Definition at line 271 of file c-exp.c.

Referenced by yylex().

#define OROR   304

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

Referenced by yylex().

Definition at line 93 of file c-exp.c.

Referenced by parse_number().

#define REINTERPRET_CAST   284

Definition at line 283 of file c-exp.c.

Referenced by yylex().

#define RSH   310

Definition at line 309 of file c-exp.c.

Referenced by yylex().

#define SELECTOR   263

Definition at line 262 of file c-exp.c.

Referenced by lex_one_token().

#define SHORT   294

Definition at line 293 of file c-exp.c.

Referenced by yylex().

#define SIGNED_KEYWORD   292

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

Referenced by yylex().

#define SIZEOF   277

Definition at line 276 of file c-exp.c.

Referenced by yylex().

#define STATIC_CAST   286

Definition at line 285 of file c-exp.c.

Referenced by yylex().

#define STRING   261

Definition at line 260 of file c-exp.c.

#define STRUCT   273

Definition at line 272 of file c-exp.c.

Referenced by yylex().

#define TEMPLATE   280

Definition at line 279 of file c-exp.c.

Referenced by yylex().

#define TRUEKEYWORD   301

Definition at line 300 of file c-exp.c.

#define TYPEID   291

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

#define TYPENAME   268

Definition at line 267 of file c-exp.c.

Referenced by c_print_token(), classify_inner_name(), classify_name(), and yylex().

#define TYPEOF   289

Definition at line 288 of file c-exp.c.

#define UNARY   314

Definition at line 313 of file c-exp.c.

#define UNION   275

Definition at line 274 of file c-exp.c.

Referenced by yylex().

#define UNKNOWN_CPP_NAME   266

Definition at line 265 of file c-exp.c.

Referenced by c_print_token().

#define UNSIGNED   278

Definition at line 277 of file c-exp.c.

Referenced by yylex().

#define VARIABLE   299

Definition at line 298 of file c-exp.c.

Referenced by c_print_token(), lex_one_token(), and yylex().

#define VOLATILE_KEYWORD   297

Definition at line 296 of file c-exp.c.

Referenced by yylex().

#define YY_ (   msgid)    msgid

Definition at line 444 of file c-exp.c.

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

Definition at line 1542 of file c-exp.c.

#define YY_REDUCE_PRINT (   Rule)
Value:
do {                                    \
  if (yydebug)                          \
    yy_reduce_print (yyvsp, Rule); \
} while (YYID (0))

Definition at line 1701 of file c-exp.c.

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

Definition at line 1663 of file c-exp.c.

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

Definition at line 1568 of file c-exp.c.

Referenced by yydestruct().

#define yy_yys   c_yys

Definition at line 122 of file c-exp.c.

#define yy_yyv   c_yyv

Definition at line 126 of file c-exp.c.

#define YYABORT   goto yyabortlab

Definition at line 1471 of file c-exp.c.

#define YYACCEPT   goto yyacceptlab

Definition at line 1470 of file c-exp.c.

#define yyact   c_act

Definition at line 115 of file c-exp.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 1492 of file c-exp.c.

#define YYBISON   1

Definition at line 44 of file c-exp.c.

#define YYBISON_VERSION   "2.5"

Definition at line 47 of file c-exp.c.

#define yychar   c_char

Definition at line 107 of file c-exp.c.

#define yycheck   c_yycheck

Definition at line 141 of file c-exp.c.

#define yychk   c_chk

Definition at line 113 of file c-exp.c.

#define yyclearin   (yychar = YYEMPTY)

Definition at line 1466 of file c-exp.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 590 of file c-exp.c.

#define YYCOPY_NEEDED   1

Definition at line 562 of file c-exp.c.

#define yydebug   c_debug

Definition at line 108 of file c-exp.c.

#define YYDEBUG   1 /* Default to yydebug support */

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

#define yydef   c_def

Definition at line 112 of file c-exp.c.

#define yydefred   c_yydefred

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

#define yydgoto   c_yydgoto

Definition at line 136 of file c-exp.c.

#define YYDPRINTF (   Args)
Value:
do {                                            \
  if (yydebug)                                  \
    YYFPRINTF Args;                             \
} while (YYID (0))

Definition at line 1562 of file c-exp.c.

#define YYEMPTY   (-2)

Definition at line 1467 of file c-exp.c.

#define YYEOF   0

Definition at line 1468 of file c-exp.c.

#define YYERRCODE   256

Definition at line 1510 of file c-exp.c.

#define yyerrflag   c_errflag

Definition at line 117 of file c-exp.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 1465 of file c-exp.c.

#define yyerror   c_error

Definition at line 105 of file c-exp.c.

#define YYERROR   goto yyerrorlab

Definition at line 1472 of file c-exp.c.

#define YYERROR_VERBOSE   0

Definition at line 176 of file c-exp.c.

#define yyexca   c_exca

Definition at line 116 of file c-exp.c.

#define YYFAIL   goto yyerrlab

Definition at line 1482 of file c-exp.c.

#define YYFINAL   167

Definition at line 603 of file c-exp.c.

#define YYFPRINTF   parser_fprintf

Definition at line 153 of file c-exp.c.

Referenced by yy_reduce_print(), yy_stack_print(), and yy_symbol_print().

#define YYFREE   xfree

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

#define yygindex   c_yygindex

Definition at line 139 of file c-exp.c.

#define YYID (   n)    (n)

Definition at line 457 of file c-exp.c.

#define YYINITDEPTH   200

Definition at line 1720 of file c-exp.c.

#define YYLAST   1734

Definition at line 605 of file c-exp.c.

#define yylen   c_yylen

Definition at line 134 of file c-exp.c.

#define yylex   c_lex

Definition at line 104 of file c-exp.c.

#define YYLEX   yylex ()

Definition at line 1551 of file c-exp.c.

#define yylhs   c_yylhs

Definition at line 133 of file c-exp.c.

#define yylloc   c_lloc

Definition at line 128 of file c-exp.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 1519 of file c-exp.c.

#define YYLSP_NEEDED   0

Definition at line 62 of file c-exp.c.

#define yylval   c_lval

Definition at line 106 of file c-exp.c.

#define YYMALLOC   xmalloc

Definition at line 525 of file c-exp.c.

#define yymaxdepth   c_maxdepth

Definition at line 102 of file c-exp.c.

#define YYMAXDEPTH   10000

Definition at line 1731 of file c-exp.c.

#define YYMAXUTOK   320

Definition at line 618 of file c-exp.c.

#define yyname   c_name /* With YYDEBUG defined */

Definition at line 131 of file c-exp.c.

#define yynerrs   c_nerrs

Definition at line 118 of file c-exp.c.

#define YYNNTS   46

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

#define YYNRULES   260

Definition at line 612 of file c-exp.c.

#define YYNSTATES   413

Definition at line 614 of file c-exp.c.

#define YYNTOKENS   90

Definition at line 608 of file c-exp.c.

Referenced by yy_symbol_print(), and yy_symbol_value_print().

#define yypact   c_pact

Definition at line 109 of file c-exp.c.

#define YYPACT_NINF   -214

Definition at line 994 of file c-exp.c.

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

Definition at line 1233 of file c-exp.c.

#define yyparse   c_parse_internal

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

#define yypgo   c_pgo

Definition at line 114 of file c-exp.c.

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))
#define YYPRINT (   FILE,
  TYPE,
  VALUE 
)    c_print_token (FILE, TYPE, VALUE)

Definition at line 383 of file c-exp.c.

Referenced by yy_symbol_value_print().

#define yyps   c_ps

Definition at line 119 of file c-exp.c.

#define YYPULL   1

Definition at line 59 of file c-exp.c.

#define YYPURE   0

Definition at line 53 of file c-exp.c.

#define YYPUSH   0

Definition at line 56 of file c-exp.c.

#define yypv   c_pv

Definition at line 120 of file c-exp.c.

#define yyr1   c_r1

Definition at line 110 of file c-exp.c.

#define yyr2   c_r2

Definition at line 111 of file c-exp.c.

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1490 of file c-exp.c.

#define yyreds   c_reds /* With YYDEBUG defined */

Definition at line 129 of file c-exp.c.

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

Definition at line 1517 of file c-exp.c.

#define yyrindex   c_yyrindex

Definition at line 138 of file c-exp.c.

#define yyrule   c_rule /* With YYDEBUG defined */

Definition at line 132 of file c-exp.c.

Referenced by yy_reduce_print().

#define yys   c_s

Definition at line 121 of file c-exp.c.

#define yysindex   c_yysindex

Definition at line 137 of file c-exp.c.

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 434 of file c-exp.c.

#define YYSIZE_T   unsigned int

Definition at line 430 of file c-exp.c.

#define YYSKELETON_NAME   "yacc.c"

Definition at line 50 of file c-exp.c.

#define yyss   c_yyss

Definition at line 142 of file c-exp.c.

#define yysslim   c_yysslim

Definition at line 143 of file c-exp.c.

#define yyssp   c_yyssp

Definition at line 144 of file c-exp.c.

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 511 of file c-exp.c.

Definition at line 514 of file c-exp.c.

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

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

#define YYSTACK_FREE   YYFREE

Definition at line 512 of file c-exp.c.

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

Definition at line 554 of file c-exp.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 569 of file c-exp.c.

#define yystacksize   c_yystacksize

Definition at line 145 of file c-exp.c.

#define yystate   c_state

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

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

Definition at line 366 of file c-exp.c.

#define YYSTYPE_IS_DECLARED   1

Definition at line 367 of file c-exp.c.

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 365 of file c-exp.c.

#define yytable   c_yytable

Definition at line 140 of file c-exp.c.

#define YYTABLE_NINF   -121

Definition at line 1054 of file c-exp.c.

#define yytable_value_is_error (   yytable_value)    YYID (0)

Definition at line 1236 of file c-exp.c.

#define YYTERROR   1

Definition at line 1509 of file c-exp.c.

#define yytmp   c_tmp

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

#define YYTOKEN_TABLE   0

Definition at line 181 of file c-exp.c.

#define YYTOKENTYPE

Definition at line 187 of file c-exp.c.

#define yytoks   c_toks /* With YYDEBUG defined */

Definition at line 130 of file c-exp.c.

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

Definition at line 620 of file c-exp.c.

#define YYUNDEFTOK   2

Definition at line 617 of file c-exp.c.

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

Definition at line 450 of file c-exp.c.

Referenced by yy_symbol_value_print(), and yydestruct().

#define yyv   c_v

Definition at line 125 of file c-exp.c.

#define yyval   c_val

Definition at line 127 of file c-exp.c.

#define yyvs   c_yyvs

Definition at line 146 of file c-exp.c.

#define yyvsp   c_yyvsp

Definition at line 147 of file c-exp.c.


Typedef Documentation

typedef union YYSTYPE YYSTYPE
typedef short int yytype_int16

Definition at line 417 of file c-exp.c.

typedef short int yytype_int8

Definition at line 405 of file c-exp.c.

typedef unsigned short int yytype_uint16

Definition at line 411 of file c-exp.c.

typedef unsigned char yytype_uint8

Definition at line 396 of file c-exp.c.


Enumeration Type Documentation

Enumerator:
FLAG_CXX 
FLAG_SHADOW 

Definition at line 5298 of file c-exp.c.

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 190 of file c-exp.c.


Function Documentation

int c_parse ( void  )
int c_parse_escape ( const char **  ptr,
struct obstack *  output 
)

Definition at line 5040 of file c-exp.c.

References _, error(), HOST_ESCAPE_CHAR, len, and obstack_grow_str.

Referenced by get_character_constant(), get_string_literal(), and parse_string_or_char().

static void c_print_token ( FILE *  file,
int  type,
YYSTYPE  value 
) [static]
static void check_parameter_typelist ( VEC(type_ptr)*  params) [static]

Definition at line 4759 of file c-exp.c.

References _, check_typedef(), error(), type, TYPE_CODE, TYPE_CODE_VOID, VEC_free, VEC_iterate, and VEC_length.

static int classify_inner_name ( const struct block block,
struct type context 
) [static]
static void finished_macro_expansion ( void  ) [static]

Definition at line 5458 of file c-exp.c.

References gdb_assert, lexptr, and macro_original_text.

Referenced by lex_one_token(), and scan_macro_cleanup().

static int is_cast_operator ( const char *  token,
int  len 
) [static]

Definition at line 5481 of file c-exp.c.

Referenced by lex_one_token().

static int lex_one_token ( void  ) [static]
static struct stoken operator_stoken ( const char *  op) [static, read]

Definition at line 4739 of file c-exp.c.

References stoken::length, make_cleanup(), stoken::ptr, xfree(), and xmalloc().

static int parse_number ( const char *  buf,
int  len,
int  parsed_float,
YYSTYPE putithere 
) [static]
static int parse_string_or_char ( const char *  tokptr,
const char **  outptr,
struct typed_stoken value,
int host_chars 
) [static]
static void scan_macro_cleanup ( void *  dummy) [static]

Definition at line 5470 of file c-exp.c.

References expansion_obstack, and finished_macro_expansion().

Referenced by c_parse().

static void scan_macro_expansion ( char *  expansion) [static]

Definition at line 5431 of file c-exp.c.

References expansion_obstack, gdb_assert, lexptr, and xfree().

Referenced by lex_one_token().

static int scanning_macro_expansion ( void  ) [static]

Definition at line 5451 of file c-exp.c.

Referenced by lex_one_token().

static VEC ( token_and_value  ) [static]

Definition at line 5892 of file c-exp.c.

static void write_destructor_name ( struct stoken  token) [static]

Definition at line 4723 of file c-exp.c.

References stoken::length, memcpy(), stoken::ptr, and write_exp_string().

static void yy_reduce_print ( YYSTYPE yyvsp,
int  yyrule 
) [static]

Definition at line 1680 of file c-exp.c.

References yy_symbol_print(), YYFPRINTF, and yyrule.

static void yy_stack_print ( yytype_int16 yybottom,
yytype_int16 yytop 
) [static]

Definition at line 1649 of file c-exp.c.

References YYFPRINTF.

static void yy_symbol_print ( FILE *  yyoutput,
int  yytype,
YYSTYPE const * const  yyvaluep 
) [static]

Definition at line 1623 of file c-exp.c.

References yy_symbol_value_print(), YYFPRINTF, and YYNTOKENS.

Referenced by yy_reduce_print().

static void yy_symbol_value_print ( FILE *  yyoutput,
int  yytype,
YYSTYPE const * const  yyvaluep 
) [static]

Definition at line 1591 of file c-exp.c.

References YYNTOKENS, YYPRINT, and YYUSE.

Referenced by yy_symbol_print().

static void yydestruct ( char *  yymsg,
int  yytype,
YYSTYPE yyvaluep 
) const [static]

Definition at line 1984 of file c-exp.c.

References YY_SYMBOL_PRINT, and YYUSE.

void yyerror ( char *  msg)
static int yylex ( void  ) [static]
int yyparse ( void  )

Variable Documentation

struct obstack expansion_obstack [static]

Definition at line 5428 of file c-exp.c.

Referenced by c_parse(), scan_macro_cleanup(), scan_macro_expansion(), and yylex().

Definition at line 5490 of file c-exp.c.

struct token ident_tokens[] [static]

Definition at line 5355 of file c-exp.c.

Definition at line 5500 of file c-exp.c.

Referenced by lex_one_token().

const char* macro_original_text [static]

Definition at line 5420 of file c-exp.c.

Referenced by finished_macro_expansion().

int saw_name_at_eof [static]

Definition at line 5495 of file c-exp.c.

struct obstack tempbuf [static]

Definition at line 5027 of file c-exp.c.

Referenced by parse_string_or_char(), and yylex().

int tempbuf_init [static]

Definition at line 5028 of file c-exp.c.

struct token tokentab2[] [static]
Initial value:
  {
    {"+=", ASSIGN_MODIFY, BINOP_ADD, 0},
    {"-=", ASSIGN_MODIFY, BINOP_SUB, 0},
    {"*=", ASSIGN_MODIFY, BINOP_MUL, 0},
    {"/=", ASSIGN_MODIFY, BINOP_DIV, 0},
    {"%=", ASSIGN_MODIFY, BINOP_REM, 0},
    {"|=", ASSIGN_MODIFY, BINOP_BITWISE_IOR, 0},
    {"&=", ASSIGN_MODIFY, BINOP_BITWISE_AND, 0},
    {"^=", ASSIGN_MODIFY, BINOP_BITWISE_XOR, 0},
    {"++", INCREMENT, BINOP_END, 0},
    {"--", DECREMENT, BINOP_END, 0},
    {"->", ARROW, BINOP_END, 0},
    {"&&", ANDAND, BINOP_END, 0},
    {"||", OROR, BINOP_END, 0},
    
    {"::", COLONCOLON, BINOP_END, 0},
    {"<<", LSH, BINOP_END, 0},
    {">>", RSH, BINOP_END, 0},
    {"==", EQUAL, BINOP_END, 0},
    {"!=", NOTEQUAL, BINOP_END, 0},
    {"<=", LEQ, BINOP_END, 0},
    {">=", GEQ, BINOP_END, 0},
    {".*", DOT_STAR, BINOP_END, FLAG_CXX}
  }

Definition at line 5327 of file c-exp.c.

struct token tokentab3[] [static]
Initial value:
  {
    {">>=", ASSIGN_MODIFY, BINOP_RSH, 0},
    {"<<=", ASSIGN_MODIFY, BINOP_LSH, 0},
    {"->*", ARROW_STAR, BINOP_END, FLAG_CXX},
    {"...", DOTDOTDOT, BINOP_END, 0}
  }

Definition at line 5319 of file c-exp.c.

Definition at line 2022 of file c-exp.c.

Definition at line 1239 of file c-exp.c.

Definition at line 1709 of file c-exp.c.

Definition at line 936 of file c-exp.c.

Initial value:
{
      -1,    51,   163,   164,    54,   225,   226,   227,   334,   335,
     336,   296,   222,    55,   202,   307,    56,    57,    58,    59,
     206,    60,    61,    62,   376,   214,   380,   317,   215,   216,
     217,   218,   219,    63,    64,   132,   322,   299,    65,   110,
     236,    66,    67,    68,   337,    69
}

Definition at line 983 of file c-exp.c.

Definition at line 2025 of file c-exp.c.

Definition at line 2028 of file c-exp.c.

Definition at line 995 of file c-exp.c.

Initial value:
{
    -214,  -214,     2,    13,   -11,  -214,  -214,  -214,   -72,  -214,
      59,  -214,  -214,  -214,  -207,   206,  -214,  -214,  -214,  -143,
    -214,  -184,  -214,   -63,    29,  -106,  -214,  -214,  -214,   202,
     231,  -213,  -212,  -120,    28,   416,   255,  -214,  -214,  -214,
     217,  -214,  -183,    -5,     3,   435
}

Definition at line 1042 of file c-exp.c.

Initial value:
{
       0,     0,     3,     5,     7,     9,    14,    19,    24,    26,
      30,    33,    36,    39,    42,    45,    48,    51,    54,    57,
      60,    65,    70,    73,    77,    82,    86,    91,    97,   101,
     105,   109,   114,   118,   123,   129,   133,   137,   142,   147,
     148,   154,   155,   161,   162,   168,   170,   172,   174,   177,
     181,   184,   187,   188,   194,   195,   201,   203,   204,   206,
     210,   216,   218,   222,   227,   232,   236,   240,   244,   248,
     252,   256,   260,   264,   268,   272,   276,   280,   284,   288,
     292,   296,   300,   304,   308,   312,   318,   322,   326,   328,
     330,   332,   334,   336,   338,   340,   345,   350,   358,   366,
     374,   382,   384,   387,   389,   391,   393,   395,   397,   399,
     403,   406,   410,   414,   419,   425,   427,   430,   432,   435,
     437,   438,   442,   444,   446,   448,   449,   450,   455,   456,
     460,   462,   465,   467,   470,   472,   474,   478,   481,   483,
     486,   488,   491,   494,   498,   502,   505,   509,   511,   513,
     515,   517,   519,   522,   526,   529,   533,   537,   541,   544,
     547,   551,   556,   560,   564,   569,   573,   578,   582,   587,
     590,   594,   597,   601,   604,   608,   610,   613,   616,   619,
     623,   626,   629,   633,   636,   639,   643,   646,   649,   653,
     656,   658,   661,   663,   669,   672,   675,   677,   679,   681,
     683,   685,   689,   691,   695,   697,   700,   703,   704,   707,
     710,   713,   715,   717,   719,   722,   725,   730,   735,   740,
     745,   748,   751,   754,   757,   760,   763,   766,   769,   772,
     775,   778,   781,   784,   787,   790,   793,   796,   799,   802,
     805,   808,   811,   814,   817,   820,   823,   826,   830,   834,
     838,   841,   843,   845,   847,   849,   851,   853,   855,   857,
     859
}

Definition at line 664 of file c-exp.c.

const yytype_uint8 yyr1[] [static]
Initial value:
{
       0,    90,    91,    91,    92,    92,    92,    92,    93,    93,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    95,
      94,    96,    94,    97,    94,    98,    98,    99,    99,   100,
     100,   100,   101,    94,   102,    94,   103,   104,   104,   104,
      94,   105,    94,    94,    94,    94,    94,    94,    94,    94,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
      94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
      94,   106,   106,    94,    94,    94,    94,   107,   107,   107,
     108,   108,   109,   109,   109,   108,   108,   108,   110,   111,
     111,   112,   113,   113,   114,   114,   116,   115,   117,   115,
     115,   115,   118,   119,   119,   119,   120,   120,   120,   120,
     120,   121,   121,   121,   121,   122,   122,   123,   124,   124,
     124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
     124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
     124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
     124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
     124,   124,   124,   124,   124,   124,   125,   125,   125,   125,
     126,   126,   127,   127,   128,   128,   129,   130,   130,   131,
     131,   132,   132,   132,   133,   133,   133,   133,   133,   133,
     133,   133,   133,   133,   133,   133,   133,   133,   133,   133,
     133,   133,   133,   133,   133,   133,   133,   133,   133,   133,
     133,   133,   133,   133,   133,   133,   133,   133,   133,   133,
     133,   134,   134,   134,   134,   134,   134,   135,   135,   135,
     135
}

Definition at line 870 of file c-exp.c.

const yytype_uint8 yyr2[] [static]
Initial value:
{
       0,     2,     1,     1,     1,     4,     4,     4,     1,     3,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       4,     4,     2,     3,     4,     3,     4,     5,     3,     3,
       3,     4,     3,     4,     5,     3,     3,     4,     4,     0,
       5,     0,     5,     0,     5,     1,     1,     1,     2,     3,
       2,     2,     0,     5,     0,     5,     1,     0,     1,     3,
       5,     1,     3,     4,     4,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     5,     3,     3,     1,     1,
       1,     1,     1,     1,     1,     4,     4,     7,     7,     7,
       7,     1,     2,     1,     1,     1,     1,     1,     1,     3,
       2,     3,     3,     4,     5,     1,     2,     1,     2,     1,
       0,     3,     1,     1,     1,     0,     0,     4,     0,     3,
       1,     2,     1,     2,     1,     1,     3,     2,     1,     2,
       1,     2,     2,     3,     3,     2,     3,     1,     1,     1,
       1,     1,     2,     3,     2,     3,     3,     3,     2,     2,
       3,     4,     3,     3,     4,     3,     4,     3,     4,     2,
       3,     2,     3,     2,     3,     1,     2,     2,     2,     3,
       2,     2,     3,     2,     2,     3,     2,     2,     3,     2,
       1,     2,     1,     5,     2,     2,     1,     1,     1,     1,
       1,     3,     1,     3,     1,     2,     2,     0,     2,     2,
       2,     1,     1,     1,     2,     2,     4,     4,     4,     4,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     3,     3,     3,
       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1
}

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

const yytype_int16 yyrhs[] [static]

Definition at line 696 of file c-exp.c.

Initial value:
{
       0,   279,   279,   280,   283,   287,   291,   297,   304,   305,
     310,   314,   318,   322,   326,   330,   334,   338,   342,   346,
     350,   354,   358,   362,   368,   375,   385,   391,   398,   406,
     410,   416,   423,   433,   439,   446,   454,   458,   462,   472,
     471,   494,   493,   509,   508,   517,   519,   522,   523,   526,
     528,   530,   537,   534,   545,   544,   567,   571,   574,   578,
     582,   600,   603,   610,   614,   618,   624,   628,   632,   636,
     640,   644,   648,   652,   656,   660,   664,   668,   672,   676,
     680,   684,   688,   692,   696,   700,   704,   708,   714,   721,
     730,   741,   748,   755,   758,   764,   771,   781,   785,   789,
     793,   800,   817,   835,   868,   877,   884,   893,   901,   907,
     917,   932,   954,   969,   995,  1004,  1005,  1033,  1087,  1091,
    1092,  1095,  1098,  1099,  1103,  1104,  1109,  1108,  1112,  1111,
    1114,  1116,  1120,  1129,  1131,  1132,  1135,  1137,  1144,  1151,
    1157,  1164,  1166,  1168,  1170,  1174,  1176,  1188,  1192,  1194,
    1198,  1202,  1206,  1210,  1214,  1218,  1222,  1226,  1230,  1234,
    1238,  1242,  1246,  1250,  1254,  1258,  1262,  1266,  1270,  1274,
    1278,  1282,  1286,  1290,  1294,  1298,  1302,  1306,  1309,  1314,
    1320,  1323,  1328,  1334,  1337,  1342,  1348,  1351,  1356,  1362,
    1366,  1370,  1374,  1381,  1385,  1387,  1391,  1392,  1400,  1408,
    1419,  1421,  1430,  1436,  1443,  1444,  1451,  1455,  1456,  1459,
    1460,  1463,  1467,  1469,  1473,  1475,  1477,  1479,  1481,  1483,
    1485,  1487,  1489,  1491,  1493,  1495,  1497,  1499,  1501,  1503,
    1505,  1507,  1509,  1511,  1551,  1553,  1555,  1557,  1559,  1561,
    1563,  1565,  1567,  1569,  1571,  1573,  1575,  1577,  1579,  1581,
    1583,  1599,  1600,  1601,  1602,  1603,  1604,  1607,  1608,  1616,
    1628
}

Definition at line 788 of file c-exp.c.

Definition at line 1419 of file c-exp.c.

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

const char* const yytname[] [static]
Initial value:
{
  "$end", "error", "$undefined", "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", "')'",
  "'!'", "'~'", "']'", "':'", "'{'", "'}'", "$accept", "start", "type_exp",
  "exp1", "exp", "$@1", "$@2", "$@3", "msglist", "msgarglist", "msgarg",
  "$@4", "$@5", "lcurly", "arglist", "rcurly", "string_exp", "block",
  "variable", "qualified_name", "space_identifier", "const_or_volatile",
  "cv_with_space_id", "const_or_volatile_or_space_identifier_noopt",
  "const_or_volatile_or_space_identifier", "ptr_operator", "$@6", "$@7",
  "ptr_operator_ts", "abs_decl", "direct_abs_decl", "array_mod",
  "func_mod", "type", "typebase", "typename", "parameter_typelist",
  "nonempty_typelist", "ptype", "conversion_type_id",
  "conversion_declarator", "const_and_volatile", "const_or_volatile_noopt",
  "operator", "name", "name_not_typename", 0
}

Definition at line 823 of file c-exp.c.

Initial value:
{
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,    44,   303,
      61,    63,   304,   305,   124,    94,    38,   306,   307,    60,
      62,   308,   309,   310,   311,    64,    43,    45,    42,    47,
      37,   312,   313,   314,    46,    91,    40,   315,   316,   317,
     318,   319,   320,    41,    33,   126,    93,    58,   123,   125
}

Definition at line 855 of file c-exp.c.

Definition at line 624 of file c-exp.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines