w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

y.tab.c File Reference
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <mruby.h>
#include <mruby/compile.h>
#include <mruby/proc.h>
#include <mruby/error.h>
#include <mruby/throw.h>
#include <mruby/dump.h>
#include <mruby/presym.h>
#include "node.h"
#include <limits.h>
#include <stddef.h>
#include "lex.def"
Include dependency graph for y.tab.c:

Go to the source code of this file.

Classes

union  YYSTYPE
 
union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.5.1"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYSTACK_USE_ALLOCA   1
 
#define YYLEX_PARAM   p
 
#define identchar(c)   (ISALNUM(c) || (c) == '_' || !ISASCII(c))
 
#define BITSTACK_PUSH(stack, n)   ((stack) = ((stack)<<1)|((n)&1))
 
#define BITSTACK_POP(stack)   ((stack) = (stack) >> 1)
 
#define BITSTACK_LEXPOP(stack)   ((stack) = ((stack) >> 1) | ((stack) & 1))
 
#define BITSTACK_SET_P(stack)   ((stack)&1)
 
#define COND_PUSH(n)   BITSTACK_PUSH(p->cond_stack, (n))
 
#define COND_POP()   BITSTACK_POP(p->cond_stack)
 
#define COND_LEXPOP()   BITSTACK_LEXPOP(p->cond_stack)
 
#define COND_P()   BITSTACK_SET_P(p->cond_stack)
 
#define CMDARG_PUSH(n)   BITSTACK_PUSH(p->cmdarg_stack, (n))
 
#define CMDARG_POP()   BITSTACK_POP(p->cmdarg_stack)
 
#define CMDARG_LEXPOP()   BITSTACK_LEXPOP(p->cmdarg_stack)
 
#define CMDARG_P()   BITSTACK_SET_P(p->cmdarg_stack)
 
#define SET_LINENO(c, n)   ((c)->lineno = (n))
 
#define NODE_LINENO(c, n)
 
#define sym(x)   ((mrb_sym)(intptr_t)(x))
 
#define nsym(x)   ((node*)(intptr_t)(x))
 
#define nint(x)   ((node*)(intptr_t)(x))
 
#define intn(x)   ((int)(intptr_t)(x))
 
#define typen(x)   ((enum node_type)(intptr_t)(x))
 
#define NUM_SUFFIX_R   (1<<0)
 
#define NUM_SUFFIX_I   (1<<1)
 
#define intern_cstr(s)   intern_cstr_gen(p,(s))
 
#define intern(s, len)   intern_gen(p,(s),(len))
 
#define intern_op(op)   MRB_OPSYM_2(p->mrb, op)
 
#define cons_free(c)   cons_free_gen(p, (c))
 
#define cons(a, b)   cons_gen(p,(a),(b))
 
#define list1(a)   list1_gen(p, (a))
 
#define list2(a, b)   list2_gen(p, (a),(b))
 
#define list3(a, b, c)   list3_gen(p, (a),(b),(c))
 
#define list4(a, b, c, d)   list4_gen(p, (a),(b),(c),(d))
 
#define list5(a, b, c, d, e)   list5_gen(p, (a),(b),(c),(d),(e))
 
#define list6(a, b, c, d, e, f)   list6_gen(p, (a),(b),(c),(d),(e),(f))
 
#define append(a, b)   append_gen(p,(a),(b))
 
#define push(a, b)   append_gen(p,(a),list1(b))
 
#define strndup(s, len)   parser_strndup(p, s, len)
 
#define strdup(s)   parser_strdup(p, s)
 
#define newline_node(n)   (n)
 
#define is_strterm_type(p, str_func)   (intn((p)->lex_strterm->car) & (str_func))
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_NULLPTR   ((void*)0)
 
#define YYERROR_VERBOSE   1
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 
#define YYPTRDIFF_T   ptrdiff_t
 
#define YYPTRDIFF_MAXIMUM   PTRDIFF_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 YYUSE(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   alloca
 
#define EXIT_SUCCESS   0
 
#define YYSTACK_FREE(Ptr)   do { /* empty */; } while (0)
 
#define YYSTACK_ALLOC_MAXIMUM   4032 /* reasonable circa 2006 */
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   3
 
#define YYLAST   12618
 
#define YYNTOKENS   149
 
#define YYNNTS   176
 
#define YYNRULES   605
 
#define YYNSTATES   1061
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   377
 
#define YYTRANSLATE(YYX)    (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   (-838)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-606)
 
#define yytable_value_is_error(Yyn)    ((Yyn) == YYTABLE_NINF)
 
#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 YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#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 YYCASE_(N, S)
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
#define YYSYNTAX_ERROR
 
#define pylval   (*((YYSTYPE*)(p->ylval)))
 
#define peek(p, c)   peek_n((p), (c), 0)
 
#define IS_ARG()   (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)
 
#define IS_END()   (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)
 
#define IS_BEG()   (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)
 
#define IS_SPCARG(c)   (IS_ARG() && space_seen && !ISSPACE(c))
 
#define IS_LABEL_POSSIBLE()   ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())
 
#define IS_LABEL_SUFFIX(n)   (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))
 
#define no_digits()   do {yyerror(p,"numeric literal without digits"); return 0;} while (0)
 
#define DETECT_SIZE   64
 

Typedefs

typedef mrb_ast_node node
 
typedef struct mrb_parser_state parser_state
 
typedef struct mrb_parser_heredoc_info parser_heredoc_info
 
typedef unsigned int stack_type
 
typedef enum mrb_string_type string_type
 
typedef union YYSTYPE YYSTYPE
 
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  yytokentype {
  LEFT = 258 , RIGHT = 259 , NUMBER = 260 , FIX = 261 ,
  COMMENT = 262 , CHECKSUM = 263 , DESIGNSIZE = 264 , DESIGNUNITS = 265 ,
  CODINGSCHEME = 266 , FAMILY = 267 , FACE = 268 , SEVENBITSAFEFLAG = 269 ,
  HEADER = 270 , FONTDIMEN = 271 , LIGTABLE = 272 , BOUNDARYCHAR = 273 ,
  CHARACTER = 274 , NAMEDPARAMETER = 275 , PARAMETER = 276 , CHARMEASURE = 277 ,
  NEXTLARGER = 278 , VARCHAR = 279 , EXTEN = 280 , LABEL = 281 ,
  LIG = 282 , KRN = 283 , STOP = 284 , SKIP = 285 ,
  VTITLE = 286 , MAPFONT = 287 , FONTNAME = 288 , FONTAREA = 289 ,
  FONTCHECKSUM = 290 , FONTAT = 291 , FONTDSIZE = 292 , MAP = 293 ,
  SELECTFONT = 294 , SETCHAR = 295 , SETRULE = 296 , MOVE = 297 ,
  PUSH = 298 , POP = 299 , SPECIAL = 300 , SPECIALHEX = 301 ,
  CHARREPEAT = 302 , FONTIVALUE = 303 , FONTFVALUE = 304 , FONTMVALUE = 305 ,
  FONTPENALTY = 306 , FONTRULE = 307 , FONTGLUE = 308 , CLABEL = 309 ,
  CKRN = 310 , CGLUE = 311 , CPENALTY = 312 , CPENGLUE = 313 ,
  CHARIVALUE = 314 , CHARFVALUE = 315 , CHARMVALUE = 316 , CHARPENALTY = 317 ,
  CHARRULE = 318 , CHARGLUE = 319 , IVALUE = 320 , IVALUEVAL = 321 ,
  MVALUE = 322 , MVALUEVAL = 323 , FVALUE = 324 , FVALUEVAL = 325 ,
  PENALTY = 326 , PENALTYVAL = 327 , RULE = 328 , RULEMEASURE = 329 ,
  GLUE = 330 , GLUEWD = 331 , GLUETYPE = 332 , GLUEKIND = 333 ,
  GLUERULE = 334 , GLUECHAR = 335 , GLUESHRINKSTRETCH = 336 , GLUEORDER = 337 ,
  OFMLEVEL = 338 , FONTDIR = 339 , ACCENT = 340 , NUMBER = 258 ,
  ID = 259 , STRING = 260 , LEFTARROW = 261 , RIGHTARROW = 262 ,
  MYINPUT = 263 , OUTPUT = 264 , ALIASES = 265 , STATES = 266 ,
  TABLES = 267 , EXPRESSIONS = 268 , PUSH = 269 , POP = 270 ,
  DIV = 271 , MOD = 272 , BEG = 273 , END = 274 ,
  NUMBER = 258 , ID = 259 , STRING = 260 , LEFTARROW = 261 ,
  RIGHTARROW = 262 , MYINPUT = 263 , OUTPUT = 264 , ALIASES = 265 ,
  STATES = 266 , TABLES = 267 , EXPRESSIONS = 268 , PUSH = 269 ,
  POP = 270 , DIV = 271 , MOD = 272 , BEG = 273 ,
  END = 274 , array_tok = 258 , begin_tok = 259 , case_tok = 260 ,
  const_tok = 261 , do_tok = 262 , downto_tok = 263 , else_tok = 264 ,
  end_tok = 265 , file_tok = 266 , for_tok = 267 , function_tok = 268 ,
  goto_tok = 269 , if_tok = 270 , label_tok = 271 , of_tok = 272 ,
  procedure_tok = 273 , program_tok = 274 , record_tok = 275 , repeat_tok = 276 ,
  then_tok = 277 , to_tok = 278 , type_tok = 279 , until_tok = 280 ,
  var_tok = 281 , while_tok = 282 , noreturn_tok = 283 , others_tok = 284 ,
  r_num_tok = 285 , i_num_tok = 286 , string_literal_tok = 287 , single_char_tok = 288 ,
  assign_tok = 289 , two_dots_tok = 290 , undef_id_tok = 291 , var_id_tok = 292 ,
  proc_id_tok = 293 , proc_param_tok = 294 , fun_id_tok = 295 , fun_param_tok = 296 ,
  const_id_tok = 297 , type_id_tok = 298 , hhb0_tok = 299 , hhb1_tok = 300 ,
  field_id_tok = 301 , define_tok = 302 , field_tok = 303 , break_tok = 304 ,
  not_eq_tok = 305 , less_eq_tok = 306 , great_eq_tok = 307 , or_tok = 308 ,
  unary_plus_tok = 309 , unary_minus_tok = 310 , div_tok = 311 , mod_tok = 312 ,
  and_tok = 313 , not_tok = 314 , array_tok = 258 , begin_tok = 259 ,
  case_tok = 260 , const_tok = 261 , do_tok = 262 , downto_tok = 263 ,
  else_tok = 264 , end_tok = 265 , file_tok = 266 , for_tok = 267 ,
  function_tok = 268 , goto_tok = 269 , if_tok = 270 , label_tok = 271 ,
  of_tok = 272 , procedure_tok = 273 , program_tok = 274 , record_tok = 275 ,
  repeat_tok = 276 , then_tok = 277 , to_tok = 278 , type_tok = 279 ,
  until_tok = 280 , var_tok = 281 , while_tok = 282 , noreturn_tok = 283 ,
  others_tok = 284 , r_num_tok = 285 , i_num_tok = 286 , string_literal_tok = 287 ,
  single_char_tok = 288 , assign_tok = 289 , two_dots_tok = 290 , undef_id_tok = 291 ,
  var_id_tok = 292 , proc_id_tok = 293 , proc_param_tok = 294 , fun_id_tok = 295 ,
  fun_param_tok = 296 , const_id_tok = 297 , type_id_tok = 298 , hhb0_tok = 299 ,
  hhb1_tok = 300 , field_id_tok = 301 , define_tok = 302 , field_tok = 303 ,
  break_tok = 304 , not_eq_tok = 305 , less_eq_tok = 306 , great_eq_tok = 307 ,
  or_tok = 308 , unary_plus_tok = 309 , unary_minus_tok = 310 , div_tok = 311 ,
  mod_tok = 312 , and_tok = 313 , not_tok = 314 , YYEMPTY = -2 ,
  YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 , NAME = 258 ,
  AUTHOR = 259 , GABC_COPYRIGHT = 260 , SCORE_COPYRIGHT = 261 , LANGUAGE = 262 ,
  STAFF_LINES = 263 , ORISCUS_ORIENTATION = 264 , DEF_MACRO = 265 , OTHER_HEADER = 266 ,
  ANNOTATION = 267 , MODE = 268 , MODE_MODIFIER = 269 , MODE_DIFFERENTIA = 270 ,
  END_OF_DEFINITIONS = 271 , END_OF_FILE = 272 , COLON = 273 , SEMICOLON = 274 ,
  CHARACTERS = 275 , NOTES = 276 , HYPHEN = 277 , ATTRIBUTE = 278 ,
  OPENING_BRACKET = 279 , CLOSING_BRACKET = 280 , CLOSING_BRACKET_WITH_SPACE = 281 , I_BEGIN = 282 ,
  I_END = 283 , TT_BEGIN = 284 , TT_END = 285 , UL_BEGIN = 286 ,
  UL_END = 287 , C_BEGIN = 288 , C_END = 289 , B_BEGIN = 290 ,
  B_END = 291 , SC_BEGIN = 292 , SC_END = 293 , SP_BEGIN = 294 ,
  SP_END = 295 , VERB_BEGIN = 296 , VERB_END = 297 , CENTER_BEGIN = 298 ,
  CENTER_END = 299 , ELISION_BEGIN = 300 , ELISION_END = 301 , TRANSLATION_BEGIN = 302 ,
  TRANSLATION_END = 303 , TRANSLATION_CENTER_END = 304 , ALT_BEGIN = 305 , ALT_END = 306 ,
  NLBA_B = 307 , NLBA_E = 308 , EUOUAE_B = 309 , EUOUAE_E = 310 ,
  NABC_CUT = 311 , NABC_LINES = 312 , CLEAR = 313 , PROTRUSION = 314 ,
  PROTRUSION_VALUE = 315 , PROTRUSION_END = 316 , PROTRUDING_PUNCTUATION = 317 , YYEMPTY = -2 ,
  YYEOF = 0 , YYerror = 256 , YYUNDEF = 257 , LANGUAGE = 258 ,
  VOWEL = 259 , PREFIX = 260 , SUFFIX = 261 , SECONDARY = 262 ,
  ALIAS = 263 , SEMICOLON = 264 , TO = 265 , NAME = 266 ,
  CHARACTERS = 267 , INVALID = 268 , keyword_class = 258 , keyword_module = 259 ,
  keyword_def = 260 , keyword_begin = 261 , keyword_if = 262 , keyword_unless = 263 ,
  keyword_while = 264 , keyword_until = 265 , keyword_for = 266 , keyword_undef = 267 ,
  keyword_rescue = 268 , keyword_ensure = 269 , keyword_end = 270 , keyword_then = 271 ,
  keyword_elsif = 272 , keyword_else = 273 , keyword_case = 274 , keyword_when = 275 ,
  keyword_break = 276 , keyword_next = 277 , keyword_redo = 278 , keyword_retry = 279 ,
  keyword_in = 280 , keyword_do = 281 , keyword_do_cond = 282 , keyword_do_block = 283 ,
  keyword_do_LAMBDA = 284 , keyword_return = 285 , keyword_yield = 286 , keyword_super = 287 ,
  keyword_self = 288 , keyword_nil = 289 , keyword_true = 290 , keyword_false = 291 ,
  keyword_and = 292 , keyword_or = 293 , keyword_not = 294 , modifier_if = 295 ,
  modifier_unless = 296 , modifier_while = 297 , modifier_until = 298 , modifier_rescue = 299 ,
  keyword_alias = 300 , keyword_BEGIN = 301 , keyword_END = 302 , keyword__LINE__ = 303 ,
  keyword__FILE__ = 304 , keyword__ENCODING__ = 305 , tIDENTIFIER = 306 , tFID = 307 ,
  tGVAR = 308 , tIVAR = 309 , tCONSTANT = 310 , tCVAR = 311 ,
  tLABEL_TAG = 312 , tINTEGER = 313 , tFLOAT = 314 , tCHAR = 315 ,
  tXSTRING = 316 , tREGEXP = 317 , tSTRING = 318 , tSTRING_PART = 319 ,
  tSTRING_MID = 320 , tNTH_REF = 321 , tBACK_REF = 322 , tREGEXP_END = 323 ,
  tNUMPARAM = 324 , tUPLUS = 325 , tUMINUS = 326 , tCMP = 327 ,
  tEQ = 328 , tEQQ = 329 , tNEQ = 330 , tGEQ = 331 ,
  tLEQ = 332 , tANDOP = 333 , tOROP = 334 , tMATCH = 335 ,
  tNMATCH = 336 , tDOT2 = 337 , tDOT3 = 338 , tBDOT2 = 339 ,
  tBDOT3 = 340 , tAREF = 341 , tASET = 342 , tLSHFT = 343 ,
  tRSHFT = 344 , tCOLON2 = 345 , tCOLON3 = 346 , tOP_ASGN = 347 ,
  tASSOC = 348 , tLPAREN = 349 , tLPAREN_ARG = 350 , tRPAREN = 351 ,
  tLBRACK = 352 , tLBRACE = 353 , tLBRACE_ARG = 354 , tSTAR = 355 ,
  tPOW = 356 , tDSTAR = 357 , tAMPER = 358 , tLAMBDA = 359 ,
  tANDDOT = 360 , tSYMBEG = 361 , tSTRING_BEG = 362 , tXSTRING_BEG = 363 ,
  tSTRING_DVAR = 364 , tREGEXP_BEG = 365 , tWORDS_BEG = 366 , tSYMBOLS_BEG = 367 ,
  tLAMBEG = 368 , tHEREDOC_BEG = 369 , tHEREDOC_END = 370 , tLITERAL_DELIM = 371 ,
  tHD_LITERAL_DELIM = 372 , tHD_STRING_PART = 373 , tHD_STRING_MID = 374 , tLOWEST = 375 ,
  tUMINUS_NUM = 376 , tLAST_TOKEN = 377 , array_tok = 258 , begin_tok = 259 ,
  case_tok = 260 , const_tok = 261 , do_tok = 262 , downto_tok = 263 ,
  else_tok = 264 , end_tok = 265 , file_tok = 266 , for_tok = 267 ,
  function_tok = 268 , goto_tok = 269 , if_tok = 270 , label_tok = 271 ,
  of_tok = 272 , procedure_tok = 273 , program_tok = 274 , record_tok = 275 ,
  repeat_tok = 276 , then_tok = 277 , to_tok = 278 , type_tok = 279 ,
  until_tok = 280 , var_tok = 281 , while_tok = 282 , noreturn_tok = 283 ,
  others_tok = 284 , r_num_tok = 285 , i_num_tok = 286 , string_literal_tok = 287 ,
  single_char_tok = 288 , assign_tok = 289 , two_dots_tok = 290 , undef_id_tok = 291 ,
  var_id_tok = 292 , proc_id_tok = 293 , proc_param_tok = 294 , fun_id_tok = 295 ,
  fun_param_tok = 296 , const_id_tok = 297 , type_id_tok = 298 , hhb0_tok = 299 ,
  hhb1_tok = 300 , field_id_tok = 301 , define_tok = 302 , field_tok = 303 ,
  break_tok = 304 , not_eq_tok = 305 , less_eq_tok = 306 , great_eq_tok = 307 ,
  or_tok = 308 , unary_plus_tok = 309 , unary_minus_tok = 310 , div_tok = 311 ,
  mod_tok = 312 , and_tok = 313 , not_tok = 314 , array_tok = 258 ,
  begin_tok = 259 , case_tok = 260 , const_tok = 261 , do_tok = 262 ,
  downto_tok = 263 , else_tok = 264 , end_tok = 265 , file_tok = 266 ,
  for_tok = 267 , function_tok = 268 , goto_tok = 269 , if_tok = 270 ,
  label_tok = 271 , of_tok = 272 , procedure_tok = 273 , program_tok = 274 ,
  record_tok = 275 , repeat_tok = 276 , then_tok = 277 , to_tok = 278 ,
  type_tok = 279 , until_tok = 280 , var_tok = 281 , while_tok = 282 ,
  noreturn_tok = 283 , others_tok = 284 , r_num_tok = 285 , i_num_tok = 286 ,
  string_literal_tok = 287 , single_char_tok = 288 , assign_tok = 289 , two_dots_tok = 290 ,
  undef_id_tok = 291 , var_id_tok = 292 , proc_id_tok = 293 , proc_param_tok = 294 ,
  fun_id_tok = 295 , fun_param_tok = 296 , const_id_tok = 297 , type_id_tok = 298 ,
  hhb0_tok = 299 , hhb1_tok = 300 , field_id_tok = 301 , define_tok = 302 ,
  field_tok = 303 , break_tok = 304 , not_eq_tok = 305 , less_eq_tok = 306 ,
  great_eq_tok = 307 , or_tok = 308 , unary_plus_tok = 309 , unary_minus_tok = 310 ,
  div_tok = 311 , mod_tok = 312 , and_tok = 313 , not_tok = 314
}
 

