Graphviz 13.0.0~dev.20250608.0154
Loading...
Searching...
No Matches
exparse.c File Reference
#include <assert.h>
#include <expr/exop.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ast/ast.h>
#include <util/gv_ctype.h>
#include <util/streq.h>
#include "exparse.h"
#include <expr/exgram.h>
#include <limits.h>
Include dependency graph for exparse.c:

Go to the source code of this file.

Data Structures

union  yyalloc
 

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 YYSTYPE   EX_STYPE
 
#define yyparse   ex_parse
 
#define yylex   ex_lex
 
#define yyerror   ex_error
 
#define yydebug   ex_debug
 
#define yynerrs   ex_nerrs
 
#define yylval   ex_lval
 
#define yychar   ex_char
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_NULLPTR   ((void*)0)
 
#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   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYFINAL   3
 
#define YYLAST   1120
 
#define YYNTOKENS   106
 
#define YYNNTS   42
 
#define YYNRULES   141
 
#define YYNSTATES   285
 
#define YYMAXUTOK   335
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (yysymbol_kind_t, yystos[State])
 
#define YYPACT_NINF   (-181)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-126)
 
#define yytable_value_is_error(Yyn)    ((Yyn) == YYTABLE_NINF)
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = EX_EMPTY)
 
#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   EX_UNDEF
 
#define YYDPRINTF(Args)   ((void) 0)
 
#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 yysymbol_kind_t yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_int16 yy_state_t
 
typedef int yy_state_fast_t
 

Enumerations

enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_MINTOKEN = 3 , YYSYMBOL_INTEGER = 4 , YYSYMBOL_UNSIGNED = 5 , YYSYMBOL_CHARACTER = 6 ,
  YYSYMBOL_FLOATING = 7 , YYSYMBOL_STRING = 8 , YYSYMBOL_VOIDTYPE = 9 , YYSYMBOL_ADDRESS = 10 ,
  YYSYMBOL_ARRAY = 11 , YYSYMBOL_BREAK = 12 , YYSYMBOL_CALL = 13 , YYSYMBOL_CASE = 14 ,
  YYSYMBOL_CONSTANT = 15 , YYSYMBOL_CONTINUE = 16 , YYSYMBOL_DECLARE = 17 , YYSYMBOL_DEFAULT = 18 ,
  YYSYMBOL_DYNAMIC = 19 , YYSYMBOL_ELSE = 20 , YYSYMBOL_EXIT = 21 , YYSYMBOL_FOR = 22 ,
  YYSYMBOL_FUNCTION = 23 , YYSYMBOL_GSUB = 24 , YYSYMBOL_ITERATE = 25 , YYSYMBOL_ITERATOR = 26 ,
  YYSYMBOL_ID = 27 , YYSYMBOL_IF = 28 , YYSYMBOL_LABEL = 29 , YYSYMBOL_MEMBER = 30 ,
  YYSYMBOL_NAME = 31 , YYSYMBOL_POS = 32 , YYSYMBOL_PRAGMA = 33 , YYSYMBOL_PRE = 34 ,
  YYSYMBOL_PRINT = 35 , YYSYMBOL_PRINTF = 36 , YYSYMBOL_PROCEDURE = 37 , YYSYMBOL_QUERY = 38 ,
  YYSYMBOL_RAND = 39 , YYSYMBOL_RETURN = 40 , YYSYMBOL_SCANF = 41 , YYSYMBOL_SPLIT = 42 ,
  YYSYMBOL_SPRINTF = 43 , YYSYMBOL_SRAND = 44 , YYSYMBOL_SSCANF = 45 , YYSYMBOL_SUB = 46 ,
  YYSYMBOL_SUBSTR = 47 , YYSYMBOL_SWITCH = 48 , YYSYMBOL_TOKENS = 49 , YYSYMBOL_UNSET = 50 ,
  YYSYMBOL_WHILE = 51 , YYSYMBOL_F2I = 52 , YYSYMBOL_F2S = 53 , YYSYMBOL_I2F = 54 ,
  YYSYMBOL_I2S = 55 , YYSYMBOL_S2B = 56 , YYSYMBOL_S2F = 57 , YYSYMBOL_S2I = 58 ,
  YYSYMBOL_F2X = 59 , YYSYMBOL_I2X = 60 , YYSYMBOL_S2X = 61 , YYSYMBOL_X2F = 62 ,
  YYSYMBOL_X2I = 63 , YYSYMBOL_X2S = 64 , YYSYMBOL_X2X = 65 , YYSYMBOL_XPRINT = 66 ,
  YYSYMBOL_67_ = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 ,
  YYSYMBOL_OR = 71 , YYSYMBOL_AND = 72 , YYSYMBOL_73_ = 73 , YYSYMBOL_74_ = 74 ,
  YYSYMBOL_75_ = 75 , YYSYMBOL_EQ = 76 , YYSYMBOL_NE = 77 , YYSYMBOL_78_ = 78 ,
  YYSYMBOL_79_ = 79 , YYSYMBOL_LE = 80 , YYSYMBOL_GE = 81 , YYSYMBOL_LSH = 82 ,
  YYSYMBOL_RSH = 83 , YYSYMBOL_84_ = 84 , YYSYMBOL_85_ = 85 , YYSYMBOL_IN_OP = 86 ,
  YYSYMBOL_87_ = 87 , YYSYMBOL_88_ = 88 , YYSYMBOL_89_ = 89 , YYSYMBOL_90_ = 90 ,
  YYSYMBOL_91_ = 91 , YYSYMBOL_92_ = 92 , YYSYMBOL_UNARY = 93 , YYSYMBOL_INC = 94 ,
  YYSYMBOL_DEC = 95 , YYSYMBOL_CAST = 96 , YYSYMBOL_97_ = 97 , YYSYMBOL_MAXTOKEN = 98 ,
  YYSYMBOL_99_ = 99 , YYSYMBOL_100_ = 100 , YYSYMBOL_101_ = 101 , YYSYMBOL_102_ = 102 ,
  YYSYMBOL_103_ = 103 , YYSYMBOL_104_ = 104 , YYSYMBOL_105_ = 105 , YYSYMBOL_YYACCEPT = 106 ,
  YYSYMBOL_program = 107 , YYSYMBOL_action_list = 108 , YYSYMBOL_action = 109 , YYSYMBOL_110_1 = 110 ,
  YYSYMBOL_statement_list = 111 , YYSYMBOL_statement = 112 , YYSYMBOL_113_2 = 113 , YYSYMBOL_114_3 = 114 ,
  YYSYMBOL_switch_list = 115 , YYSYMBOL_switch_item = 116 , YYSYMBOL_case_list = 117 , YYSYMBOL_case_item = 118 ,
  YYSYMBOL_dcl_list = 119 , YYSYMBOL_dcl_item = 120 , YYSYMBOL_121_4 = 121 , YYSYMBOL_dcl_name = 122 ,
  YYSYMBOL_name = 123 , YYSYMBOL_else_opt = 124 , YYSYMBOL_expr_opt = 125 , YYSYMBOL_expr = 126 ,
  YYSYMBOL_127_5 = 127 , YYSYMBOL_128_6 = 128 , YYSYMBOL_splitop = 129 , YYSYMBOL_constant = 130 ,
  YYSYMBOL_print = 131 , YYSYMBOL_scan = 132 , YYSYMBOL_variable = 133 , YYSYMBOL_array = 134 ,
  YYSYMBOL_index = 135 , YYSYMBOL_args = 136 , YYSYMBOL_arg_list = 137 , YYSYMBOL_formals = 138 ,
  YYSYMBOL_formal_list = 139 , YYSYMBOL_formal_item = 140 , YYSYMBOL_141_7 = 141 , YYSYMBOL_members = 142 ,
  YYSYMBOL_member = 143 , YYSYMBOL_assign = 144 , YYSYMBOL_initialize = 145 , YYSYMBOL_146_8 = 146 ,
  YYSYMBOL_147_9 = 147
}
 
enum  { YYENOMEM = -2 }
 

Functions

void ex_error (const char *message)
 
void * malloc (YYSIZE_T)
 
void free (void *)
 
static const char * yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
 
static void yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
 
const char * exop (size_t index)
 

Variables

static const yytype_int8 yytranslate []
 
static const char *const yytname []
 
static const yytype_int16 yypact []
 
static const yytype_uint8 yydefact []
 
static const yytype_int16 yypgoto []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_uint8 yystos []
 
