Snoopy Version 6.0 (Albert)
grammar.c File Reference
#include <string.h>
#include <stdlib.h>
#include "libconfig.h"
#include "private.h"
Include dependency graph for grammar.c:

Data Structures

union  YYSTYPE
union  yyalloc

Defines

#define YYBISON   1
#define YYBISON_VERSION   "2.3"
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   1
#define YYLSP_NEEDED   0
#define yyparse   libconfig_yyparse
#define yylex   libconfig_yylex
#define yyerror   libconfig_yyerror
#define yylval   libconfig_yylval
#define yychar   libconfig_yychar
#define yydebug   libconfig_yydebug
#define yynerrs   libconfig_yynerrs
#define YYTOKENTYPE
#define TOK_BOOLEAN   258
#define TOK_INTEGER   259
#define TOK_HEX   260
#define TOK_INTEGER64   261
#define TOK_HEX64   262
#define TOK_FLOAT   263
#define TOK_STRING   264
#define TOK_NAME   265
#define TOK_EQUALS   266
#define TOK_NEWLINE   267
#define TOK_ARRAY_START   268
#define TOK_ARRAY_END   269
#define TOK_LIST_START   270
#define TOK_LIST_END   271
#define TOK_COMMA   272
#define TOK_GROUP_START   273
#define TOK_GROUP_END   274
#define TOK_END   275
#define TOK_GARBAGE   276
#define IN_ARRAY()   (ctx->parent && (ctx->parent->type == CONFIG_TYPE_ARRAY))
#define IN_LIST()   (ctx->parent && (ctx->parent->type == CONFIG_TYPE_LIST))
#define CAPTURE_PARSE_POS(S)   (S)->line = (unsigned int)libconfig_yyget_lineno(scanner)
#define YYDEBUG   0
#define YYERROR_VERBOSE   0
#define YYTOKEN_TABLE   0
#define yystype   YYSTYPE
#define YYSTYPE_IS_DECLARED   1
#define YYSTYPE_IS_TRIVIAL   1
#define YYSIZE_T   unsigned int
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YY_(msgid)   msgid
#define YYUSE(e)   ((void) (e))
#define YYID(n)   (n)
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYMALLOC   malloc
#define YYFREE   free
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack)
#define YYFINAL   6
#define YYLAST   32
#define YYNTOKENS   22
#define YYNNTS   18
#define YYNRULES   34
#define YYNSTATES   43
#define YYUNDEFTOK   2
#define YYMAXUTOK   276
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -18
#define YYTABLE_NINF   -1
#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 (&yylval, scanner)
#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 {
  TOK_BOOLEAN = 258, TOK_INTEGER = 259, TOK_HEX = 260, TOK_INTEGER64 = 261,
  TOK_HEX64 = 262, TOK_FLOAT = 263, TOK_STRING = 264, TOK_NAME = 265,
  TOK_EQUALS = 266, TOK_NEWLINE = 267, TOK_ARRAY_START = 268, TOK_ARRAY_END = 269,
  TOK_LIST_START = 270, TOK_LIST_END = 271, TOK_COMMA = 272, TOK_GROUP_START = 273,
  TOK_GROUP_END = 274, TOK_END = 275, TOK_GARBAGE = 276, TOK_BOOLEAN = 258,
  TOK_INTEGER = 259, TOK_HEX = 260, TOK_INTEGER64 = 261, TOK_HEX64 = 262,
  TOK_FLOAT = 263, TOK_STRING = 264, TOK_NAME = 265, TOK_EQUALS = 266,
  TOK_NEWLINE = 267, TOK_ARRAY_START = 268, TOK_ARRAY_END = 269, TOK_LIST_START = 270,
  TOK_LIST_END = 271, TOK_COMMA = 272, TOK_GROUP_START = 273, TOK_GROUP_END = 274,
  TOK_END = 275, TOK_GARBAGE = 276
}

Functions

int libconfig_yylex ()
int libconfig_yyget_lineno ()
void libconfig_yyerror (void *scanner, struct parse_context *ctx, char const *s)
int yyparse ()
int yyparse (void *scanner, struct parse_context *ctx)

Define Documentation