Functions

static int yyparse (parser_state *p)
 
static int yylex (void *lval, parser_state *p)
 
static void yyerror (parser_state *p, const char *s)
 
static void yywarn (parser_state *p, const char *s)
 
static void yywarning (parser_state *p, const char *s)
 
static void backref_error (parser_state *p, node *n)
 
static void void_expr_error (parser_state *p, node *n)
 
static void tokadd (parser_state *p, int32_t c)
 
static mrb_sym intern_cstr_gen (parser_state *p, const char *s)
 
static mrb_sym intern_gen (parser_state *p, const char *s, size_t len)
 
static void cons_free_gen (parser_state *p, node *cons)
 
static voidparser_palloc (parser_state *p, size_t size)
 
static nodecons_gen (parser_state *p, node *car, node *cdr)
 
static nodelist1_gen (parser_state *p, node *a)
 
static nodelist2_gen (parser_state *p, node *a, node *b)
 
static nodelist3_gen (parser_state *p, node *a, node *b, node *c)
 
static nodelist4_gen (parser_state *p, node *a, node *b, node *c, node *d)
 
static nodelist5_gen (parser_state *p, node *a, node *b, node *c, node *d, node *e)
 
static nodelist6_gen (parser_state *p, node *a, node *b, node *c, node *d, node *e, node *f)
 
static nodeappend_gen (parser_state *p, node *a, node *b)
 
static char * parser_strndup (parser_state *p, const char *s, size_t len)
 
static char * parser_strdup (parser_state *p, const char *s)
 
static void dump_int (uint16_t i, char *s)
 
static nodelocal_switch (parser_state *p)
 
static void local_resume (parser_state *p, node *prev)
 
static void local_nest (parser_state *p)
 
static void local_unnest (parser_state *p)
 
static mrb_bool local_var_p (parser_state *p, mrb_sym sym)
 
static void local_add_f (parser_state *p, mrb_sym sym)
 
static void local_add (parser_state *p, mrb_sym sym)
 
static void local_add_blk (parser_state *p, mrb_sym blk)
 
static void local_add_kw (parser_state *p, mrb_sym kwd)
 
static nodelocals_node (parser_state *p)
 
static void nvars_nest (parser_state *p)
 
static void nvars_block (parser_state *p)
 
static void nvars_unnest (parser_state *p)
 
static nodenew_scope (parser_state *p, node *body)
 
static nodenew_begin (parser_state *p, node *body)
 
static nodenew_rescue (parser_state *p, node *body, node *resq, node *els)
 
static nodenew_mod_rescue (parser_state *p, node *body, node *resq)
 
static nodenew_ensure (parser_state *p, node *a, node *b)
 
static nodenew_nil (parser_state *p)
 
static nodenew_true (parser_state *p)
 
static nodenew_false (parser_state *p)
 
static nodenew_alias (parser_state *p, mrb_sym a, mrb_sym b)
 
static nodenew_if (parser_state *p, node *a, node *b, node *c)
 
static nodenew_unless (parser_state *p, node *a, node *b, node *c)
 
static nodenew_while (parser_state *p, node *a, node *b)
 
static nodenew_until (parser_state *p, node *a, node *b)
 
static nodenew_for (parser_state *p, node *v, node *o, node *b)
 
static nodenew_case (parser_state *p, node *a, node *b)
 
static nodenew_postexe (parser_state *p, node *a)
 
static nodenew_self (parser_state *p)
 
static nodenew_call (parser_state *p, node *a, mrb_sym b, node *c, int pass)
 
static nodenew_fcall (parser_state *p, mrb_sym b, node *c)
 
static nodenew_super (parser_state *p, node *c)
 
static nodenew_zsuper (parser_state *p)
 
static nodenew_yield (parser_state *p, node *c)
 
static nodenew_return (parser_state *p, node *c)
 
static nodenew_break (parser_state *p, node *c)
 
static nodenew_next (parser_state *p, node *c)
 
static nodenew_redo (parser_state *p)
 
static nodenew_retry (parser_state *p)
 
static nodenew_dot2 (parser_state *p, node *a, node *b)
 
static nodenew_dot3 (parser_state *p, node *a, node *b)
 
static nodenew_colon2 (parser_state *p, node *b, mrb_sym c)
 
static nodenew_colon3 (parser_state *p, mrb_sym c)
 
static nodenew_and (parser_state *p, node *a, node *b)
 
static nodenew_or (parser_state *p, node *a, node *b)
 
static nodenew_array (parser_state *p, node *a)
 
static nodenew_splat (parser_state *p, node *a)
 
static nodenew_hash (parser_state *p, node *a)
 
static nodenew_kw_hash (parser_state *p, node *a)
 
static nodenew_sym (parser_state *p, mrb_sym sym)
 
static mrb_sym new_strsym (parser_state *p, node *str)
 
static nodenew_lvar (parser_state *p, mrb_sym sym)
 
static nodenew_gvar (parser_state *p, mrb_sym sym)
 
static nodenew_ivar (parser_state *p, mrb_sym sym)
 
static nodenew_cvar (parser_state *p, mrb_sym sym)
 
static nodenew_nvar (parser_state *p, int num)
 
static nodenew_const (parser_state *p, mrb_sym sym)
 
static nodenew_undef (parser_state *p, mrb_sym sym)
 
static nodenew_class (parser_state *p, node *c, node *s, node *b)
 
static nodenew_sclass (parser_state *p, node *o, node *b)
 
static nodenew_module (parser_state *p, node *m, node *b)
 
static nodenew_def (parser_state *p, mrb_sym m, node *a, node *b)
 
static void defn_setup (parser_state *p, node *d, node *a, node *b)
 
static nodenew_sdef (parser_state *p, node *o, mrb_sym m, node *a, node *b)
 
static void defs_setup (parser_state *p, node *d, node *a, node *b)
 
static nodenew_arg (parser_state *p, mrb_sym sym)
 
static void local_add_margs (parser_state *p, node *n)
 
static void local_add_lv (parser_state *p, node *lv)
 
static nodenew_args (parser_state *p, node *m, node *opt, mrb_sym rest, node *m2, node *tail)
 
