Main Page | Class List | Directories | File List | Class Members | File Members

y.tab.c File Reference

#include "global.h"
#include "port.h"
#include "interpret.h"
#include "array.h"
#include "object.h"
#include "stralloc.h"
#include "las.h"
#include "program.h"
#include "pike_types.h"
#include "constants.h"
#include "pike_macros.h"
#include "pike_error.h"
#include "docode.h"
#include "machine.h"
#include "pike_embed.h"
#include "opcodes.h"
#include "operators.h"
#include "bignum.h"
#include "lex.h"
#include <stdio.h>

Classes

union  yystype
struct  yyltype
union  yyalloc

Defines

#define YYBISON   1
#define YYPURE   1
#define YYLSP_NEEDED   0
#define TOK_ARROW   258
#define TOK_CONSTANT   259
#define TOK_FLOAT   260
#define TOK_STRING   261
#define TOK_NUMBER   262
#define TOK_INC   263
#define TOK_DEC   264
#define TOK_RETURN   265
#define TOK_EQ   266
#define TOK_GE   267
#define TOK_LE   268
#define TOK_NE   269
#define TOK_NOT   270
#define TOK_LSH   271
#define TOK_RSH   272
#define TOK_LAND   273
#define TOK_LOR   274
#define TOK_SWITCH   275
#define TOK_SSCANF   276
#define TOK_CATCH   277
#define TOK_FOREACH   278
#define TOK_LEX_EOF   279
#define TOK_ADD_EQ   280
#define TOK_AND_EQ   281
#define TOK_ARRAY_ID   282
#define TOK_BREAK   283
#define TOK_CASE   284
#define TOK_CLASS   285
#define TOK_COLON_COLON   286
#define TOK_CONTINUE   287
#define TOK_DEFAULT   288
#define TOK_DIV_EQ   289
#define TOK_DO   290
#define TOK_DOT_DOT   291
#define TOK_DOT_DOT_DOT   292
#define TOK_ELSE   293
#define TOK_ENUM   294
#define TOK_EXTERN   295
#define TOK_FLOAT_ID   296
#define TOK_FOR   297
#define TOK_FUNCTION_ID   298
#define TOK_GAUGE   299
#define TOK_GLOBAL   300
#define TOK_IDENTIFIER   301
#define TOK_IF   302
#define TOK_IMPORT   303
#define TOK_INHERIT   304
#define TOK_FACET   305
#define TOK_INLINE   306
#define TOK_LOCAL_ID   307
#define TOK_FINAL_ID   308
#define TOK_INT_ID   309
#define TOK_LAMBDA   310
#define TOK_MULTISET_ID   311
#define TOK_MULTISET_END   312
#define TOK_MULTISET_START   313
#define TOK_LSH_EQ   314
#define TOK_MAPPING_ID   315
#define TOK_MIXED_ID   316
#define TOK_MOD_EQ   317
#define TOK_MULT_EQ   318
#define TOK_NO_MASK   319
#define TOK_OBJECT_ID   320
#define TOK_OR_EQ   321
#define TOK_PRIVATE   322
#define TOK_PROGRAM_ID   323
#define TOK_PROTECTED   324
#define TOK_PREDEF   325
#define TOK_PUBLIC   326
#define TOK_RSH_EQ   327
#define TOK_STATIC   328
#define TOK_STRING_ID   329
#define TOK_SUB_EQ   330
#define TOK_TYPEDEF   331
#define TOK_TYPEOF   332
#define TOK_VARIANT   333
#define TOK_VOID_ID   334
#define TOK_WHILE   335
#define TOK_XOR_EQ   336
#define TOK_OPTIONAL   337
#define YYMAXDEPTH   1000
#define YYERROR_VERBOSE   1
#define YYDEBUG   0
#define YYERROR_VERBOSE   1
#define YYSTYPE   yystype
#define YYSTYPE_IS_TRIVIAL   1
#define YYLTYPE   yyltype
#define YYLTYPE_IS_TRIVIAL   1
#define INCLUDED_FROM_LANGUAGE_YACC
#define short   int
#define YYSTACK_ALLOC   malloc
#define YYSTACK_FREE   free
#define YYSTACK_GAP_MAX   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack)
#define YYFINAL   3
#define YYLAST   8894
#define YYNTOKENS   107
#define YYNNTS   193
#define YYNRULES   626
#define YYNSTATES   935
#define YYUNDEFTOK   2
#define YYMAXUTOK   337
#define YYTRANSLATE(X)   ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
#define YYPACT_NINF   -729
#define YYTABLE_NINF   -624
#define YYSIZE_T   unsigned int
#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 yyerrlab1
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YYLEX   yylex (&yylval)
#define YYDPRINTF(Args)
#define YYDSYMPRINT(Args)
#define YYINITDEPTH   200
#define YYPARSE_PARAM_ARG
#define YYPARSE_PARAM_DECL
#define YYPOPSTACK   (yyvsp--, yyssp--)