static const yytype_uint8 yyr1 []
 
static const yytype_int8 yyr2 []
 
int yychar
 
YYSTYPE yylval
 
int yynerrs
 

Macro Definition Documentation

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 414 of file exparse.c.

◆ YY_ACCESSING_SYMBOL

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

Accessing symbol of state STATE.

Definition at line 697 of file exparse.c.

◆ YY_ASSERT

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

Definition at line 480 of file exparse.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 423 of file exparse.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 431 of file exparse.c.

◆ YY_CAST

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

Definition at line 106 of file exparse.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 460 of file exparse.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 461 of file exparse.c.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 475 of file exparse.c.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 476 of file exparse.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 457 of file exparse.c.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 118 of file exparse.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 1309 of file exparse.c.

◆ YY_REINTERPRET_CAST

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

Definition at line 107 of file exparse.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 1308 of file exparse.c.

◆ YY_SYMBOL_PRINT

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

Definition at line 1307 of file exparse.c.

◆ YY_USE

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

Definition at line 437 of file exparse.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 1157 of file exparse.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 1156 of file exparse.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
do \
if (yychar == EX_EMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
} \
while (0)
#define YY_(Msgid)
Definition exparse.c:414
#define yychar
Definition exparse.c:75
#define yylval
Definition exparse.c:74
#define YYERROR
Definition exparse.c:1158
#define EX_EMPTY
Definition exparse.h:147

Definition at line 1164 of file exparse.c.

◆ YYBISON

#define YYBISON   30802

Definition at line 49 of file exparse.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

Definition at line 52 of file exparse.c.

◆ yychar

#define yychar   ex_char

Definition at line 75 of file exparse.c.

◆ yyclearin

#define yyclearin   (yychar = EX_EMPTY)

Definition at line 1154 of file exparse.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 569 of file exparse.c.

◆ yydebug

#define yydebug   ex_debug

Definition at line 72 of file exparse.c.

◆ YYDPRINTF

#define YYDPRINTF (   Args)    ((void) 0)

Definition at line 1306 of file exparse.c.

◆ YYERRCODE

#define YYERRCODE   EX_UNDEF

Definition at line 1183 of file exparse.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 1153 of file exparse.c.

◆ yyerror

#define yyerror   ex_error

Definition at line 71 of file exparse.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 1158 of file exparse.c.

◆ YYFINAL

#define YYFINAL   3

Definition at line 610 of file exparse.c.

◆ YYFREE

#define YYFREE   free

Definition at line 541 of file exparse.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 1315 of file exparse.c.

◆ YYLAST

#define YYLAST   1120

Definition at line 612 of file exparse.c.

◆ yylex

#define yylex (   void)    ex_lex

Definition at line 70 of file exparse.c.

◆ yylval

#define yylval   ex_lval

Definition at line 74 of file exparse.c.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 535 of file exparse.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 1326 of file exparse.c.

◆ YYMAXUTOK

#define YYMAXUTOK   335

Definition at line 624 of file exparse.c.

◆ yynerrs

#define yynerrs   ex_nerrs

Definition at line 73 of file exparse.c.

◆ YYNNTS

#define YYNNTS   42

Definition at line 617 of file exparse.c.

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

Definition at line 1159 of file exparse.c.

◆ YYNRULES

#define YYNRULES   141

Definition at line 619 of file exparse.c.

◆ YYNSTATES

#define YYNSTATES   285

Definition at line 621 of file exparse.c.

◆ YYNTOKENS

#define YYNTOKENS   106

Definition at line 615 of file exparse.c.

◆ YYPACT_NINF

#define YYPACT_NINF   (-181)

Definition at line 737 of file exparse.c.

◆ yypact_value_is_default

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

Definition at line 739 of file exparse.c.

◆ yyparse

#define yyparse (   void)    ex_parse

Definition at line 1369 of file exparse.c.

◆ YYPOPSTACK

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 374 of file exparse.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 373 of file exparse.c.

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file exparse.c.

◆ YYPURE

#define YYPURE   0

Definition at line 58 of file exparse.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file exparse.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1162 of file exparse.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
Definition exparse.c:374
#define YY_CAST(Type, Val)
Definition exparse.c:106
#define YYSIZE_T
Definition exparse.c:387
#define YYPTRDIFF_T
Definition exparse.c:373