static nodenew_args_tail (parser_state *p, node *kws, node *kwrest, mrb_sym blk)
 
static nodenew_kw_arg (parser_state *p, mrb_sym kw, node *def_arg)
 
static nodenew_kw_rest_args (parser_state *p, node *a)
 
static nodenew_block_arg (parser_state *p, node *a)
 
static nodesetup_numparams (parser_state *p, node *a)
 
static nodenew_block (parser_state *p, node *a, node *b)
 
static nodenew_lambda (parser_state *p, node *a, node *b)
 
static nodenew_asgn (parser_state *p, node *a, node *b)
 
static nodenew_masgn (parser_state *p, node *a, node *b)
 
static nodenew_masgn_param (parser_state *p, node *a, node *b)
 
static nodenew_op_asgn (parser_state *p, node *a, mrb_sym op, node *b)
 
static nodenew_imaginary (parser_state *p, node *imaginary)
 
static nodenew_rational (parser_state *p, node *rational)
 
static nodenew_int (parser_state *p, const char *s, int base, int suffix)
 
static nodenew_float (parser_state *p, const char *s, int suffix)
 
static nodenew_str (parser_state *p, const char *s, size_t len)
 
static nodenew_dstr (parser_state *p, node *a)
 
static int string_node_p (node *n)
 
static nodecomposite_string_node (parser_state *p, node *a, node *b)
 
static nodeconcat_string (parser_state *p, node *a, node *b)
 
static nodenew_xstr (parser_state *p, const char *s, int len)
 
static nodenew_dxstr (parser_state *p, node *a)
 
static nodenew_dsym (parser_state *p, node *a)
 
static nodenew_regx (parser_state *p, const char *p1, const char *p2, const char *p3)
 
static nodenew_dregx (parser_state *p, node *a, node *b)
 
static nodenew_back_ref (parser_state *p, int n)
 
static nodenew_nth_ref (parser_state *p, int n)
 
static nodenew_heredoc (parser_state *p)
 
static void new_bv (parser_state *p, mrb_sym id)
 
static nodenew_literal_delim (parser_state *p)
 
static nodenew_words (parser_state *p, node *a)
 
static nodenew_symbols (parser_state *p, node *a)
 
static nodecall_uni_op (parser_state *p, node *recv, const char *m)
 
static nodecall_bin_op (parser_state *p, node *recv, const char *m, node *arg1)
 
static void args_with_block (parser_state *p, node *a, node *b)
 
static void call_with_block (parser_state *p, node *a, node *b)
 
static nodenegate_lit (parser_state *p, node *n)
 
static nodecond (node *n)
 
static noderet_args (parser_state *p, node *n)
 
static void assignable (parser_state *p, node *lhs)
 
static nodevar_reference (parser_state *p, node *lhs)
 
static nodenew_strterm (parser_state *p, string_type type, int term, int paren)
 
static void end_strterm (parser_state *p)
 
static parser_heredoc_infoparsing_heredoc_inf (parser_state *p)
 
static void heredoc_treat_nextline (parser_state *p)
 
static void heredoc_end (parser_state *p)
 
static ptrdiff_t yystrlen (const char *yystr)
 
static char * yystpcpy (char *yydest, const char *yysrc)
 
static ptrdiff_t yytnamerr (char *yyres, const char *yystr)
 
static int yysyntax_error (ptrdiff_t *yymsg_alloc, char **yymsg, yy_state_t *yyssp, int yytoken)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_state *p)
 
static void yyerror_c (parser_state *p, const char *msg, char c)
 
static void yywarning_s (parser_state *p, const char *msg, const char *s)
 
static void pushback (parser_state *p, int c)
 
static mrb_bool peeks (parser_state *p, const char *s)
 
static mrb_bool skips (parser_state *p, const char *s)
 
static int nextc0 (parser_state *p)
 
static int nextc (parser_state *p)
 
static void skip (parser_state *p, char term)
 
static int peekc_n (parser_state *p, int n)
 
static mrb_bool peek_n (parser_state *p, int c, int n)
 
static int newtok (parser_state *p)
 
static int toklast (parser_state *p)
 
static void tokfix (parser_state *p)
 
static const char * tok (parser_state *p)
 
static int toklen (parser_state *p)
 
static int32_t scan_oct (const int *start, int len, int *retlen)
 
static int32_t scan_hex (parser_state *p, const int *start, int len, int *retlen)
 
static int32_t read_escape_unicode (parser_state *p, int limit)
 
static int32_t read_escape (parser_state *p)
 
static void heredoc_count_indent (parser_heredoc_info *hinf, const char *str, size_t len, size_t spaces, size_t *offset)
 
static void heredoc_remove_indent (parser_state *p, parser_heredoc_info *hinf)
 
static void heredoc_push_indented (parser_state *p, parser_heredoc_info *hinf, node *pair, node *escaped, node *nspaces, mrb_bool empty_line)
 
static int parse_string (parser_state *p)
 
static int number_literal_suffix (parser_state *p)
 
static int heredoc_identifier (parser_state *p)
 
static int arg_ambiguous (parser_state *p)
 
static int parser_yylex (parser_state *p)
 
static void parser_init_cxt (parser_state *p, mrbc_context *cxt)
 
static void parser_update_cxt (parser_state *p, mrbc_context *cxt)
 
void mrb_codedump_all (mrb_state *, struct RProc *)
 
void mrb_parser_dump (mrb_state *mrb, node *tree, int offset)
 
void mrb_parser_parse (parser_state *p, mrbc_context *c)
 
parser_statemrb_parser_new (mrb_state *mrb)
 
void mrb_parser_free (parser_state *p)
 
mrbc_contextmrbc_context_new (mrb_state *mrb)
 
void mrbc_context_free (mrb_state *mrb, mrbc_context *cxt)
 
const char * mrbc_filename (mrb_state *mrb, mrbc_context *c, const char *s)
 
void mrbc_partial_hook (mrb_state *mrb, mrbc_context *c, int(*func)(struct mrb_parser_state *), void *data)
 
void mrbc_cleanup_local_variables (mrb_state *mrb, mrbc_context *c)
 
void mrb_parser_set_filename (struct mrb_parser_state *p, const char *f)
 
mrb_sym mrb_parser_get_filename (struct mrb_parser_state *p, uint16_t idx)
 
static struct mrb_parser_statemrb_parse_file_continue (mrb_state *mrb, FILE *f, const void *prebuf, size_t prebufsize, mrbc_context *c)
 
parser_statemrb_parse_file (mrb_state *mrb, FILE *f, mrbc_context *c)
 
parser_statemrb_parse_nstring (mrb_state *mrb, const char *s, size_t len, mrbc_context *c)
 
parser_statemrb_parse_string (mrb_state *mrb, const char *s, mrbc_context *c)
 
mrb_value mrb_load_exec (mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c)
 
mrb_value mrb_load_file_cxt (mrb_state *mrb, FILE *f, mrbc_context *c)
 
mrb_value mrb_load_file (mrb_state *mrb, FILE *f)
 
mrb_value mrb_load_detect_file_cxt (mrb_state *mrb, FILE *fp, mrbc_context *c)
 
mrb_value mrb_load_nstring_cxt (mrb_state *mrb, const char *s, size_t len, mrbc_context *c)
 
mrb_value mrb_load_nstring (mrb_state *mrb, const char *s, size_t len)
 
mrb_value mrb_load_string_cxt (mrb_state *mrb, const char *s, mrbc_context *c)
 
mrb_value mrb_load_string (mrb_state *mrb, const char *s)
 
static void dump_prefix (node *tree, int offset)
 
static void dump_recur (mrb_state *mrb, node *tree, int offset)
 
static void dump_args (mrb_state *mrb, node *n, int offset)
 
static const char * str_dump (mrb_state *mrb, const char *str, int len)
 

Variables

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

Macro Definition Documentation

◆ append

#define append (   a,
  b 
)    append_gen(p,(a),(b))

Definition at line 257 of file y.tab.c.

◆ BITSTACK_LEXPOP

#define BITSTACK_LEXPOP (   stack)    ((stack) = ((stack) >> 1) | ((stack) & 1))

Definition at line 112 of file y.tab.c.

◆ BITSTACK_POP

#define BITSTACK_POP (   stack)    ((stack) = (stack) >> 1)

Definition at line 111 of file y.tab.c.

◆ BITSTACK_PUSH

#define BITSTACK_PUSH (   stack,
  n 
)    ((stack) = ((stack)<<1)|((n)&1))

Definition at line 110 of file y.tab.c.

◆ BITSTACK_SET_P

#define BITSTACK_SET_P (   stack)    ((stack)&1)

Definition at line 113 of file y.tab.c.

◆ CMDARG_LEXPOP

#define CMDARG_LEXPOP ( )    BITSTACK_LEXPOP(p->cmdarg_stack)

Definition at line 122 of file y.tab.c.

◆ CMDARG_P

#define CMDARG_P ( )    BITSTACK_SET_P(p->cmdarg_stack)

Definition at line 123 of file y.tab.c.

◆ CMDARG_POP

#define CMDARG_POP ( )    BITSTACK_POP(p->cmdarg_stack)

Definition at line 121 of file y.tab.c.

◆ CMDARG_PUSH

#define CMDARG_PUSH (   n)    BITSTACK_PUSH(p->cmdarg_stack, (n))

Definition at line 120 of file y.tab.c.

◆ COND_LEXPOP

#define COND_LEXPOP ( )    BITSTACK_LEXPOP(p->cond_stack)

Definition at line 117 of file y.tab.c.

◆ COND_P

#define COND_P ( )    BITSTACK_SET_P(p->cond_stack)

Definition at line 118 of file y.tab.c.

◆ COND_POP

#define COND_POP ( )    BITSTACK_POP(p->cond_stack)

Definition at line 116 of file y.tab.c.

◆ COND_PUSH

#define COND_PUSH (   n)    BITSTACK_PUSH(p->cond_stack, (n))

Definition at line 115 of file y.tab.c.

◆ cons

#define cons (   a,
  b 
)    cons_gen(p,(a),(b))

Definition at line 200 of file y.tab.c.

◆ cons_free

#define cons_free (   c)    cons_free_gen(p, (c))

Definition at line 164 of file y.tab.c.

◆ DETECT_SIZE

#define DETECT_SIZE   64

Definition at line 12859 of file y.tab.c.

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

Definition at line 1824 of file y.tab.c.

◆ identchar

#define identchar (   c)    (ISALNUM(c) || (c) == '_' || !ISASCII(c))

Definition at line 106 of file y.tab.c.

◆ intern

#define intern (   s,
  len 
)    intern_gen(p,(s),(len))

Definition at line 154 of file y.tab.c.

◆ intern_cstr

#define intern_cstr (   s)    intern_cstr_gen(p,(s))

Definition at line 147 of file y.tab.c.

◆ intern_op

#define intern_op (   op)    MRB_OPSYM_2(p->mrb, op)

Definition at line 156 of file y.tab.c.

◆ intn

#define intn (   x)    ((int)(intptr_t)(x))

Definition at line 136 of file y.tab.c.

◆ IS_ARG

#define IS_ARG ( )    (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)

Definition at line 10467 of file y.tab.c.

◆ IS_BEG

#define IS_BEG ( )    (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)

Definition at line 10469 of file y.tab.c.

◆ IS_END

#define IS_END ( )    (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)

Definition at line 10468 of file y.tab.c.

◆ IS_LABEL_POSSIBLE

#define IS_LABEL_POSSIBLE ( )    ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())

Definition at line 10471 of file y.tab.c.

◆ IS_LABEL_SUFFIX

#define IS_LABEL_SUFFIX (   n)    (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))

Definition at line 10472 of file y.tab.c.

◆ IS_SPCARG

#define IS_SPCARG (   c)    (IS_ARG() && space_seen && !ISSPACE(c))

Definition at line 10470 of file y.tab.c.

◆ is_strterm_type

#define is_strterm_type (   p,
  str_func 
)    (intn((p)->lex_strterm->car) & (str_func))

Definition at line 1431 of file y.tab.c.

◆ list1

#define list1 (   a)    list1_gen(p, (a))

Definition at line 207 of file y.tab.c.

◆ list2

#define list2 (   a,
  b 
)    list2_gen(p, (a),(b))

Definition at line 214 of file y.tab.c.

◆ list3

#define list3 (   a,
  b,
  c 
)    list3_gen(p, (a),(b),(c))

Definition at line 221 of file y.tab.c.

◆ list4

#define list4 (   a,
  b,
  c,
  d 
)    list4_gen(p, (a),(b),(c),(d))

Definition at line 228 of file y.tab.c.

◆ list5

#define list5 (   a,
  b,
  c,
  d,
  e 
)    list5_gen(p, (a),(b),(c),(d),(e))

Definition at line 235 of file y.tab.c.

◆ list6

#define list6 (   a,
  b,
  c,
  d,
  e,
  f 
)    list6_gen(p, (a),(b),(c),(d),(e),(f))

Definition at line 242 of file y.tab.c.

◆ newline_node

#define newline_node (   n)    (n)

Definition at line 433 of file y.tab.c.

◆ nint

#define nint (   x)    ((node*)(intptr_t)(x))

Definition at line 135 of file y.tab.c.

◆ no_digits

#define no_digits ( )    do {yyerror(p,"numeric literal without digits"); return 0;} while (0)

◆ NODE_LINENO

#define NODE_LINENO (   c,
  n 
)
Value:
do {\
if (n) {\
(c)->filename_index = (n)->filename_index;\
(c)->lineno = (n)->lineno;\
}\
} while (0)
static int lineno
Definition: aftopl.c:19
#define n
Definition: t4ht.c:1290
#define c(n)
Definition: gpos-common.c:150