Typedefs

typedef yyltype yyltype
typedef short yysigned_char

Enumerations

enum  yytokentype {
  TOK_ARROW = 258, TOK_CONSTANT = 259, TOK_FLOAT = 260, TOK_STRING = 261,
  TOK_NUMBER = 262, TOK_INC = 263, TOK_DEC = 264, TOK_RETURN = 265,
  TOK_EQ = 266, TOK_GE = 267, TOK_LE = 268, TOK_NE = 269,
  TOK_NOT = 270, TOK_LSH = 271, TOK_RSH = 272, TOK_LAND = 273,
  TOK_LOR = 274, TOK_SWITCH = 275, TOK_SSCANF = 276, TOK_CATCH = 277,
  TOK_FOREACH = 278, TOK_LEX_EOF = 279, TOK_ADD_EQ = 280, TOK_AND_EQ = 281,
  TOK_ARRAY_ID = 282, TOK_BREAK = 283, TOK_CASE = 284, TOK_CLASS = 285,
  TOK_COLON_COLON = 286, TOK_CONTINUE = 287, TOK_DEFAULT = 288, TOK_DIV_EQ = 289,
  TOK_DO = 290, TOK_DOT_DOT = 291, TOK_DOT_DOT_DOT = 292, TOK_ELSE = 293,
  TOK_ENUM = 294, TOK_EXTERN = 295, TOK_FLOAT_ID = 296, TOK_FOR = 297,
  TOK_FUNCTION_ID = 298, TOK_GAUGE = 299, TOK_GLOBAL = 300, TOK_IDENTIFIER = 301,
  TOK_IF = 302, TOK_IMPORT = 303, TOK_INHERIT = 304, TOK_FACET = 305,
  TOK_INLINE = 306, TOK_LOCAL_ID = 307, TOK_FINAL_ID = 308, TOK_INT_ID = 309,
  TOK_LAMBDA = 310, TOK_MULTISET_ID = 311, TOK_MULTISET_END = 312, TOK_MULTISET_START = 313,
  TOK_LSH_EQ = 314, TOK_MAPPING_ID = 315, TOK_MIXED_ID = 316, TOK_MOD_EQ = 317,
  TOK_MULT_EQ = 318, TOK_NO_MASK = 319, TOK_OBJECT_ID = 320, TOK_OR_EQ = 321,
  TOK_PRIVATE = 322, TOK_PROGRAM_ID = 323, TOK_PROTECTED = 324, TOK_PREDEF = 325,
  TOK_PUBLIC = 326, TOK_RSH_EQ = 327, TOK_STATIC = 328, TOK_STRING_ID = 329,
  TOK_SUB_EQ = 330, TOK_TYPEDEF = 331, TOK_TYPEOF = 332, TOK_VARIANT = 333,
  TOK_VOID_ID = 334, TOK_WHILE = 335, TOK_XOR_EQ = 336, TOK_OPTIONAL = 337
}

Functions

int add_local_name (struct pike_string *, struct pike_type *, node *)
int low_add_local_name (struct compiler_frame *, struct pike_string *, struct pike_type *, node *)
int yylex (YYSTYPE *yylval)
int yyparse (YYPARSE_PARAM_ARG)
void low_yyerror (struct pike_string *str)
void yyerror (char *str)
int islocal (struct pike_string *str)
void cleanup_compiler (void)

Define Documentation

#define INCLUDED_FROM_LANGUAGE_YACC
 

#define short   int
 

#define TOK_ADD_EQ   280
 

#define TOK_AND_EQ   281
 

#define TOK_ARRAY_ID   282
 

#define TOK_ARROW   258
 

#define TOK_BREAK   283
 

#define TOK_CASE   284
 

#define TOK_CATCH   277
 

#define TOK_CLASS   285
 

#define TOK_COLON_COLON   286
 

#define TOK_CONSTANT   259
 

#define TOK_CONTINUE   287
 