#define CAPTURE_PARSE_POS (   S)    (S)->line = (unsigned int)libconfig_yyget_lineno(scanner)
#define IN_ARRAY ( )    (ctx->parent && (ctx->parent->type == CONFIG_TYPE_ARRAY))
#define IN_LIST ( )    (ctx->parent && (ctx->parent->type == CONFIG_TYPE_LIST))
#define TOK_ARRAY_END   269
#define TOK_ARRAY_START   268
#define TOK_BOOLEAN   258
#define TOK_COMMA   272
#define TOK_END   275
#define TOK_EQUALS   266
#define TOK_FLOAT   263
#define TOK_GARBAGE   276
#define TOK_GROUP_END   274
#define TOK_GROUP_START   273
#define TOK_HEX   260
#define TOK_HEX64   262
#define TOK_INTEGER   259
#define TOK_INTEGER64   261
#define TOK_LIST_END   271
#define TOK_LIST_START   270
#define TOK_NAME   265
#define TOK_NEWLINE   267
#define TOK_STRING   264
#define YY_ (   msgid)    msgid
#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)
#define YY_REDUCE_PRINT (   Rule)
#define YY_STACK_PRINT (   Bottom,
  Top 
)
#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)
#define YYABORT   goto yyabortlab
#define YYACCEPT   goto yyacceptlab
#define YYBACKUP (   Token,
  Value 
)
Value:
do                                                              \
  if (yychar == YYEMPTY && yylen == 1)                          \
    {                                                           \
      yychar = (Token);                                         \
      yylval = (Value);                                         \
      yytoken = YYTRANSLATE (yychar);                           \
      YYPOPSTACK (1);                                           \
      goto yybackup;                                            \
    }                                                           \
  else                                                          \
    {                                                           \
      yyerror (scanner, ctx, YY_("syntax error: cannot back up")); \
      YYERROR;                                                  \
    }                                                           \
while (YYID (0))
#define YYBISON   1
#define YYBISON_VERSION   "2.3"
#define yychar   libconfig_yychar
#define yyclearin   (yychar = YYEMPTY)
#define YYCOPY (   To,
  From,
  Count 
)
Value:
do                                      \
        {                                       \
          YYSIZE_T yyi;                         \
          for (yyi = 0; yyi < (Count); yyi++)   \
            (To)[yyi] = (From)[yyi];            \
        }                                       \
      while (YYID (0))
#define YYDEBUG   0
#define yydebug   libconfig_yydebug
#define YYDPRINTF (   Args)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYERRCODE   256
#define yyerrok   (yyerrstatus = 0)
#define YYERROR   goto yyerrorlab
#define yyerror   libconfig_yyerror
#define YYERROR_VERBOSE   0
#define YYFAIL   goto yyerrlab
#define YYFINAL   6
#define YYFREE   free
#define YYID (   n)    (n)
#define YYINITDEPTH   200
#define YYLAST   32
#define YYLEX   yylex (&yylval, scanner)
#define yylex   libconfig_yylex
#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))
#define YYLSP_NEEDED   0
#define yylval   libconfig_yylval
#define YYMALLOC   malloc
#define YYMAXDEPTH   10000
#define YYMAXUTOK   276
#define yynerrs   libconfig_yynerrs
#define YYNNTS   18
#define YYNRULES   34
#define YYNSTATES   43
#define YYNTOKENS   22
#define YYPACT_NINF   -18
#define yyparse   libconfig_yyparse
#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))
#define YYPURE   1
#define YYRECOVERING ( )    (!!yyerrstatus)
#define YYRHSLOC (   Rhs,
 
)    ((Rhs)[K])
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YYSIZE_T   unsigned int
#define YYSKELETON_NAME   "yacc.c"
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
      + YYSTACK_GAP_MAXIMUM)
#define YYSTACK_FREE   YYFREE
#define YYSTACK_GAP_MAXIMUM   (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_MAXIMUM; \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
      }                                                                 \
    while (YYID (0))
#define yystype   YYSTYPE
#define YYSTYPE_IS_DECLARED   1
#define YYSTYPE_IS_TRIVIAL   1
#define YYTABLE_NINF   -1
#define YYTERROR   1
#define YYTOKEN_TABLE   0
#define YYTOKENTYPE
#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYUNDEFTOK   2
#define YYUSE (   e)    ((void) (e))

Typedef Documentation

typedef union YYSTYPE YYSTYPE
typedef short int yytype_int16
typedef short int yytype_int8
typedef unsigned short int yytype_uint16
typedef unsigned char yytype_uint8

Enumeration Type Documentation

Enumerator:
TOK_BOOLEAN 
TOK_INTEGER 
TOK_HEX 
TOK_INTEGER64 
TOK_HEX64 
TOK_FLOAT 
TOK_STRING 
TOK_NAME 
TOK_EQUALS 
TOK_NEWLINE 
TOK_ARRAY_START 
TOK_ARRAY_END 
TOK_LIST_START 
TOK_LIST_END 
TOK_COMMA 
TOK_GROUP_START 
TOK_GROUP_END 
TOK_END 
TOK_GARBAGE 
TOK_BOOLEAN 
TOK_INTEGER 
TOK_HEX 
TOK_INTEGER64 
TOK_HEX64 
TOK_FLOAT 
TOK_STRING 
TOK_NAME 
TOK_EQUALS 
TOK_NEWLINE 
TOK_ARRAY_START 
TOK_ARRAY_END 
TOK_LIST_START 
TOK_LIST_END 
TOK_COMMA 
TOK_GROUP_START 
TOK_GROUP_END 
TOK_END 
TOK_GARBAGE 

Function Documentation

void libconfig_yyerror ( void *  scanner,
struct parse_context ctx,
char const *  s 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int libconfig_yyget_lineno ( )

Here is the caller graph for this function:

int libconfig_yylex ( )
int yyparse ( void *  scanner,
struct parse_context ctx 
)

Here is the call graph for this function:

int yyparse ( )