Definition at line 391 of file exparse.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 387 of file exparse.c.

◆ YYSIZEOF

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

Definition at line 397 of file exparse.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file exparse.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 521 of file exparse.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 524 of file exparse.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
#define N(n)
Definition bcomps.c:58
#define YYSTYPE
Definition exparse.c:67
#define YYSIZEOF(X)
Definition exparse.c:397
#define YYSTACK_GAP_MAXIMUM
Definition exparse.c:561
yytype_int8 yy_state_t
Definition gmlparse.c:457

Definition at line 565 of file exparse.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 522 of file exparse.c.

◆ YYSTACK_GAP_MAXIMUM

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

Definition at line 561 of file exparse.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)

Definition at line 576 of file exparse.c.

◆ YYSTYPE

#define YYSTYPE   EX_STYPE

Definition at line 67 of file exparse.c.

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-126)

Definition at line 742 of file exparse.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)     ((Yyn) == YYTABLE_NINF)

Definition at line 744 of file exparse.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
static const yytype_int8 yytranslate[]
Definition exparse.c:636
@ YYSYMBOL_YYUNDEF
Definition exparse.c:129
#define YYMAXUTOK
Definition exparse.c:624
yysymbol_kind_t
Definition gmlparse.c:282

Definition at line 629 of file exparse.c.

Typedef Documentation

◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 404 of file exparse.c.

◆ yy_state_t

Definition at line 401 of file exparse.c.

◆ yysymbol_kind_t

Definition at line 276 of file exparse.c.

◆ yytype_int16

typedef short yytype_int16

Definition at line 325 of file exparse.c.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 317 of file exparse.c.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 357 of file exparse.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 346 of file exparse.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 1151 of file exparse.c.

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_MINTOKEN 
YYSYMBOL_INTEGER 
YYSYMBOL_UNSIGNED 
YYSYMBOL_CHARACTER 
YYSYMBOL_FLOATING 
YYSYMBOL_STRING 
YYSYMBOL_VOIDTYPE 
YYSYMBOL_ADDRESS 
YYSYMBOL_ARRAY 
YYSYMBOL_BREAK 
YYSYMBOL_CALL 
YYSYMBOL_CASE 
YYSYMBOL_CONSTANT 
YYSYMBOL_CONTINUE 
YYSYMBOL_DECLARE 
YYSYMBOL_DEFAULT 
YYSYMBOL_DYNAMIC 
YYSYMBOL_ELSE 
YYSYMBOL_EXIT 
YYSYMBOL_FOR 
YYSYMBOL_FUNCTION 
YYSYMBOL_GSUB 
YYSYMBOL_ITERATE 
YYSYMBOL_ITERATOR 
YYSYMBOL_ID 
YYSYMBOL_IF 
YYSYMBOL_LABEL 
YYSYMBOL_MEMBER 
YYSYMBOL_NAME 
YYSYMBOL_POS 
YYSYMBOL_PRAGMA 
YYSYMBOL_PRE 
YYSYMBOL_PRINT 
YYSYMBOL_PRINTF 
YYSYMBOL_PROCEDURE 
YYSYMBOL_QUERY 
YYSYMBOL_RAND 
YYSYMBOL_RETURN 
YYSYMBOL_SCANF 
YYSYMBOL_SPLIT 
YYSYMBOL_SPRINTF 
YYSYMBOL_SRAND 
YYSYMBOL_SSCANF 
YYSYMBOL_SUB 
YYSYMBOL_SUBSTR 
YYSYMBOL_SWITCH 
YYSYMBOL_TOKENS 
YYSYMBOL_UNSET 
YYSYMBOL_WHILE 
YYSYMBOL_F2I 
YYSYMBOL_F2S 
YYSYMBOL_I2F 
YYSYMBOL_I2S 
YYSYMBOL_S2B 
YYSYMBOL_S2F 
YYSYMBOL_S2I 
YYSYMBOL_F2X 
YYSYMBOL_I2X 
YYSYMBOL_S2X 
YYSYMBOL_X2F 
YYSYMBOL_X2I 
YYSYMBOL_X2S 
YYSYMBOL_X2X 
YYSYMBOL_XPRINT 
YYSYMBOL_67_ 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_OR 
YYSYMBOL_AND 
YYSYMBOL_73_ 
YYSYMBOL_74_ 
YYSYMBOL_75_ 
YYSYMBOL_EQ 
YYSYMBOL_NE 
YYSYMBOL_78_ 
YYSYMBOL_79_ 
YYSYMBOL_LE 
YYSYMBOL_GE 
YYSYMBOL_LSH 
YYSYMBOL_RSH 
YYSYMBOL_84_ 
YYSYMBOL_85_ 
YYSYMBOL_IN_OP 
YYSYMBOL_87_ 
YYSYMBOL_88_ 
YYSYMBOL_89_ 
YYSYMBOL_90_ 
YYSYMBOL_91_ 
YYSYMBOL_92_ 
YYSYMBOL_UNARY 
YYSYMBOL_INC 
YYSYMBOL_DEC 
YYSYMBOL_CAST 
YYSYMBOL_97_ 
YYSYMBOL_MAXTOKEN 
YYSYMBOL_99_ 
YYSYMBOL_100_ 
YYSYMBOL_101_ 
YYSYMBOL_102_ 
YYSYMBOL_103_ 
YYSYMBOL_104_ 
YYSYMBOL_105_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_program 
YYSYMBOL_action_list 
YYSYMBOL_action 
YYSYMBOL_110_1 
YYSYMBOL_statement_list 
YYSYMBOL_statement 
YYSYMBOL_113_2 
YYSYMBOL_114_3 
YYSYMBOL_switch_list 
YYSYMBOL_switch_item 
YYSYMBOL_case_list 
YYSYMBOL_case_item 
YYSYMBOL_dcl_list 
YYSYMBOL_dcl_item 
YYSYMBOL_121_4 
YYSYMBOL_dcl_name 
YYSYMBOL_name 
YYSYMBOL_else_opt 
YYSYMBOL_expr_opt 
YYSYMBOL_expr 
YYSYMBOL_127_5 
YYSYMBOL_128_6 
YYSYMBOL_splitop 
YYSYMBOL_constant 
YYSYMBOL_print 
YYSYMBOL_scan 
YYSYMBOL_variable 
YYSYMBOL_array 
YYSYMBOL_index 
YYSYMBOL_args 
YYSYMBOL_arg_list 
YYSYMBOL_formals 
YYSYMBOL_formal_list 
YYSYMBOL_formal_item 
YYSYMBOL_141_7 
YYSYMBOL_members 
YYSYMBOL_member 
YYSYMBOL_assign 
YYSYMBOL_initialize 
YYSYMBOL_146_8 
YYSYMBOL_147_9 