#define TOK_DEC   264
 

#define TOK_DEFAULT   288
 

#define TOK_DIV_EQ   289
 

#define TOK_DO   290
 

#define TOK_DOT_DOT   291
 

#define TOK_DOT_DOT_DOT   292
 

#define TOK_ELSE   293
 

#define TOK_ENUM   294
 

#define TOK_EQ   266
 

#define TOK_EXTERN   295
 

#define TOK_FACET   305
 

#define TOK_FINAL_ID   308
 

#define TOK_FLOAT   260
 

#define TOK_FLOAT_ID   296
 

#define TOK_FOR   297
 

#define TOK_FOREACH   278
 

#define TOK_FUNCTION_ID   298
 

#define TOK_GAUGE   299
 

#define TOK_GE   267
 

#define TOK_GLOBAL   300
 

#define TOK_IDENTIFIER   301
 

#define TOK_IF   302
 

#define TOK_IMPORT   303
 

#define TOK_INC   263
 

#define TOK_INHERIT   304
 

#define TOK_INLINE   306
 

#define TOK_INT_ID   309
 

#define TOK_LAMBDA   310
 

#define TOK_LAND   273
 

#define TOK_LE   268
 

#define TOK_LEX_EOF   279
 

#define TOK_LOCAL_ID   307
 

#define TOK_LOR   274
 

#define TOK_LSH   271
 

#define TOK_LSH_EQ   314
 

#define TOK_MAPPING_ID   315
 

#define TOK_MIXED_ID   316
 

#define TOK_MOD_EQ   317
 

#define TOK_MULT_EQ   318
 

#define TOK_MULTISET_END   312
 

#define TOK_MULTISET_ID   311
 

#define TOK_MULTISET_START   313
 

#define TOK_NE   269
 

#define TOK_NO_MASK   319
 

#define TOK_NOT   270
 

#define TOK_NUMBER   262
 

#define TOK_OBJECT_ID   320
 

#define TOK_OPTIONAL   337
 

#define TOK_OR_EQ   321
 

#define TOK_PREDEF   325
 

#define TOK_PRIVATE   322
 

#define TOK_PROGRAM_ID   323
 

#define TOK_PROTECTED   324
 

#define TOK_PUBLIC   326
 

#define TOK_RETURN   265
 

#define TOK_RSH   272
 

#define TOK_RSH_EQ   327
 

#define TOK_SSCANF   276
 

#define TOK_STATIC   328
 

#define TOK_STRING   261
 

#define TOK_STRING_ID   329
 

#define TOK_SUB_EQ   330
 

#define TOK_SWITCH   275
 

#define TOK_TYPEDEF   331
 

#define TOK_TYPEOF   332
 

#define TOK_VARIANT   333
 

#define TOK_VOID_ID   334
 

#define TOK_WHILE   335
 

#define TOK_XOR_EQ   336
 

#define YYABORT   goto yyabortlab
 

#define YYACCEPT   goto yyacceptlab
 

#define YYBACKUP Token,
Value   ) 
 

Value:

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

#define YYBISON   1
 

#define yyclearin   (yychar = YYEMPTY)
 

#define YYCOPY To,
From,
Count   ) 
 

Value:

do                                      \
        {                                       \
          register YYSIZE_T yyi;                \
          for (yyi = 0; yyi < (Count); yyi++)   \
            (To)[yyi] = (From)[yyi];    \
        }                                       \
      while (0)

#define YYDEBUG   0
 

#define YYDPRINTF Args   ) 
 

#define YYDSYMPRINT Args   ) 
 

#define YYEMPTY   -2
 

#define YYEOF   0
 

#define YYERRCODE   256
 

#define yyerrok   (yyerrstatus = 0)
 

#define YYERROR   goto yyerrlab1
 

#define YYERROR_VERBOSE   1
 

#define YYERROR_VERBOSE   1
 

#define YYFAIL   goto yyerrlab
 

#define YYFINAL   3
 

#define YYINITDEPTH   200
 

#define YYLAST   8894
 

#define YYLEX   yylex (&yylval)
 

#define YYLLOC_DEFAULT Current,
Rhs,
 ) 
 

Value:

Current.first_line   = Rhs[1].first_line;      \
  Current.first_column = Rhs[1].first_column;    \
  Current.last_line    = Rhs[N].last_line;       \
  Current.last_column  = Rhs[N].last_column;

#define YYLSP_NEEDED   0
 

#define YYLTYPE   yyltype
 