Definition at line 126 of file y.tab.c.

◆ nsym

#define nsym (   x)    ((node*)(intptr_t)(x))

Definition at line 134 of file y.tab.c.

◆ NUM_SUFFIX_I

#define NUM_SUFFIX_I   (1<<1)

Definition at line 140 of file y.tab.c.

◆ NUM_SUFFIX_R

#define NUM_SUFFIX_R   (1<<0)

Definition at line 139 of file y.tab.c.

◆ peek

#define peek (   p,
  c 
)    peek_n((p), (c), 0)

Definition at line 10311 of file y.tab.c.

◆ push

#define push (   a,
  b 
)    append_gen(p,(a),list1(b))

Definition at line 258 of file y.tab.c.

◆ pylval

#define pylval   (*((YYSTYPE*)(p->ylval)))

Definition at line 10061 of file y.tab.c.

◆ SET_LINENO

#define SET_LINENO (   c,
  n 
)    ((c)->lineno = (n))

Definition at line 125 of file y.tab.c.

◆ strdup

#define strdup (   s)    parser_strdup(p, s)

Definition at line 278 of file y.tab.c.

◆ strndup

#define strndup (   s,
  len 
)    parser_strndup(p, s, len)

Definition at line 270 of file y.tab.c.

◆ sym

#define sym (   x)    ((mrb_sym)(intptr_t)(x))

Definition at line 133 of file y.tab.c.

◆ typen

#define typen (   x)    ((enum node_type)(intptr_t)(x))

Definition at line 137 of file y.tab.c.

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 1742 of file y.tab.c.

◆ YY_ASSERT

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

Definition at line 1801 of file y.tab.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 1750 of file y.tab.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 1758 of file y.tab.c.

◆ YY_CAST

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

Definition at line 1443 of file y.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 1781 of file y.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 1782 of file y.tab.c.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 1796 of file y.tab.c.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 1797 of file y.tab.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 1778 of file y.tab.c.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 1455 of file y.tab.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 5386 of file y.tab.c.

◆ YY_REINTERPRET_CAST

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

Definition at line 1444 of file y.tab.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 5385 of file y.tab.c.

◆ YY_SYMBOL_PRINT

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

Definition at line 5384 of file y.tab.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 5228 of file y.tab.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 5227 of file y.tab.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (p, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
Token
Definition: Resource.c:89
#define yychar
small capitals from c petite p
Definition: afcover.h:72
HBUINT16 Value
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d &reg2 endm macro vzip8 reg2 vzip d d &reg2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
#define YY_(Msgid)
Definition: y.tab.c:1742
#define YYEMPTY
Definition: y.tab.c:5224

Definition at line 5234 of file y.tab.c.

◆ YYBISON

#define YYBISON   1

Definition at line 48 of file y.tab.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.5.1"

Definition at line 51 of file y.tab.c.

◆ YYCASE_

#define YYCASE_ (   N,
  S 
)
Value:
case N: \
yyformat = S; \
break
long unsigned N
Definition: tex4ht.c:2765
@ S
Definition: ubidiimp.h:53

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 5223 of file y.tab.c.

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
i32 Count[10]
Definition: dvibook.c:121
#define Dst
Definition: buildvm.c:39

Definition at line 1919 of file y.tab.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 1891 of file y.tab.c.

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 1470 of file y.tab.c.

◆ YYDPRINTF

#define YYDPRINTF (   Args)

Definition at line 5383 of file y.tab.c.

◆ YYEMPTY

#define YYEMPTY   (-2)

Definition at line 5224 of file y.tab.c.

◆ YYEOF

#define YYEOF   0

Definition at line 5225 of file y.tab.c.

◆ YYERRCODE

#define YYERRCODE   256

Definition at line 5253 of file y.tab.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 5222 of file y.tab.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 5229 of file y.tab.c.

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   1

Definition at line 1464 of file y.tab.c.

◆ YYFINAL

#define YYFINAL   3

Definition at line 1932 of file y.tab.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 5392 of file y.tab.c.

◆ YYLAST

#define YYLAST   12618

Definition at line 1934 of file y.tab.c.

◆ YYLEX_PARAM

#define YYLEX_PARAM   p

Definition at line 91 of file y.tab.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 5403 of file y.tab.c.

◆ YYMAXUTOK

#define YYMAXUTOK   377

Definition at line 1946 of file y.tab.c.

◆ YYNNTS

#define YYNNTS   176

Definition at line 1939 of file y.tab.c.

◆ YYNRULES

#define YYNRULES   605

Definition at line 1941 of file y.tab.c.

◆ YYNSTATES

#define YYNSTATES   1061

Definition at line 1943 of file y.tab.c.

◆ YYNTOKENS

#define YYNTOKENS   149

Definition at line 1937 of file y.tab.c.

◆ YYPACT_NINF

#define YYPACT_NINF   (-838)

Definition at line 2158 of file y.tab.c.

◆ yypact_value_is_default

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

Definition at line 2160 of file y.tab.c.

◆ YYPOPSTACK

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   PTRDIFF_MAX

Definition at line 1700 of file y.tab.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   ptrdiff_t

Definition at line 1699 of file y.tab.c.

◆ YYPULL

#define YYPULL   1

Definition at line 63 of file y.tab.c.

◆ YYPURE

#define YYPURE   1

Definition at line 57 of file y.tab.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 60 of file y.tab.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 5232 of file y.tab.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
Definition: y.tab.c:1700
#define YY_CAST(Type, Val)
Definition: y.tab.c:1443
#define YYSIZE_T
Definition: y.tab.c:1716
#define YYPTRDIFF_T
Definition: y.tab.c:1699

Definition at line 1720 of file y.tab.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 1716 of file y.tab.c.

◆ YYSIZEOF

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

Definition at line 1726 of file y.tab.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 54 of file y.tab.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   alloca

Definition at line 1819 of file y.tab.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   4032 /* reasonable circa 2006 */

Definition at line 1839 of file y.tab.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
yytype_uint8 yy_state_t
Definition: sh.h:1317
#define YYSIZEOF(X)
Definition: y.tab.c:1726
#define YYSTACK_GAP_MAXIMUM
Definition: y.tab.c:1883

Definition at line 1887 of file y.tab.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE (   Ptr)    do { /* empty */; } while (0)

Definition at line 1833 of file y.tab.c.

◆ YYSTACK_GAP_MAXIMUM

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

Definition at line 1883 of file y.tab.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: Utility.h:71

Definition at line 1898 of file y.tab.c.

◆ YYSTACK_USE_ALLOCA

#define YYSTACK_USE_ALLOCA   1

Definition at line 75 of file y.tab.c.

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

Definition at line 1621 of file y.tab.c.

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 1620 of file y.tab.c.

◆ YYSYNTAX_ERROR

#define YYSYNTAX_ERROR
Value:
yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
static int yysyntax_error(ptrdiff_t *yymsg_alloc, char **yymsg, yy_state_t *yyssp, int yytoken)
Definition: y.tab.c:5505

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-606)

Definition at line 2163 of file y.tab.c.

◆ yytable_value_is_error

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

Definition at line 2165 of file y.tab.c.

◆ YYTERROR

#define YYTERROR   1