Definition at line 124 of file exparse.c.

Function Documentation

◆ ex_error()

void ex_error ( const char *  message)

Definition at line 3318 of file exparse.c.

References exerror().

Here is the call graph for this function:

◆ exop()

const char * exop ( size_t  id)

retrieve a string representation of a lexer token

Parameters
idThe numerical identifier of the sought token as an offset from MINTOKEN
Returns
The string name of the token or NULL if id is invalid

Definition at line 3274 of file exparse.c.

References gv_isalnum(), NULL, and yytname.

Referenced by lexname().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free()

void free ( void *  )

◆ malloc()

void * malloc ( YYSIZE_T  )

◆ yydestruct()

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

◆ yysymbol_name()

static const char * yysymbol_name ( yysymbol_kind_t  yysymbol)
static

Definition at line 731 of file exparse.c.

References yytname.

Variable Documentation

◆ yychar

int yychar

Definition at line 1354 of file exparse.c.

◆ yycheck

const yytype_int16 yycheck[]
static

Definition at line 958 of file exparse.c.

◆ yydefact

const yytype_uint8 yydefact[]
static

Definition at line 785 of file exparse.c.

◆ yydefgoto

const yytype_int16 yydefgoto[]
static
Initial value:
=
{
0, 1, 49, 96, 215, 2, 50, 61, 210, 252,
263, 264, 265, 135, 136, 194, 137, 277, 242, 51,
52, 165, 245, 53, 54, 55, 56, 57, 223, 63,
127, 128, 256, 257, 258, 267, 70, 71, 125, 239,
249, 268
}

Definition at line 829 of file exparse.c.

◆ yylval

YYSTYPE yylval