#define YYLTYPE_IS_TRIVIAL   1
 

#define YYMAXDEPTH   1000
 

#define YYMAXUTOK   337
 

#define YYNNTS   193
 

#define YYNRULES   626
 

#define YYNSTATES   935
 

#define YYNTOKENS   107
 

#define YYPACT_NINF   -729
 

#define YYPARSE_PARAM_ARG
 

#define YYPARSE_PARAM_DECL
 

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

#define YYPURE   1
 

 
#define YYRECOVERING  )     (!!yyerrstatus)
 

#define YYSIZE_T   unsigned int
 

#define YYSTACK_ALLOC   malloc
 

#define YYSTACK_BYTES  ) 
 

Value:

((N) * (sizeof (short) + sizeof (YYSTYPE))                              \
      + YYSTACK_GAP_MAX)

#define YYSTACK_FREE   free
 

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

#define YYSTACK_RELOCATE Stack   ) 
 

Value:

do                                                                      \
      {                                                                 \
        YYSIZE_T yynewbytes;                                            \
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
        Stack = &yyptr->Stack;                                          \
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
      }                                                                 \
    while (0)

#define YYSTYPE   yystype
 

#define YYSTYPE_IS_TRIVIAL   1
 

#define YYTABLE_NINF   -624
 

#define YYTERROR   1
 

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

#define YYUNDEFTOK   2
 


Typedef Documentation

typedef struct yyltype yyltype
 

typedef short yysigned_char
 


Enumeration Type Documentation

enum yytokentype
 

Enumeration values:
TOK_ARROW 
TOK_CONSTANT 
TOK_FLOAT 
TOK_STRING 
TOK_NUMBER 
TOK_INC 
TOK_DEC 
TOK_RETURN 
TOK_EQ 
TOK_GE 
TOK_LE 
TOK_NE 
TOK_NOT 
TOK_LSH 
TOK_RSH 
TOK_LAND 
TOK_LOR 
TOK_SWITCH 
TOK_SSCANF 
TOK_CATCH 
TOK_FOREACH 
TOK_LEX_EOF 
TOK_ADD_EQ 
TOK_AND_EQ 
TOK_ARRAY_ID 
TOK_BREAK 
TOK_CASE 
TOK_CLASS 
TOK_COLON_COLON 
TOK_CONTINUE 
TOK_DEFAULT 
TOK_DIV_EQ 
TOK_DO 
TOK_DOT_DOT 
TOK_DOT_DOT_DOT 
TOK_ELSE 
TOK_ENUM 
TOK_EXTERN 
TOK_FLOAT_ID 
TOK_FOR 
TOK_FUNCTION_ID 
TOK_GAUGE 
TOK_GLOBAL 
TOK_IDENTIFIER 
TOK_IF 
TOK_IMPORT 
TOK_INHERIT 
TOK_FACET 
TOK_INLINE 
TOK_LOCAL_ID 
TOK_FINAL_ID 
TOK_INT_ID 
TOK_LAMBDA 
TOK_MULTISET_ID 
TOK_MULTISET_END 
TOK_MULTISET_START 
TOK_LSH_EQ 
TOK_MAPPING_ID 
TOK_MIXED_ID 
TOK_MOD_EQ 
TOK_MULT_EQ 
TOK_NO_MASK 
TOK_OBJECT_ID 
TOK_OR_EQ 
TOK_PRIVATE 
TOK_PROGRAM_ID 
TOK_PROTECTED 
TOK_PREDEF 
TOK_PUBLIC 
TOK_RSH_EQ 
TOK_STATIC 
TOK_STRING_ID 
TOK_SUB_EQ 
TOK_TYPEDEF 
TOK_TYPEOF 
TOK_VARIANT 
TOK_VOID_ID 
TOK_WHILE 
TOK_XOR_EQ 
TOK_OPTIONAL 


Function Documentation

int add_local_name struct pike_string ,
struct pike_type ,
node
 

void cleanup_compiler void   ) 
 

int islocal struct pike_string str  ) 
 

int low_add_local_name struct compiler_frame ,
struct pike_string ,
struct pike_type ,
node
 

void low_yyerror struct pike_string str  ) 
 

void yyerror char *  str  ) 
 

int yylex YYSTYPE *  yylval  ) 
 

int yyparse YYPARSE_PARAM_ARG   ) 
 


Generated on Fri Jul 22 23:44:31 2005 for Pike by  doxygen 1.3.9.1