Definition at line 5252 of file y.tab.c.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 1478 of file y.tab.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)     (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 1951 of file y.tab.c.

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

Definition at line 1945 of file y.tab.c.

◆ YYUSE

#define YYUSE (   E)    ((void) (E))

Definition at line 1764 of file y.tab.c.

Typedef Documentation

◆ node

typedef mrb_ast_node node

Definition at line 93 of file y.tab.c.

◆ parser_heredoc_info

Definition at line 93 of file y.tab.c.

◆ parser_state

Definition at line 93 of file y.tab.c.

◆ stack_type

typedef unsigned int stack_type

Definition at line 108 of file y.tab.c.

◆ string_type

Definition at line 1329 of file y.tab.c.

◆ yy_state_fast_t

Definition at line 1732 of file y.tab.c.

◆ yy_state_t

Definition at line 1729 of file y.tab.c.

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 1417 of file y.tab.c.

◆ yytype_int16

typedef short yytype_int16

Definition at line 1666 of file y.tab.c.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 1658 of file y.tab.c.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 1686 of file y.tab.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 1675 of file y.tab.c.

Enumeration Type Documentation

◆ yytokentype

Enumerator
LEFT 
RIGHT 
NUMBER 
FIX 
COMMENT 
CHECKSUM 
DESIGNSIZE 
DESIGNUNITS 
CODINGSCHEME 
FAMILY 
FACE 
SEVENBITSAFEFLAG 
HEADER 
FONTDIMEN 
LIGTABLE 
BOUNDARYCHAR 
CHARACTER 
NAMEDPARAMETER 
PARAMETER 
CHARMEASURE 
NEXTLARGER 
VARCHAR 
EXTEN 
LABEL 
LIG 
KRN 
STOP 
SKIP 
VTITLE 
MAPFONT 
FONTNAME 
FONTAREA 
FONTCHECKSUM 
FONTAT 
FONTDSIZE 
MAP 
SELECTFONT 
SETCHAR 
SETRULE 
MOVE 
PUSH 
POP 
SPECIAL 
SPECIALHEX 
CHARREPEAT 
FONTIVALUE 
FONTFVALUE 
FONTMVALUE 
FONTPENALTY 
FONTRULE 
FONTGLUE 
CLABEL 
CKRN 
CGLUE 
CPENALTY 
CPENGLUE 
CHARIVALUE 
CHARFVALUE 
CHARMVALUE 
CHARPENALTY 
CHARRULE 
CHARGLUE 
IVALUE 
IVALUEVAL 
MVALUE 
MVALUEVAL 
FVALUE 
FVALUEVAL 
PENALTY 
PENALTYVAL 
RULE 
RULEMEASURE 
GLUE 
GLUEWD 
GLUETYPE 
GLUEKIND 
GLUERULE 
GLUECHAR 
GLUESHRINKSTRETCH 
GLUEORDER 
OFMLEVEL 
FONTDIR 
ACCENT 
NUMBER 
ID 
STRING 
LEFTARROW 
RIGHTARROW 
MYINPUT 
OUTPUT 
ALIASES 
STATES 
TABLES 
EXPRESSIONS 
PUSH 
POP 
DIV 
MOD 
BEG 
END 
NUMBER 
ID 
STRING 
LEFTARROW 
RIGHTARROW 
MYINPUT 
OUTPUT 
ALIASES 
STATES 
TABLES 
EXPRESSIONS 
PUSH 
POP 
DIV 
MOD 
BEG 
END 
array_tok 
begin_tok 
case_tok 
const_tok 
do_tok 
downto_tok 
else_tok 
end_tok 
file_tok 
for_tok 
function_tok 
goto_tok 
if_tok 
label_tok 
of_tok 
procedure_tok 
program_tok 
record_tok 
repeat_tok 
then_tok 
to_tok 
type_tok 
until_tok 
var_tok 
while_tok 
noreturn_tok 
others_tok 
r_num_tok 
i_num_tok 
string_literal_tok 
single_char_tok 
assign_tok 
two_dots_tok 
undef_id_tok 
var_id_tok 
proc_id_tok 
proc_param_tok 
fun_id_tok 
fun_param_tok 
const_id_tok 
type_id_tok 
hhb0_tok 
hhb1_tok 
field_id_tok 
define_tok 
field_tok 
break_tok 
not_eq_tok 
less_eq_tok 
great_eq_tok 
or_tok 
unary_plus_tok 
unary_minus_tok 
div_tok 
mod_tok 
and_tok 
not_tok 
array_tok 
begin_tok 
case_tok 
const_tok 
do_tok 
downto_tok 
else_tok 
end_tok 
file_tok 
for_tok 
function_tok 
goto_tok 
if_tok 
label_tok 
of_tok 
procedure_tok 
program_tok 
record_tok 
repeat_tok 
then_tok 
to_tok 
type_tok 
until_tok 
var_tok 
while_tok 
noreturn_tok 
others_tok 
r_num_tok 
i_num_tok 
string_literal_tok 
single_char_tok 
assign_tok 
two_dots_tok 
undef_id_tok 
var_id_tok 
proc_id_tok 
proc_param_tok 
fun_id_tok 
fun_param_tok 
const_id_tok 
type_id_tok 
hhb0_tok 
hhb1_tok 
field_id_tok 
define_tok 
field_tok 
break_tok 
not_eq_tok 
less_eq_tok 
great_eq_tok 
or_tok 
unary_plus_tok 
unary_minus_tok 
div_tok 
mod_tok 
and_tok 
not_tok 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
NAME 
AUTHOR 
GABC_COPYRIGHT 
SCORE_COPYRIGHT 
LANGUAGE 
STAFF_LINES 
ORISCUS_ORIENTATION 
DEF_MACRO 
OTHER_HEADER 
ANNOTATION 
MODE 
MODE_MODIFIER 
MODE_DIFFERENTIA 
END_OF_DEFINITIONS 
END_OF_FILE 
COLON 
SEMICOLON 
CHARACTERS 
NOTES 
HYPHEN 
ATTRIBUTE 
OPENING_BRACKET 
CLOSING_BRACKET 
CLOSING_BRACKET_WITH_SPACE 
I_BEGIN 
I_END 
TT_BEGIN 
TT_END 
UL_BEGIN 
UL_END 
C_BEGIN 
C_END 
B_BEGIN 
B_END 
SC_BEGIN 
SC_END 
SP_BEGIN 
SP_END 
VERB_BEGIN 
VERB_END 
CENTER_BEGIN 
CENTER_END 
ELISION_BEGIN 
ELISION_END 
TRANSLATION_BEGIN 
TRANSLATION_END 
TRANSLATION_CENTER_END 
ALT_BEGIN 
ALT_END 
NLBA_B 
NLBA_E 
EUOUAE_B 
EUOUAE_E 
NABC_CUT 
NABC_LINES 
CLEAR 
PROTRUSION 
PROTRUSION_VALUE 
PROTRUSION_END 
PROTRUDING_PUNCTUATION 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
LANGUAGE 
VOWEL 
PREFIX 
SUFFIX 
SECONDARY 
ALIAS 
SEMICOLON 
TO 
NAME 
CHARACTERS 
INVALID 
keyword_class 
keyword_module 
keyword_def 
keyword_begin 
keyword_if 
keyword_unless 
keyword_while 
keyword_until 
keyword_for 
keyword_undef 
keyword_rescue 
keyword_ensure 
keyword_end 
keyword_then 
keyword_elsif 
keyword_else 
keyword_case 
keyword_when 
keyword_break 
keyword_next 
keyword_redo 
keyword_retry 
keyword_in 
keyword_do 
keyword_do_cond 
keyword_do_block 
keyword_do_LAMBDA 
keyword_return 
keyword_yield 
keyword_super 
keyword_self 
keyword_nil 
keyword_true 
keyword_false 
keyword_and 
keyword_or 
keyword_not 
modifier_if 
modifier_unless 
modifier_while 
modifier_until 
modifier_rescue 
keyword_alias 
keyword_BEGIN 
keyword_END 
keyword__LINE__ 
keyword__FILE__ 
keyword__ENCODING__ 
tIDENTIFIER 
tFID 
tGVAR 
tIVAR 
tCONSTANT 
tCVAR 
tLABEL_TAG 
tINTEGER 
tFLOAT 
tCHAR 
tXSTRING 
tREGEXP 
tSTRING 
tSTRING_PART 
tSTRING_MID 
tNTH_REF 
tBACK_REF 
tREGEXP_END 
tNUMPARAM 
tUPLUS 
tUMINUS 
tCMP 
tEQ 
tEQQ 
tNEQ 
tGEQ 
tLEQ 
tANDOP 
tOROP 
tMATCH 
tNMATCH 
tDOT2 
tDOT3 
tBDOT2 
tBDOT3 
tAREF 
tASET 
tLSHFT 
tRSHFT 
tCOLON2 
tCOLON3 
tOP_ASGN 
tASSOC 
tLPAREN 
tLPAREN_ARG 
tRPAREN 
tLBRACK 
tLBRACE 
tLBRACE_ARG 
tSTAR 
tPOW 
tDSTAR 
tAMPER 
tLAMBDA 
tANDDOT 
tSYMBEG 
tSTRING_BEG 
tXSTRING_BEG 
tSTRING_DVAR 
tREGEXP_BEG 
tWORDS_BEG 
tSYMBOLS_BEG 
tLAMBEG 
tHEREDOC_BEG 
tHEREDOC_END 
tLITERAL_DELIM 
tHD_LITERAL_DELIM 
tHD_STRING_PART 
tHD_STRING_MID 
tLOWEST 
tUMINUS_NUM 
tLAST_TOKEN 
array_tok 
begin_tok 
case_tok 
const_tok 
do_tok 
downto_tok 
else_tok 
end_tok 
file_tok 
for_tok 
function_tok 
goto_tok 
if_tok 
label_tok 
of_tok 
procedure_tok 
program_tok 
record_tok 
repeat_tok 
then_tok 
to_tok 
type_tok 
until_tok 
var_tok 
while_tok 
noreturn_tok 
others_tok 
r_num_tok 
i_num_tok 
string_literal_tok 
single_char_tok 
assign_tok 
two_dots_tok 
undef_id_tok 
var_id_tok 
proc_id_tok 
proc_param_tok 
fun_id_tok 
fun_param_tok 
const_id_tok 
type_id_tok 
hhb0_tok 
hhb1_tok 
field_id_tok 
define_tok 
field_tok 
break_tok 
not_eq_tok 
less_eq_tok 
great_eq_tok 
or_tok 
unary_plus_tok 
unary_minus_tok 
div_tok 
mod_tok 
and_tok 
not_tok 
array_tok 
begin_tok 
case_tok 
const_tok 
do_tok 
downto_tok 
else_tok 
end_tok 
file_tok 
for_tok 
function_tok 
goto_tok 
if_tok 
label_tok 
of_tok 
procedure_tok 
program_tok 
record_tok 
repeat_tok 
then_tok 
to_tok 
type_tok 
until_tok 
var_tok 
while_tok 
noreturn_tok 
others_tok 
r_num_tok 
i_num_tok 
string_literal_tok 
single_char_tok 
assign_tok 
two_dots_tok 
undef_id_tok 
var_id_tok 
proc_id_tok 
proc_param_tok 
fun_id_tok 
fun_param_tok 
const_id_tok 
type_id_tok 
hhb0_tok 
hhb1_tok 
field_id_tok 
define_tok 
field_tok 
break_tok 
not_eq_tok 
less_eq_tok 
great_eq_tok 
or_tok 
unary_plus_tok 
unary_minus_tok 
div_tok 
mod_tok 
and_tok 
not_tok 

Definition at line 1479 of file y.tab.c.

Function Documentation

◆ append_gen()

static node* append_gen ( parser_state p,
node a,
node b 
)
static

Definition at line 245 of file y.tab.c.

References a, b, and c.

◆ arg_ambiguous()

static int arg_ambiguous ( parser_state p)
static

Definition at line 11147 of file y.tab.c.

References p, and yywarning().

Referenced by parser_yylex().

◆ args_with_block()

static void args_with_block ( parser_state p,
node a,
node b 
)
static

Definition at line 1260 of file y.tab.c.

References a, b, p, and yyerror().

Referenced by call_with_block(), and yyparse().

◆ assignable()

static void assignable ( parser_state p,
node lhs 
)
static

Definition at line 1321 of file y.tab.c.

References mrb_ast_node::car, mrb_ast_node::cdr, intn, local_add(), NODE_LVAR, p, and sym.

Referenced by yyparse().

◆ backref_error()

static void backref_error ( parser_state p,
node n 
)
static

Definition at line 10149 of file y.tab.c.

References c, intn, mrb_bug(), n, NODE_BACK_REF, NODE_NTH_REF, p, and yyerror_c().

Referenced by yyparse().

◆ call_bin_op()

static node* call_bin_op ( parser_state p,
node recv,
const char *  m,
node arg1 
)
static

Definition at line 1254 of file y.tab.c.

References arg1, intern_cstr, list1, m, new_call(), and p.

Referenced by yyparse().

◆ call_uni_op()

static node* call_uni_op ( parser_state p,
node recv,
const char *  m 
)
static

Definition at line 1246 of file y.tab.c.

References intern_cstr, m, new_call(), p, and void_expr_error().

Referenced by yyparse().

◆ call_with_block()

static void call_with_block ( parser_state p,
node a,
node b 
)
static

Definition at line 1271 of file y.tab.c.

References a, args_with_block(), b, cons, n, NODE_CALL, NODE_FCALL, NODE_SCALL, NODE_SUPER, NODE_ZSUPER, p, and typen.

Referenced by yyparse().

◆ composite_string_node()

static node* composite_string_node ( parser_state p,
node a,
node b 
)
static

Definition at line 1087 of file y.tab.c.

References a, b, cons_free, memcpy, mrb_pool_realloc(), p, size_t, and str.

Referenced by concat_string().

◆ concat_string()

static node* concat_string ( parser_state p,
node a,
node b 
)
static

Definition at line 1100 of file y.tab.c.

References a, b, c, composite_string_node(), cons_free, d, list2, new_dstr(), NULL, p, push, and string_node_p().

Referenced by yyparse().

◆ cond()

static node* cond ( node n)
static

Definition at line 1304 of file y.tab.c.

References n.

Referenced by yyparse().

◆ cons_free_gen()

static void cons_free_gen ( parser_state p,
node cons 
)
static

Definition at line 159 of file y.tab.c.

References cons, and p.

◆ cons_gen()

static node* cons_gen ( parser_state p,
node car,
node cdr 
)
static

Definition at line 178 of file y.tab.c.

References c, car, p, and parser_palloc().

◆ defn_setup()

static void defn_setup ( parser_state p,
node d,
node a,
node b 
)
static

Definition at line 805 of file y.tab.c.

References a, b, d, intn, local_resume(), locals_node(), n, and p.

Referenced by yyparse().

◆ defs_setup()

static void defs_setup ( parser_state p,
node d,
node a,
node b 
)
static

Definition at line 825 of file y.tab.c.

References a, b, d, intn, local_resume(), locals_node(), n, and p.

Referenced by yyparse().

◆ dump_args()

static void dump_args ( mrb_state mrb,
node n,
int  offset 
)
static

◆ dump_int()

static void dump_int ( uint16_t  i,
char *  s 
)
static

Definition at line 281 of file y.tab.c.

References c, i, p, s, and t.

Referenced by mrb_load_exec(), and yyparse().

◆ dump_prefix()

static void dump_prefix ( node tree,
int  offset 
)
static

Definition at line 12936 of file y.tab.c.

References mrb_ast_node::lineno, offset, printf(), putc, and fc-lang::stdout.

Referenced by dump_args(), and mrb_parser_dump().

◆ dump_recur()

static void dump_recur ( mrb_state mrb,
node tree,
int  offset 
)
static

Definition at line 12946 of file y.tab.c.

References mrb_ast_node::car, mrb_ast_node::cdr, mrb_parser_dump(), and offset.

Referenced by dump_args(), and mrb_parser_dump().

◆ end_strterm()

static void end_strterm ( parser_state p)
static

Definition at line 1353 of file y.tab.c.

References cons_free, NULL, and p.

Referenced by heredoc_end(), and parse_string().

◆ heredoc_count_indent()

static void heredoc_count_indent ( parser_heredoc_info hinf,
const char *  str,
size_t  len,
size_t  spaces,
size_t offset 
)
static

Definition at line 10677 of file y.tab.c.

References i, indent, mrb_parser_heredoc_info::indent, ISSPACE, len, offset, size, and str.

Referenced by heredoc_remove_indent().

◆ heredoc_end()

static void heredoc_end ( parser_state p)
static

Definition at line 1417 of file y.tab.c.

References end_strterm(), EXPR_BEG, nint, NULL, p, parsing_heredoc_inf(), and type.

Referenced by yyparse().

◆ heredoc_identifier()

◆ heredoc_push_indented()

static void heredoc_push_indented ( parser_state p,
parser_heredoc_info hinf,
node pair,
node escaped,
node nspaces,
mrb_bool  empty_line 
)
static

◆ heredoc_remove_indent()

◆ heredoc_treat_nextline()

static void heredoc_treat_nextline ( parser_state p)
static

Definition at line 1372 of file y.tab.c.

References m, mrb_assert, n, new_strterm(), NULL, p, parsing_heredoc_inf(), and type.

Referenced by parse_string(), parser_yylex(), and yyparse().

◆ intern_cstr_gen()

static mrb_sym intern_cstr_gen ( parser_state p,
const char *  s 
)
inlinestatic

Definition at line 143 of file y.tab.c.

References mrb_intern_cstr, p, and s.

◆ intern_gen()

static mrb_sym intern_gen ( parser_state p,
const char *  s,
size_t  len 
)
inlinestatic

Definition at line 150 of file y.tab.c.

References len, mrb_intern(), p, and s.

◆ list1_gen()

static node* list1_gen ( parser_state p,
node a 
)
static

Definition at line 203 of file y.tab.c.

References a, and cons.

◆ list2_gen()

static node* list2_gen ( parser_state p,
node a,
node b 
)
static

Definition at line 210 of file y.tab.c.

References a, b, and cons.

◆ list3_gen()

static node* list3_gen ( parser_state p,
node a,
node b,
node c 
)
static

Definition at line 217 of file y.tab.c.

References a, b, c, and cons.

◆ list4_gen()

static node* list4_gen ( parser_state p,
node a,
node b,
node c,
node d 
)
static

Definition at line 224 of file y.tab.c.

References a, b, c, cons, and d.

◆ list5_gen()

static node* list5_gen ( parser_state p,
node a,
node b,
node c,
node d,
node e 
)
static

Definition at line 231 of file y.tab.c.

References a, b, c, cons, d, and e.

◆ list6_gen()

static node* list6_gen ( parser_state p,
node a,
node b,
node c,
node d,
node e,
node f 
)
static

Definition at line 238 of file y.tab.c.

References a, b, c, cons, d, e, and f.

◆ local_add()

static void local_add ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 371 of file y.tab.c.

References local_add_f(), local_var_p(), p, and sym.

Referenced by assignable().

◆ local_add_blk()

static void local_add_blk ( parser_state p,
mrb_sym  blk 
)
static

Definition at line 379 of file y.tab.c.

References and, intern_op, local_add_f(), and p.

Referenced by new_args_tail(), and yyparse().

◆ local_add_f()

static void local_add_f ( parser_state p,
mrb_sym  sym 
)
static

◆ local_add_kw()

static void local_add_kw ( parser_state p,
mrb_sym  kwd 
)
static

Definition at line 386 of file y.tab.c.

References intern_op, local_add_f(), p, and pow().

Referenced by new_args_tail().

◆ local_add_lv()

static void local_add_lv ( parser_state p,
node lv 
)
static

Definition at line 863 of file y.tab.c.

References local_add_f(), mrb_irep::lv, p, and sym.

Referenced by new_args(), and new_args_tail().

◆ local_add_margs()

static void local_add_margs ( parser_state p,
node n 
)
static

Definition at line 844 of file y.tab.c.

References local_add_f(), n, NODE_MASGN, NULL, p, sym, and typen.

Referenced by new_args().

◆ local_nest()

static void local_nest ( parser_state p)
static

Definition at line 318 of file y.tab.c.

References cons, and p.

Referenced by yyparse().

◆ local_resume()

static void local_resume ( parser_state p,
node prev 
)
static

Definition at line 312 of file y.tab.c.

References p, and prev.

Referenced by defn_setup(), defs_setup(), and yyparse().

◆ local_switch()

static node* local_switch ( parser_state p)
static

Definition at line 303 of file y.tab.c.

References cons, p, and prev.

Referenced by yyparse().

◆ local_unnest()

static void local_unnest ( parser_state p)
static

Definition at line 324 of file y.tab.c.

References p.

Referenced by yyparse().

◆ local_var_p()

static mrb_bool local_var_p ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 332 of file y.tab.c.

References FALSE, i, cutout::l, mrb_irep::lv, MRB_PROC_CFUNC_P, MRB_PROC_SCOPE_P, n, mrb_irep::nlocals, p, sym, TRUE, u, and v.

Referenced by local_add(), parser_yylex(), and yyparse().

◆ locals_node()

static node* locals_node ( parser_state p)
static

Definition at line 393 of file y.tab.c.

References NULL, and p.

Referenced by defn_setup(), defs_setup(), new_block(), new_class(), new_lambda(), new_module(), new_sclass(), new_scope(), and yyparse().

◆ mrb_codedump_all()

void mrb_codedump_all ( mrb_state mrb,
struct RProc proc 
)

Definition at line 573 of file codedump.c.

Referenced by mrb_load_exec().

◆ mrb_load_detect_file_cxt()

◆ mrb_load_exec()

◆ mrb_load_file()

mrb_value mrb_load_file ( mrb_state mrb,
FILE f 
)

program load functions Please note! Currently due to interactions with the GC calling these functions will leak one RProc object per function call. To prevent this save the current memory arena before calling and restore the arena right after, like so int ai = mrb_gc_arena_save(mrb); mrb_value status = mrb_load_string(mrb, buffer); mrb_gc_arena_restore(mrb, ai);

Definition at line 12854 of file y.tab.c.

References f, mrb_load_file_cxt(), and NULL.

Referenced by aptex_commands_init().

◆ mrb_load_file_cxt()

mrb_value mrb_load_file_cxt ( mrb_state mrb,
FILE f,
mrbc_context c 
)

Definition at line 12848 of file y.tab.c.

References c, f, mrb_load_exec(), and mrb_parse_file().

Referenced by load_file(), main(), and mrb_load_file().

◆ mrb_load_nstring()

mrb_value mrb_load_nstring ( mrb_state mrb,
const char *  s,
size_t  len 
)

Definition at line 12916 of file y.tab.c.

References len, mrb_load_nstring_cxt(), NULL, and s.

◆ mrb_load_nstring_cxt()

mrb_value mrb_load_nstring_cxt ( mrb_state mrb,
const char *  s,
size_t  len,
mrbc_context c 
)

Definition at line 12910 of file y.tab.c.

References c, len, mrb_load_exec(), mrb_parse_nstring(), and s.

Referenced by mrb_load_nstring(), mrb_load_string_cxt(), and mrdb_check_syntax().

◆ mrb_load_string()

mrb_value mrb_load_string ( mrb_state mrb,
const char *  s 
)

Definition at line 12928 of file y.tab.c.

References mrb_load_string_cxt(), NULL, and s.

Referenced by aptex_commands_init(), FuzzRB(), and LLVMFuzzerTestOneInput().

◆ mrb_load_string_cxt()

mrb_value mrb_load_string_cxt ( mrb_state mrb,
const char *  s,
mrbc_context c 
)

Definition at line 12922 of file y.tab.c.

References c, mrb_load_nstring_cxt(), s, and strlen().

Referenced by main(), and mrb_load_string().

◆ mrb_parse_file()

parser_state* mrb_parse_file ( mrb_state mrb,
FILE f,
mrbc_context c 
)

Definition at line 12758 of file y.tab.c.

References c, f, mrb_parser_state::mrb, mrb_parse_file_continue(), and NULL.

Referenced by mrb_load_file_cxt().

◆ mrb_parse_file_continue()

static struct mrb_parser_state* mrb_parse_file_continue ( mrb_state mrb,
FILE f,
const void prebuf,
size_t  prebufsize,
mrbc_context c 
)
static

Definition at line 12738 of file y.tab.c.

References c, f, mrb_parser_state::mrb, mrb_parser_new(), mrb_parser_parse(), NULL, and p.

Referenced by mrb_load_detect_file_cxt(), and mrb_parse_file().

◆ mrb_parse_nstring()

parser_state* mrb_parse_nstring ( mrb_state mrb,
const char *  s,
size_t  len,
mrbc_context c 
)

◆ mrb_parse_string()

parser_state* mrb_parse_string ( mrb_state mrb,
const char *  s,
mrbc_context c 
)

Definition at line 12779 of file y.tab.c.

References c, mrb_parser_state::mrb, mrb_parse_nstring(), s, and strlen().

Referenced by decl_lv_underscore().

◆ mrb_parser_dump()

◆ mrb_parser_free()

void mrb_parser_free ( parser_state p)

Definition at line 12642 of file y.tab.c.

References mrb_free(), mrb_pool_close(), and p.

Referenced by create_proc_from_string(), decl_lv_underscore(), main(), and mrb_load_exec().

◆ mrb_parser_get_filename()

mrb_sym mrb_parser_get_filename ( struct mrb_parser_state p,
uint16_t  idx 
)

Definition at line 12729 of file y.tab.c.

References idx, and p.

Referenced by codegen(), and scope_finish().

◆ mrb_parser_new()

parser_state* mrb_parser_new ( mrb_state mrb)

◆ mrb_parser_parse()

◆ mrb_parser_set_filename()

void mrb_parser_set_filename ( struct mrb_parser_state p,
const char *  f 
)

Definition at line 12697 of file y.tab.c.

References f, i, memmove, mrb_intern_cstr, new_table(), p, parser_palloc(), sym, UINT16_MAX, and yyerror().

Referenced by parser_init_cxt(), and partial_hook().

◆ mrbc_cleanup_local_variables()

void mrbc_cleanup_local_variables ( mrb_state mrb,
mrbc_context c 
)

Definition at line 12687 of file y.tab.c.

References c, mrb_free(), and NULL.

Referenced by main().

◆ mrbc_context_free()

void mrbc_context_free ( mrb_state mrb,
mrbc_context cxt 
)

◆ mrbc_context_new()

mrbc_context* mrbc_context_new ( mrb_state mrb)

Definition at line 12650 of file y.tab.c.

References mrb_calloc().

Referenced by create_proc_from_string(), load_file(), main(), and mrdb_check_syntax().

◆ mrbc_filename()

const char* mrbc_filename ( mrb_state mrb,
mrbc_context c,
const char *  s 
)

Definition at line 12664 of file y.tab.c.

References c, len, memcpy, mrb_free(), mrb_malloc(), p, s, and strlen().

Referenced by create_proc_from_string(), load_file(), main(), and mrdb_check_syntax().

◆ mrbc_partial_hook()

void mrbc_partial_hook ( mrb_state mrb,
mrbc_context c,
int(*)(struct mrb_parser_state *)  func,
void data 
)

Definition at line 12680 of file y.tab.c.

References c, data, and func.

Referenced by load_file().

◆ negate_lit()

static node* negate_lit ( parser_state p,
node n 
)
static

Definition at line 1298 of file y.tab.c.

References cons, n, and NODE_NEGATE.

Referenced by yyparse().

◆ new_alias()

static node* new_alias ( parser_state p,
mrb_sym  a,
mrb_sym  b 
)
static

Definition at line 478 of file y.tab.c.

References a, b, cons, NODE_ALIAS, and nsym.

Referenced by yyparse().

◆ new_and()

static node* new_and ( parser_state p,
node a,
node b 
)
static

Definition at line 666 of file y.tab.c.

References a, b, cons, and NODE_AND.

Referenced by yyparse().

◆ new_arg()

static node* new_arg ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 838 of file y.tab.c.

References cons, NODE_ARG, nsym, and sym.

Referenced by handle_non_switch_argument(), setup_numparams(), and yyparse().

◆ new_args()

static node* new_args ( parser_state p,
node m,
node opt,
mrb_sym  rest,
node m2,
node tail 
)
static

Definition at line 878 of file y.tab.c.

References mrb_ast_node::car, mrb_ast_node::cdr, cons, local_add_lv(), local_add_margs(), m, n, nsym, p, rest, and tail.

Referenced by BuildCommandLine(), setup_numparams(), and yyparse().

◆ new_args_tail()

static node* new_args_tail ( parser_state p,
node kws,
node kwrest,
mrb_sym  blk 
)
static

Definition at line 898 of file y.tab.c.

References mrb_ast_node::cdr, k, list4, local_add_blk(), local_add_f(), local_add_kw(), local_add_lv(), NODE_ARGS_TAIL, nsym, p, and sym.

Referenced by yyparse().

◆ new_array()

◆ new_asgn()

static node* new_asgn ( parser_state p,
node a,
node b 
)
static

Definition at line 995 of file y.tab.c.

References a, b, cons, NODE_ASGN, p, and void_expr_error().

Referenced by yyparse().

◆ new_back_ref()

static node* new_back_ref ( parser_state p,
int  n 
)
static

Definition at line 1197 of file y.tab.c.

References cons, n, nint, and NODE_BACK_REF.

Referenced by parser_yylex().

◆ new_begin()

static node* new_begin ( parser_state p,
node body 
)
static

Definition at line 425 of file y.tab.c.

References body(), cons, list2, and NODE_BEGIN.

Referenced by yyparse().

◆ new_block()

static node* new_block ( parser_state p,
node a,
node b 
)
static

Definition at line 980 of file y.tab.c.

References a, b, list4, locals_node(), NODE_BLOCK, p, and setup_numparams().

Referenced by ft_realloc(), jbg_buf_init(), and yyparse().

◆ new_block_arg()

static node* new_block_arg ( parser_state p,
node a 
)
static

Definition at line 943 of file y.tab.c.

References a, cons, and NODE_BLOCK_ARG.

Referenced by yyparse().

◆ new_break()

static node* new_break ( parser_state p,
node c 
)
static

Definition at line 609 of file y.tab.c.

References c, cons, and NODE_BREAK.

Referenced by yyparse().

◆ new_bv()

static void new_bv ( parser_state p,
mrb_sym  id 
)
static

Definition at line 1218 of file y.tab.c.

Referenced by yyparse().

◆ new_call()

static node* new_call ( parser_state p,
node a,
mrb_sym  b,
node c,
int  pass 
)
static

Definition at line 554 of file y.tab.c.

References a, b, c, list4, n, nint, NODE_CALL, NODE_LINENO, NODE_SCALL, nsym, p, and void_expr_error().

Referenced by call_bin_op(), call_uni_op(), new_imaginary(), new_rational(), and yyparse().

◆ new_case()

static node* new_case ( parser_state p,
node a,
node b 
)
static

Definition at line 525 of file y.tab.c.

References a, b, mrb_ast_node::cdr, list2, n, NODE_CASE, p, and void_expr_error().

Referenced by yyparse().

◆ new_class()

static node* new_class ( parser_state p,
node c,
node s,
node b 
)
static

Definition at line 776 of file y.tab.c.

References b, c, cons, list4, locals_node(), NODE_CLASS, p, s, and void_expr_error().

Referenced by Add_Glyph_Property(), hash_list1(), mrb_class_new_class(), and yyparse().

◆ new_colon2()

static node* new_colon2 ( parser_state p,
node b,
mrb_sym  c 
)
static

Definition at line 651 of file y.tab.c.

References b, c, cons, NODE_COLON2, nsym, p, and void_expr_error().

Referenced by yyparse().

◆ new_colon3()

static node* new_colon3 ( parser_state p,
mrb_sym  c 
)
static

Definition at line 659 of file y.tab.c.

References c, cons, NODE_COLON3, and nsym.

Referenced by yyparse().

◆ new_const()

static node* new_const ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 762 of file y.tab.c.

References cons, NODE_CONST, nsym, and sym.

Referenced by new_imaginary(), new_rational(), and yyparse().

◆ new_cvar()

static node* new_cvar ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 745 of file y.tab.c.

References cons, NODE_CVAR, nsym, and sym.

Referenced by yyparse().

◆ new_def()

static node* new_def ( parser_state p,
mrb_sym  m,
node a,
node b 
)
static

Definition at line 799 of file y.tab.c.

References a, b, list5, m, NODE_DEF, and nsym.

Referenced by yyparse().

◆ new_dot2()

static node* new_dot2 ( parser_state p,
node a,
node b 
)
static

Definition at line 637 of file y.tab.c.

References a, b, cons, and NODE_DOT2.

Referenced by yyparse().

◆ new_dot3()

static node* new_dot3 ( parser_state p,
node a,
node b 
)
static

Definition at line 644 of file y.tab.c.

References a, b, cons, and NODE_DOT3.

Referenced by yyparse().

◆ new_dregx()

static node* new_dregx ( parser_state p,
node a,
node b 
)
static

Definition at line 1190 of file y.tab.c.

References a, b, cons, and NODE_DREGX.

Referenced by yyparse().

◆ new_dstr()

static node* new_dstr ( parser_state p,
node a 
)
static

Definition at line 1075 of file y.tab.c.

References a, cons, and NODE_DSTR.

Referenced by concat_string(), and yyparse().

◆ new_dsym()

static node* new_dsym ( parser_state p,
node a 
)
static

Definition at line 1176 of file y.tab.c.

References a, cons, and NODE_DSYM.

Referenced by yyparse().

◆ new_dxstr()

static node* new_dxstr ( parser_state p,
node a 
)
static

Definition at line 1169 of file y.tab.c.

References a, cons, and NODE_DXSTR.

Referenced by yyparse().

◆ new_ensure()

static node* new_ensure ( parser_state p,
node a,
node b 
)
static

Definition at line 450 of file y.tab.c.

References a, b, cons, and NODE_ENSURE.

Referenced by yyparse().

◆ new_false()

static node* new_false ( parser_state p)
static

Definition at line 471 of file y.tab.c.

References list1, and NODE_FALSE.

Referenced by yyparse().

◆ new_fcall()

static node* new_fcall ( parser_state p,
mrb_sym  b,
node c 
)
static

Definition at line 564 of file y.tab.c.

References b, c, list4, n, new_self(), NODE_FCALL, NODE_LINENO, nsym, and p.

Referenced by yyparse().

◆ new_float()

static node* new_float ( parser_state p,
const char *  s,
int  suffix 
)
static

◆ new_for()

static node* new_for ( parser_state p,
node v,
node o,
node b 
)
static

Definition at line 517 of file y.tab.c.

References b, list4, NODE_FOR, p, v, and void_expr_error().

Referenced by yyparse().

◆ new_gvar()

static node* new_gvar ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 731 of file y.tab.c.

References cons, NODE_GVAR, nsym, and sym.

Referenced by yyparse().

◆ new_hash()

static node* new_hash ( parser_state p,
node a 
)
static

Definition at line 694 of file y.tab.c.

References a, cons, and NODE_HASH.

Referenced by yyparse().

◆ new_heredoc()

static node* new_heredoc ( parser_state p)
static

Definition at line 1211 of file y.tab.c.

References cons, inf, NODE_HEREDOC, p, and parser_palloc().

Referenced by heredoc_identifier().

◆ new_if()

static node* new_if ( parser_state p,
node a,
node b,
node c 
)
static

Definition at line 485 of file y.tab.c.

References a, b, c, list4, NODE_IF, p, and void_expr_error().

Referenced by yyparse().

◆ new_imaginary()

static node* new_imaginary ( parser_state p,
node imaginary 
)
static

Definition at line 1025 of file y.tab.c.

References list1, list2, list3, MRB_SYM_2, new_call(), new_const(), nint, NODE_INT, p, and strdup.

Referenced by new_float(), and new_int().

◆ new_int()

static node* new_int ( parser_state p,
const char *  s,
int  base,
int  suffix 
)
static

◆ new_ivar()

static node* new_ivar ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 738 of file y.tab.c.

References cons, NODE_IVAR, nsym, and sym.

Referenced by yyparse().

◆ new_kw_arg()

static node* new_kw_arg ( parser_state p,
mrb_sym  kw,
node def_arg 
)
static

Definition at line 928 of file y.tab.c.

References list3, mrb_assert, NODE_KW_ARG, and nsym.

Referenced by yyparse().

◆ new_kw_hash()

static node* new_kw_hash ( parser_state p,
node a 
)
static

Definition at line 701 of file y.tab.c.

References a, cons, and NODE_KW_HASH.

Referenced by yyparse().

◆ new_kw_rest_args()

static node* new_kw_rest_args ( parser_state p,
node a 
)
static

Definition at line 936 of file y.tab.c.

References a, cons, and NODE_KW_REST_ARGS.

Referenced by yyparse().

◆ new_lambda()

static node* new_lambda ( parser_state p,
node a,
node b 
)
static

Definition at line 988 of file y.tab.c.

References a, b, list4, locals_node(), NODE_LAMBDA, and p.

Referenced by yyparse().

◆ new_literal_delim()

static node* new_literal_delim ( parser_state p)
static

Definition at line 1223 of file y.tab.c.

References cons, and NODE_LITERAL_DELIM.

Referenced by yyparse().

◆ new_lvar()

static node* new_lvar ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 724 of file y.tab.c.

References cons, NODE_LVAR, nsym, and sym.

Referenced by yyparse().

◆ new_masgn()

static node* new_masgn ( parser_state p,
node a,
node b 
)
static

Definition at line 1003 of file y.tab.c.

References a, b, cons, NODE_MASGN, p, and void_expr_error().

Referenced by yyparse().

◆ new_masgn_param()

static node* new_masgn_param ( parser_state p,
node a,
node b 
)
static

Definition at line 1011 of file y.tab.c.

References a, b, cons, and NODE_MASGN.

Referenced by yyparse().

◆ new_mod_rescue()

static node* new_mod_rescue ( parser_state p,
node body,
node resq 
)
static

Definition at line 443 of file y.tab.c.

References body(), list1, list3, new_rescue(), and p.

Referenced by yyparse().

◆ new_module()

static node* new_module ( parser_state p,
node m,
node b 
)
static

Definition at line 792 of file y.tab.c.

References b, cons, list3, locals_node(), m, NODE_MODULE, and p.

Referenced by yyparse().

◆ new_next()

static node* new_next ( parser_state p,
node c 
)
static

Definition at line 616 of file y.tab.c.

References c, cons, and NODE_NEXT.

Referenced by yyparse().

◆ new_nil()

static node* new_nil ( parser_state p)
static

Definition at line 457 of file y.tab.c.

References list1, and NODE_NIL.

Referenced by mrb_parser_parse(), and yyparse().

◆ new_nth_ref()

static node* new_nth_ref ( parser_state p,
int  n 
)
static

Definition at line 1204 of file y.tab.c.

References cons, n, nint, and NODE_NTH_REF.

Referenced by parser_yylex().

◆ new_nvar()

static node* new_nvar ( parser_state p,
int  num 
)
static

Definition at line 752 of file y.tab.c.

References cons, intn, nint, NODE_NVAR, num, and p.

Referenced by yyparse().

◆ new_op_asgn()

static node* new_op_asgn ( parser_state p,
node a,
mrb_sym  op,
node b 
)
static

Definition at line 1018 of file y.tab.c.

References a, b, list4, NODE_OP_ASGN, nsym, p, and void_expr_error().

Referenced by yyparse().

◆ new_or()

static node* new_or ( parser_state p,
node a,
node b 
)
static

Definition at line 673 of file y.tab.c.

References a, b, cons, and NODE_OR.

Referenced by yyparse().

◆ new_postexe()

static node* new_postexe ( parser_state p,
node a 
)
static

Definition at line 540 of file y.tab.c.

References a, cons, and NODE_POSTEXE.

Referenced by yyparse().

◆ new_rational()

static node* new_rational ( parser_state p,
node rational 
)
static

Definition at line 1031 of file y.tab.c.

References list1, MRB_SYM_2, new_call(), new_const(), and p.

Referenced by new_float(), and new_int().

◆ new_redo()

static node* new_redo ( parser_state p)
static

Definition at line 623 of file y.tab.c.

References list1, and NODE_REDO.

Referenced by yyparse().

◆ new_regx()

static node* new_regx ( parser_state p,
const char *  p1,
const char *  p2,
const char *  p3 
)
static

Definition at line 1183 of file y.tab.c.

References cons, NODE_REGX, p1, and p2.

Referenced by parse_string().

◆ new_rescue()

static node* new_rescue ( parser_state p,
node body,
node resq,
node els 
)
static

Definition at line 437 of file y.tab.c.

References body(), list4, and NODE_RESCUE.

Referenced by new_mod_rescue(), and yyparse().

◆ new_retry()

static node* new_retry ( parser_state p)
static

Definition at line 630 of file y.tab.c.

References list1, and NODE_RETRY.

Referenced by yyparse().

◆ new_return()

static node* new_return ( parser_state p,
node c 
)
static

Definition at line 602 of file y.tab.c.

References c, cons, and NODE_RETURN.

Referenced by yyparse().

◆ new_sclass()

static node* new_sclass ( parser_state p,
node o,
node b 
)
static

Definition at line 784 of file y.tab.c.

References b, cons, list3, locals_node(), NODE_SCLASS, p, and void_expr_error().

Referenced by yyparse().

◆ new_scope()

static node* new_scope ( parser_state p,
node body 
)
static

Definition at line 418 of file y.tab.c.

References body(), cons, locals_node(), NODE_SCOPE, and p.

Referenced by yyparse().

◆ new_sdef()

static node* new_sdef ( parser_state p,
node o,
mrb_sym  m,
node a,
node b 
)
static

Definition at line 818 of file y.tab.c.

References a, b, list6, m, NODE_SDEF, nsym, p, and void_expr_error().

Referenced by yyparse().

◆ new_self()

static node* new_self ( parser_state p)
static

Definition at line 547 of file y.tab.c.

References list1, and NODE_SELF.

Referenced by new_fcall(), and yyparse().

◆ new_splat()

static node* new_splat ( parser_state p,
node a 
)
static

Definition at line 687 of file y.tab.c.

References a, cons, and NODE_SPLAT.

Referenced by yyparse().

◆ new_str()

static node* new_str ( parser_state p,
const char *  s,
size_t  len 
)
static

◆ new_strsym()

static mrb_sym new_strsym ( parser_state p,
node str 
)
static

Definition at line 714 of file y.tab.c.

References len, mrb_intern(), p, s, and str.

Referenced by yyparse().

◆ new_strterm()

static node* new_strterm ( parser_state p,
string_type  type,
int  term,
int  paren 
)
static

Definition at line 1347 of file y.tab.c.

References cons, nint, and type.

Referenced by heredoc_treat_nextline(), and parser_yylex().

◆ new_super()

static node* new_super ( parser_state p,
node c 
)
static

Definition at line 575 of file y.tab.c.

References c, cons, and NODE_SUPER.

Referenced by yyparse().

◆ new_sym()

static node* new_sym ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 708 of file y.tab.c.

References cons, NODE_SYM, nsym, and sym.

Referenced by yyparse().

◆ new_symbols()

static node* new_symbols ( parser_state p,
node a 
)
static

Definition at line 1237 of file y.tab.c.

References a, cons, and NODE_SYMBOLS.

Referenced by yyparse().

◆ new_true()

static node* new_true ( parser_state p)
static

Definition at line 464 of file y.tab.c.

References list1, and NODE_TRUE.

Referenced by yyparse().

◆ new_undef()

static node* new_undef ( parser_state p,
mrb_sym  sym 
)
static

Definition at line 769 of file y.tab.c.

References list2, NODE_UNDEF, nsym, and sym.

Referenced by yyparse().

◆ new_unless()

static node* new_unless ( parser_state p,
node a,
node b,
node c 
)
static

Definition at line 493 of file y.tab.c.

References a, b, c, list4, NODE_IF, p, and void_expr_error().

Referenced by yyparse().

◆ new_until()

static node* new_until ( parser_state p,
node a,
node b 
)
static

Definition at line 509 of file y.tab.c.

References a, b, cons, NODE_UNTIL, p, and void_expr_error().

Referenced by yyparse().

◆ new_while()

static node* new_while ( parser_state p,
node a,
node b 
)
static

Definition at line 501 of file y.tab.c.

References a, b, cons, NODE_WHILE, p, and void_expr_error().

Referenced by yyparse().

◆ new_words()

static node* new_words ( parser_state p,
node a 
)
static

Definition at line 1230 of file y.tab.c.

References a, cons, and NODE_WORDS.

Referenced by yyparse().

◆ new_xstr()

static node* new_xstr ( parser_state p,
const char *  s,
int  len 
)
static

Definition at line 1162 of file y.tab.c.

References cons, len, nint, NODE_XSTR, s, and strndup.

Referenced by parse_string().

◆ new_yield()

static node* new_yield ( parser_state p,
node c 
)
static

Definition at line 589 of file y.tab.c.

References c, cons, NODE_YIELD, p, and yyerror().

Referenced by yyparse().

◆ new_zsuper()

static node* new_zsuper ( parser_state p)
static

Definition at line 582 of file y.tab.c.

References list1, and NODE_ZSUPER.

Referenced by yyparse().

◆ newtok()

static int newtok ( parser_state p)
static

Definition at line 10371 of file y.tab.c.

References mrb_free(), MRB_PARSER_TOKBUF_SIZE, and p.

Referenced by heredoc_identifier(), parse_string(), and parser_yylex().

◆ nextc()

◆ nextc0()

static int nextc0 ( parser_state p)
inlinestatic

Definition at line 10206 of file y.tab.c.

References c, feof, fgetc, and p.

Referenced by nextc().

◆ number_literal_suffix()

static int number_literal_suffix ( parser_state p)
static

Definition at line 11031 of file y.tab.c.

References append, c, column, ISALPHA, ISASCII, mask, nextc(), nint, NUM_SUFFIX_I, NUM_SUFFIX_R, p, push, pushback(), and check-static-inits::result.

Referenced by parser_yylex().

◆ nvars_block()

static void nvars_block ( parser_state p)
static

Definition at line 405 of file y.tab.c.

References cons, nint, and p.

Referenced by yyparse().

◆ nvars_nest()

static void nvars_nest ( parser_state p)
static

Definition at line 399 of file y.tab.c.

References cons, nint, and p.

Referenced by yyparse().

◆ nvars_unnest()

static void nvars_unnest ( parser_state p)
static

Definition at line 411 of file y.tab.c.

References p.

Referenced by yyparse().

◆ parse_string()

◆ parser_init_cxt()

◆ parser_palloc()

static void* parser_palloc ( parser_state p,
size_t  size 
)
static

Definition at line 167 of file y.tab.c.

References m, mrb_pool_alloc(), MRB_THROW, p, and size.

Referenced by cons_gen(), mrb_parser_set_filename(), new_heredoc(), parser_strndup(), yyerror(), and yywarn().

◆ parser_strdup()

static char* parser_strdup ( parser_state p,
const char *  s 
)
static

Definition at line 273 of file y.tab.c.

References p, parser_strndup(), s, and strlen().

◆ parser_strndup()

static char* parser_strndup ( parser_state p,
const char *  s,
size_t  len 
)
static

Definition at line 261 of file y.tab.c.

References b, len, memcpy, p, parser_palloc(), and s.

Referenced by parser_strdup().

◆ parser_update_cxt()

static void parser_update_cxt ( parser_state p,
mrbc_context cxt 
)
static

Definition at line 12522 of file y.tab.c.

References i, intn, mrb_realloc(), n, NODE_SCOPE, p, mrbc_context::slen, sym, and mrbc_context::syms.

Referenced by mrb_parser_parse().

◆ parser_yylex()

static int parser_yylex ( parser_state p)
static

Definition at line 11156 of file y.tab.c.

References add, and, arg_ambiguous(), begin, buf, c, c2, mrb_ast_node::car, mrb_ast_node::cdr, CMDARG_LEXPOP, CMDARG_P, CMDARG_PUSH, COND_LEXPOP, COND_P, COND_PUSH, d, div(), end, errno, EXPR_ARG, EXPR_BEG, EXPR_CLASS, EXPR_CMDARG, EXPR_DOT, EXPR_END, EXPR_ENDARG, EXPR_ENDFN, EXPR_FNAME, EXPR_VALUE, FALSE, heredoc_identifier(), heredoc_treat_nextline(), hexdigits, ident, identchar, INT_MAX, intern, intern_cstr, intern_op, intn, IS_ARG, IS_BEG, IS_END, IS_LABEL_POSSIBLE, IS_LABEL_SUFFIX, IS_SPCARG, is_strterm_type, ISALNUM, ISDIGIT, ISLOWER, ISSPACE, ISUPPER, ISXDIGIT, keyword_do, keyword_do_block, keyword_do_cond, keyword_do_LAMBDA, local_var_p(), lshift(), mod(), mrb_float_read(), MRB_STRINGIZE, n, new_back_ref(), new_float(), new_int(), new_nth_ref(), new_str(), new_strterm(), newtok(), nextc(), nint, no_digits, NULL, NUM_SUFFIX_R, number_literal_suffix(), p, parse_string(), peek, peek_n(), peekc_n(), peeks(), pow(), pushback(), pylval, read_escape(), check-static-inits::result, rshift(), s, skip(), skips(), start, str_dquote, str_dsymbols, str_dword, STR_FUNC_HEREDOC, str_regexp, str_squote, str_ssym, str_ssymbols, str_sword, str_xquote, strcpy(), strncmp(), strtoul(), sub, suffix, tAMPER, tANDDOT, tANDOP, tAREF, tASET, tASSOC, tBACK_REF, tBDOT2, tBDOT3, tCHAR, tCMP, tCOLON2, tCOLON3, tCONSTANT, tCVAR, tDOT2, tDOT3, tDSTAR, tEQ, tEQQ, tFID, tFLOAT, tGEQ, tGVAR, tIDENTIFIER, tINTEGER, tIVAR, tLABEL_TAG, tLAMBDA, tLAMBEG, tLBRACE, tLBRACE_ARG, tLBRACK, tLEQ, tLPAREN, tLPAREN_ARG, tLSHFT, tMATCH, tNEQ, tNMATCH, tNTH_REF, tNUMPARAM, tok(), tokadd(), tokfix(), toklast(), toklen(), tolower, tOP_ASGN, tOROP, tPOW, tREGEXP_BEG, tRSHFT, TRUE, tSTAR, tSTRING_BEG, tSYMBEG, tSYMBOLS_BEG, tUMINUS, tUMINUS_NUM, tUPLUS, tWORDS_BEG, tXSTRING_BEG, yyerror(), yyerror_c(), yywarning(), and yywarning_s().

Referenced by yylex().

◆ parsing_heredoc_inf()

static parser_heredoc_info* parsing_heredoc_inf ( parser_state p)
static

Definition at line 1362 of file y.tab.c.

References nd, NULL, and p.

Referenced by heredoc_end(), heredoc_treat_nextline(), parse_string(), and yyparse().

◆ peek_n()

static mrb_bool peek_n ( parser_state p,
int  c,
int  n 
)
static

Definition at line 10307 of file y.tab.c.

References c, n, p, and peekc_n().

Referenced by parser_yylex(), and peeks().

◆ peekc_n()

static int peekc_n ( parser_state p,
int  n 
)
static

Definition at line 10286 of file y.tab.c.

References append, n, nextc(), nint, p, and push.

Referenced by parser_yylex(), and peek_n().

◆ peeks()

static mrb_bool peeks ( parser_state p,
const char *  s 
)
static

Definition at line 10314 of file y.tab.c.

References FALSE, len, memcmp, n, p, peek_n(), s, send(), strlen(), and TRUE.

Referenced by parser_yylex(), and skips().

◆ pushback()

static void pushback ( parser_state p,
int  c 
)
static

◆ read_escape()

static int32_t read_escape ( parser_state p)
static

Definition at line 10548 of file y.tab.c.

References buf, c, eof(), i, ISXDIGIT, nextc(), p, peek, pushback(), read_escape_unicode(), scan_hex(), scan_oct(), and yyerror().

Referenced by parse_string(), and parser_yylex().

◆ read_escape_unicode()

static int32_t read_escape_unicode ( parser_state p,
int  limit 
)
static

Definition at line 10510 of file y.tab.c.

References buf, eof(), hex, i, ISXDIGIT, limit, nextc(), p, pushback(), scan_hex(), and yyerror().

Referenced by parse_string(), and read_escape().

◆ ret_args()

static node* ret_args ( parser_state p,
node n 
)
static

Definition at line 1310 of file y.tab.c.

References n, new_array(), NULL, p, and yyerror().

Referenced by yyparse().

◆ scan_hex()

static int32_t scan_hex ( parser_state p,
const int start,
int  len,
int retlen 
)
static

Definition at line 10491 of file y.tab.c.

References hexdigit, int(), len, s, start, and strchr.

Referenced by read_escape(), and read_escape_unicode().

◆ scan_oct()

static int32_t scan_oct ( const int start,
int  len,
int retlen 
)
static

Definition at line 10475 of file y.tab.c.

References int(), len, s, and start.

Referenced by read_escape().

◆ setup_numparams()

static node* setup_numparams ( parser_state p,
node a 
)
static

Definition at line 949 of file y.tab.c.

References a, buf, cons, i, intern_cstr, intn, new_arg(), new_args(), nsym, p, sym, and yyerror().

Referenced by new_block().

◆ skip()

static void skip ( parser_state p,
char  term 
)
static

Definition at line 10274 of file y.tab.c.

References c, nextc(), and p.

Referenced by parser_yylex().

◆ skips()

static mrb_bool skips ( parser_state p,
const char *  s 
)
static

Definition at line 10335 of file y.tab.c.

References c, FALSE, len, nextc(), p, peeks(), s, strlen(), and TRUE.

Referenced by parser_yylex().

◆ str_dump()

static const char* str_dump ( mrb_state mrb,
const char *  str,
int  len 
)
static

◆ string_node_p()

static int string_node_p ( node n)
static

Definition at line 1081 of file y.tab.c.

References n, NODE_STR, and typen.

Referenced by concat_string().

◆ tok()

static const char* tok ( parser_state p)
static

Definition at line 10456 of file y.tab.c.

References p.

Referenced by _hb_buffer_deserialize_json(), _hb_buffer_deserialize_text(), _InterpretPS(), addinfo(), attlist0(), attlist1(), attlist2(), attlist3(), attlist4(), attlist5(), attlist6(), attlist7(), attlist8(), attlist9(), calculate_constant1(), calculate_constant10(), calculate_constant11(), calculate_constant12(), calculate_constant13(), calculate_constant2(), calculate_constant3(), calculate_constant4(), calculate_constant5(), calculate_constant6(), calculate_constant7(), calculate_constant8(), calculate_constant9(), check_token(), common(), cp_check(), cp_decl_multi(), cp_err_token(), cp_errmsg(), cp_opt(), cp_tok2str(), declClose(), do_bfrange(), do_cidrange(), do_notdefrange(), doctype0(), doctype1(), doctype2(), doctype3(), doctype4(), doctype5(), DoMatOp(), DoMatTransform(), AnnotAppearanceBuilder::drawListBox(), AcroFormField::drawListBox(), AnnotAppearanceBuilder::drawText(), AcroFormField::drawText(), Annot::drawText(), element0(), element1(), element2(), element3(), element4(), element5(), element6(), element7(), entity0(), entity1(), entity10(), entity2(), entity3(), entity4(), entity5(), entity6(), entity7(), entity8(), entity9(), err_token(), fea_AddAllLigPosibilities(), fea_AddClassDef(), fea_AddFeatItem(), fea_ApplyFeatureList(), fea_ApplyFile(), fea_ApplyLookupList(), fea_ApplyLookupListContextual(), fea_ApplyLookupListCursive(), fea_ApplyLookupListMark2(), fea_ApplyLookupListPair(), fea_ApplyLookupListPST(), fea_cid_validate(), fea_end_statement(), fea_findLookup(), fea_glyphname_get(), fea_glyphname_validate(), fea_handle_include(), fea_lookup_class(), fea_lookup_class_complain(), fea_LookupSwitch(), fea_LookupTypeFromItem(), fea_markedglyphs_to_fpst(), fea_NameLookups(), fea_now_semi(), fea_ParseAnchor(), fea_ParseBroket(), fea_ParseCaret(), fea_ParseDeciPoints(), fea_ParseDeviceTable(), fea_ParseFeatureDef(), fea_ParseFeatureFile(), fea_ParseGDEFTable(), fea_ParseGlyphClass(), fea_ParseGlyphClassDef(), fea_ParseGlyphClassGuarded(), fea_ParseIgnore(), fea_ParseLangSys(), fea_ParseLookupDef(), fea_ParseLookupFlags(), fea_ParseMarkedGlyphs(), fea_ParseMarks(), fea_ParseNameId(), fea_ParseNameTable(), fea_ParseParameters(), fea_ParseSizeMenuName(), fea_ParseSubstitute(), fea_ParseTableDef(), fea_ParseTableKeywords(), fea_ParseTag(), fea_ParseTok(), fea_process_pos_pair(), fea_process_pos_single(), fea_process_sub_ligature(), fea_process_sub_single(), fea_skip_to_close_curly(), fea_skip_to_semi(), fea_TokenMustBe(), fea_UnParseTok(), get_next_key(), get_usertable(), handle_codearray(), HandleType3Reference(), heredoc_identifier(), in_xpm_reader(), internalSubset(), lex_check(), lex_opt(), lj_err_lex(), lj_lex_error(), lj_lex_token2str(), lua_tokenlib_getfield(), luac_store(), main(), make_new_token(), next_token(), notation0(), notation1(), notation2(), notation3(), notation4(), MiniPS::Parser::parse1(), parse_argument(), parse_argument2(), parse_attribute(), parse_bvalue(), parse_charstrings(), parse_encoding(), parse_enum(), parse_function(), parse_function_arguments(), parse_isend(), parse_nvalue(), parse_options(), parse_record(), parse_root(), parse_string(), parse_struct(), parse_subrs(), parse_svalue(), parse_type(), parse_type_name(), parse_typedef(), PostScriptFunction::parseCode(), UnicodeRemapping::parseFile(), GlobalParams::parseFloat(), GlobalParams::parseInteger(), GlobalParams::parsePSLevel(), GlobalParams::parsePSPaperSize(), GlobalParams::parsePSResidentFont16(), GlobalParams::parsePSResidentFontCC(), MiniPS::Parser::Parser(), parser_yylex(), parseRaw(), GlobalParams::parseScreenType(), ParseSimpleEncoding(), GlobalParams::parseStrokeAdjust(), GlobalParams::parseTextEOL(), CharCodeToUnicode::parseUnicodeToUnicode(), GlobalParams::parseYesNo(), PostScriptFunction::PostScriptFunction(), prolog0(), prolog1(), prolog2(), PSFontInterpretPS(), push_strings(), push_token(), require_token_line(), seek_operator(), SFApplyFeatureFile(), SFD_GetFont(), SFD_GetFontMetaData(), SFD_Read(), SFDGetChar(), SFDGetEncoding(), SFDGetNameList(), SFDGetSplineSet(), SFDParseChainContext(), SFDParseGlyphComposition(), SFDParseGradient(), SFDParseJustify(), SFDParseMacFeatures(), SFDParseMacNames(), SFDParseMathItem(), SFDParsePattern(), SFDParseStateMachine(), SFDReadAnchorPoints(), SFDStartsCorrectly(), UVector32::sortedInsert(), strsep(), token2binop(), FormFieldText::tokenizeDA(), tokenlist_from_lua(), tokenString(), try_cast(), try_put_or_putinterval(), and MiniPS::Parser::~Parser().

◆ tokadd()

static void tokadd ( parser_state p,
int32_t  c 
)
static

Definition at line 10383 of file y.tab.c.

References c, i, len, memcpy, mrb_malloc(), MRB_PARSER_TOKBUF_MAX,