Definition at line 1357 of file exparse.c.

◆ yynerrs

int yynerrs

Definition at line 1359 of file exparse.c.

◆ yypact

const yytype_int16 yypact[]
static

Definition at line 749 of file exparse.c.

◆ yypgoto

const yytype_int16 yypgoto[]
static
Initial value:
=
{
-181, -181, -181, -181, -181, -48, -180, -181, -181, -181,
-181, -181, -23, -181, 59, -181, -181, -181, -181, -8,
-36, -181, -181, -181, -16, -181, -181, 51, -181, -181,
-19, -181, -181, -181, -24, -181, 193, 114, 26, -181,
-181, -181
}

Definition at line 819 of file exparse.c.

◆ yyr1

const yytype_uint8 yyr1[]
static
Initial value:
=
{
0, 106, 107, 108, 108, 110, 109, 111, 111, 112,
112, 113, 112, 112, 112, 112, 112, 112, 112, 112,
114, 112, 112, 112, 112, 115, 115, 116, 117, 117,
118, 118, 119, 119, 121, 120, 122, 122, 122, 122,
123, 123, 124, 124, 125, 125, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126, 126, 127, 128, 126,
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
129, 129, 130, 130, 130, 130, 130, 131, 131, 131,
132, 132, 133, 133, 133, 134, 134, 134, 135, 135,
136, 136, 137, 137, 138, 138, 138, 139, 139, 141,
140, 142, 142, 142, 143, 143, 144, 144, 145, 146,
147, 145
}

Definition at line 1111 of file exparse.c.

◆ yyr2

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

Definition at line 1131 of file exparse.c.

◆ yystos

const yytype_uint8 yystos[]
static

Definition at line 1077 of file exparse.c.

◆ yytable

const yytype_int16 yytable[]
static

Definition at line 841 of file exparse.c.

◆ yytname

const char* const yytname[]
static
Initial value:
=
{
"\"end of file\"", "error", "\"invalid token\"", "MINTOKEN", "INTEGER",
"UNSIGNED", "CHARACTER", "FLOATING", "STRING", "VOIDTYPE", "ADDRESS",
"ARRAY", "BREAK", "CALL", "CASE", "CONSTANT", "CONTINUE", "DECLARE",
"DEFAULT", "DYNAMIC", "ELSE", "EXIT", "FOR", "FUNCTION", "GSUB",
"ITERATE", "ITERATOR", "ID", "IF", "LABEL", "MEMBER", "NAME", "POS",
"PRAGMA", "PRE", "PRINT", "PRINTF", "PROCEDURE", "QUERY", "RAND",
"RETURN", "SCANF", "SPLIT", "SPRINTF", "SRAND", "SSCANF", "SUB",
"SUBSTR", "SWITCH", "TOKENS", "UNSET", "WHILE", "F2I", "F2S", "I2F",
"I2S", "S2B", "S2F", "S2I", "F2X", "I2X", "S2X", "X2F", "X2I", "X2S",
"X2X", "XPRINT", "','", "'='", "'?'", "':'", "OR", "AND", "'|'", "'^'",
"'&'", "EQ", "NE", "'<'", "'>'", "LE", "GE", "LSH", "RSH", "'+'", "'-'",
"IN_OP", "'*'", "'/'", "'%'", "'!'", "'~'", "'#'", "UNARY", "INC", "DEC",
"CAST", "'('", "MAXTOKEN", "'{'", "'}'", "';'", "')'", "'['", "']'",
"'.'", "$accept", "program", "action_list", "action", "$@1",
"statement_list", "statement", "$@2", "$@3", "switch_list",
"switch_item", "case_list", "case_item", "dcl_list", "dcl_item", "$@4",
"dcl_name", "name", "else_opt", "expr_opt", "expr", "$@5", "$@6",
"splitop", "constant", "print", "scan", "variable", "array", "index",
"args", "arg_list", "formals", "formal_list", "formal_item", "$@7",
"members", "member", "assign", "initialize", "$@8", "$@9", YY_NULLPTR
}
#define YY_NULLPTR
Definition exparse.c:118

Definition at line 706 of file exparse.c.

Referenced by exop(), and yysymbol_name().

◆ yytranslate

const yytype_int8 yytranslate[]
static

Definition at line 636 of file exparse.c.