nsgenbind
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Typedefs | Enumerations | Functions | Variables
webidl-parser.c File Reference
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <stdint.h>
#include <math.h>
#include "utils.h"
#include "webidl-parser.h"
#include "webidl-lexer.h"
#include "webidl-ast.h"
#include <limits.h>

Go to the source code of this file.

Classes

union  yyalloc
 
struct  yypcontext_t
 

Macros

#define YYBISON   30802
 
#define YYBISON_VERSION   "3.8.2"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYSTYPE   WEBIDL_STYPE
 
#define YYLTYPE   WEBIDL_LTYPE
 
#define yyparse   webidl_parse
 
#define yylex   webidl_lex
 
#define yyerror   webidl_error
 
#define yydebug   webidl_debug
 
#define yynerrs   webidl_nerrs
 
#define YYFPRINTF   webidl_fprintf
 
#define YY_LOCATION_PRINT(File, Loc)
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_NULLPTR   ((void*)0)
 
#define YYPTRDIFF_T   long
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYSIZE_T   unsigned
 
#define YYSIZE_MAXIMUM
 
#define YYSIZEOF(X)   YY_CAST (YYPTRDIFF_T, sizeof (X))
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YY_USE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   3
 
#define YYLAST   819
 
#define YYNTOKENS   81
 
#define YYNNTS   83
 
#define YYNRULES   232
 
#define YYNSTATES   387
 
#define YYMAXUTOK   320
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (yysymbol_kind_t, yystos[State])
 
#define YYPACT_NINF   (-289)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-94)
 
#define yytable_value_is_error(Yyn)    0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = WEBIDL_EMPTY)
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYNOMEM   goto yyexhaustedlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYERRCODE   WEBIDL_UNDEF
 
#define YYLLOC_DEFAULT(Current, Rhs, N)
 
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
 
#define YYDPRINTF(Args)
 
#define YYLOCATION_PRINT(File, Loc)   YY_LOCATION_PRINT(File, *(Loc))
 
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYCASE_(N, S)
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
 

Typedefs

typedef enum yysymbol_kind_t yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_int16 yy_state_t
 
typedef int yy_state_fast_t
 

Enumerations

enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_TOK_BINDING = 3 , YYSYMBOL_TOK_WEBIDL = 4 , YYSYMBOL_TOK_PREFACE = 5 , YYSYMBOL_TOK_PROLOGUE = 6 ,
  YYSYMBOL_TOK_EPILOGUE = 7 , YYSYMBOL_TOK_POSTFACE = 8 , YYSYMBOL_TOK_CLASS = 9 , YYSYMBOL_TOK_PRIVATE = 10 ,
  YYSYMBOL_TOK_INTERNAL = 11 , YYSYMBOL_TOK_FLAGS = 12 , YYSYMBOL_TOK_TYPE = 13 , YYSYMBOL_TOK_UNSHARED = 14 ,
  YYSYMBOL_TOK_SHARED = 15 , YYSYMBOL_TOK_PROPERTY = 16 , YYSYMBOL_TOK_INIT = 17 , YYSYMBOL_TOK_FINI = 18 ,
  YYSYMBOL_TOK_METHOD = 19 , YYSYMBOL_TOK_GETTER = 20 , YYSYMBOL_TOK_SETTER = 21 , YYSYMBOL_TOK_PROTOTYPE = 22 ,
  YYSYMBOL_TOK_DBLCOLON = 23 , YYSYMBOL_TOK_STRUCT = 24 , YYSYMBOL_TOK_UNION = 25 , YYSYMBOL_TOK_UNSIGNED = 26 ,
  YYSYMBOL_TOK_IDENTIFIER = 27 , YYSYMBOL_TOK_STRING_LITERAL = 28 , YYSYMBOL_TOK_CCODE_LITERAL = 29 , YYSYMBOL_30_ = 30 ,
  YYSYMBOL_31_ = 31 , YYSYMBOL_32_ = 32 , YYSYMBOL_33_ = 33 , YYSYMBOL_34_ = 34 ,
  YYSYMBOL_35_ = 35 , YYSYMBOL_36_ = 36 , YYSYMBOL_YYACCEPT = 37 , YYSYMBOL_Input = 38 ,
  YYSYMBOL_Statements = 39 , YYSYMBOL_Statement = 40 , YYSYMBOL_Binding = 41 , YYSYMBOL_BindingArgs = 42 ,
  YYSYMBOL_BindingArg = 43 , YYSYMBOL_WebIDL = 44 , YYSYMBOL_CTypeSpecifier = 45 , YYSYMBOL_CType = 46 ,
  YYSYMBOL_CTypeIdent = 47 , YYSYMBOL_CBlock = 48 , YYSYMBOL_ParameterList = 49 , YYSYMBOL_Method = 50 ,
  YYSYMBOL_MethodType = 51 , YYSYMBOL_BindingAndMethodType = 52 , YYSYMBOL_MethodName = 53 , YYSYMBOL_MethodDeclarator = 54 ,
  YYSYMBOL_Class = 55 , YYSYMBOL_ClassArgs = 56 , YYSYMBOL_ClassArg = 57 , YYSYMBOL_ClassFlags = 58 ,
  YYSYMBOL_Modifiers = 59 , YYSYMBOL_Modifier = 60 , YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 ,
  YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_TOK_ANY = 3 , YYSYMBOL_TOK_ATTRIBUTE = 4 ,
  YYSYMBOL_TOK_BOOLEAN = 5 , YYSYMBOL_TOK_BYTE = 6 , YYSYMBOL_TOK_CALLBACK = 7 , YYSYMBOL_TOK_CONST = 8 ,
  YYSYMBOL_TOK_CONSTRUCTOR = 9 , YYSYMBOL_TOK_CREATOR = 10 , YYSYMBOL_TOK_DATE = 11 , YYSYMBOL_TOK_DELETER = 12 ,
  YYSYMBOL_TOK_DICTIONARY = 13 , YYSYMBOL_TOK_DOUBLE = 14 , YYSYMBOL_TOK_ELLIPSIS = 15 , YYSYMBOL_TOK_ENUM = 16 ,
  YYSYMBOL_TOK_EOL = 17 , YYSYMBOL_TOK_EXCEPTION = 18 , YYSYMBOL_TOK_FALSE = 19 , YYSYMBOL_TOK_FLOAT = 20 ,
  YYSYMBOL_TOK_GETRAISES = 21 , YYSYMBOL_TOK_GETTER = 22 , YYSYMBOL_TOK_IMPLEMENTS = 23 , YYSYMBOL_TOK_IN = 24 ,
  YYSYMBOL_TOK_INFINITY = 25 , YYSYMBOL_TOK_INHERIT = 26 , YYSYMBOL_TOK_INTERFACE = 27 , YYSYMBOL_TOK_ITERABLE = 28 ,
  YYSYMBOL_TOK_LEGACYCALLER = 29 , YYSYMBOL_TOK_LEGACYITERABLE = 30 , YYSYMBOL_TOK_LONG = 31 , YYSYMBOL_TOK_MODULE = 32 ,
  YYSYMBOL_TOK_NAN = 33 , YYSYMBOL_TOK_NATIVE = 34 , YYSYMBOL_TOK_NAMEDCONSTRUCTOR = 35 , YYSYMBOL_TOK_NULL_LITERAL = 36 ,
  YYSYMBOL_TOK_OBJECT = 37 , YYSYMBOL_TOK_OCTET = 38 , YYSYMBOL_TOK_OMITTABLE = 39 , YYSYMBOL_TOK_OPTIONAL = 40 ,
  YYSYMBOL_TOK_OR = 41 , YYSYMBOL_TOK_PARTIAL = 42 , YYSYMBOL_TOK_PROMISE = 43 , YYSYMBOL_TOK_RAISES = 44 ,
  YYSYMBOL_TOK_READONLY = 45 , YYSYMBOL_TOK_REQUIRED = 46 , YYSYMBOL_TOK_SETRAISES = 47 , YYSYMBOL_TOK_SETTER = 48 ,
  YYSYMBOL_TOK_SEQUENCE = 49 , YYSYMBOL_TOK_SHORT = 50 , YYSYMBOL_TOK_STATIC = 51 , YYSYMBOL_TOK_STRING = 52 ,
  YYSYMBOL_TOK_STRINGIFIER = 53 , YYSYMBOL_TOK_TRUE = 54 , YYSYMBOL_TOK_TYPEDEF = 55 , YYSYMBOL_TOK_UNRESTRICTED = 56 ,
  YYSYMBOL_TOK_UNSIGNED = 57 , YYSYMBOL_TOK_VOID = 58 , YYSYMBOL_TOK_POUND_SIGN = 59 , YYSYMBOL_TOK_IDENTIFIER = 60 ,
  YYSYMBOL_TOK_INT_LITERAL = 61 , YYSYMBOL_TOK_FLOAT_LITERAL = 62 , YYSYMBOL_TOK_STRING_LITERAL = 63 , YYSYMBOL_TOK_OTHER_LITERAL = 64 ,
  YYSYMBOL_TOK_JAVADOC = 65 , YYSYMBOL_66_ = 66 , YYSYMBOL_67_ = 67 , YYSYMBOL_68_ = 68 ,
  YYSYMBOL_69_ = 69 , YYSYMBOL_70_ = 70 , YYSYMBOL_71_ = 71 , YYSYMBOL_72_ = 72 ,
  YYSYMBOL_73_ = 73 , YYSYMBOL_74_ = 74 , YYSYMBOL_75_ = 75 , YYSYMBOL_76_ = 76 ,
  YYSYMBOL_77_ = 77 , YYSYMBOL_78_ = 78 , YYSYMBOL_79_ = 79 , YYSYMBOL_80_ = 80 ,
  YYSYMBOL_YYACCEPT = 81 , YYSYMBOL_Definitions = 82 , YYSYMBOL_Definition = 83 , YYSYMBOL_CallbackOrInterface = 84 ,
  YYSYMBOL_CallbackRestOrInterface = 85 , YYSYMBOL_Interface = 86 , YYSYMBOL_Partial = 87 , YYSYMBOL_PartialDefinition = 88 ,
  YYSYMBOL_PartialInterface = 89 , YYSYMBOL_InterfaceMembers = 90 , YYSYMBOL_InterfaceMember = 91 , YYSYMBOL_Dictionary = 92 ,
  YYSYMBOL_DictionaryMembers = 93 , YYSYMBOL_DictionaryMember = 94 , YYSYMBOL_PartialDictionary = 95 , YYSYMBOL_Default = 96 ,
  YYSYMBOL_DefaultValue = 97 , YYSYMBOL_Exception = 98 , YYSYMBOL_ExceptionMembers = 99 , YYSYMBOL_Inheritance = 100 ,
  YYSYMBOL_Enum = 101 , YYSYMBOL_EnumValueList = 102 , YYSYMBOL_EnumValueListComma = 103 , YYSYMBOL_EnumValueListString = 104 ,
  YYSYMBOL_CallbackRest = 105 , YYSYMBOL_Typedef = 106 , YYSYMBOL_ImplementsStatement = 107 , YYSYMBOL_Const = 108 ,
  YYSYMBOL_ConstValue = 109 , YYSYMBOL_BooleanLiteral = 110 , YYSYMBOL_FloatLiteral = 111 , YYSYMBOL_AttributeOrOperation = 112 ,
  YYSYMBOL_StringifierAttributeOrOperation = 113 , YYSYMBOL_Attribute = 114 , YYSYMBOL_StaticMember = 115 , YYSYMBOL_StaticMemberRest = 116 ,
  YYSYMBOL_AttributeRest = 117 , YYSYMBOL_AttributeName = 118 , YYSYMBOL_AttributeNameKeyword = 119 , YYSYMBOL_Inherit = 120 ,
  YYSYMBOL_ReadOnly = 121 , YYSYMBOL_Operation = 122 , YYSYMBOL_SpecialOperation = 123 , YYSYMBOL_Specials = 124 ,
  YYSYMBOL_Special = 125 , YYSYMBOL_OperationRest = 126 , YYSYMBOL_OptionalIdentifier = 127 , YYSYMBOL_ArgumentList = 128 ,
  YYSYMBOL_Arguments = 129 , YYSYMBOL_Argument = 130 , YYSYMBOL_OptionalOrRequiredArgument = 131 , YYSYMBOL_ArgumentName = 132 ,
  YYSYMBOL_Ellipsis = 133 , YYSYMBOL_Iterable = 134 , YYSYMBOL_OptionalType = 135 , YYSYMBOL_ExceptionMember = 136 ,
  YYSYMBOL_ExceptionField = 137 , YYSYMBOL_ExtendedAttributeList = 138 , YYSYMBOL_ExtendedAttributes = 139 , YYSYMBOL_ExtendedAttribute = 140 ,
  YYSYMBOL_ExtendedAttributeRest = 141 , YYSYMBOL_ExtendedAttributeInner = 142 , YYSYMBOL_Other = 143 , YYSYMBOL_ArgumentNameKeyword = 144 ,
  YYSYMBOL_OtherOrComma = 145 , YYSYMBOL_Type = 146 , YYSYMBOL_SingleType = 147 , YYSYMBOL_UnionType = 148 ,
  YYSYMBOL_UnionMemberType = 149 , YYSYMBOL_UnionMemberTypes = 150 , YYSYMBOL_NonAnyType = 151 , YYSYMBOL_ConstType = 152 ,
  YYSYMBOL_PrimitiveType = 153 , YYSYMBOL_UnrestrictedFloatType = 154 , YYSYMBOL_FloatType = 155 , YYSYMBOL_UnsignedIntegerType = 156 ,
  YYSYMBOL_IntegerType = 157 , YYSYMBOL_OptionalLong = 158 , YYSYMBOL_PromiseType = 159 , YYSYMBOL_TypeSuffix = 160 ,
  YYSYMBOL_TypeSuffixStartingWithArray = 161 , YYSYMBOL_Null = 162 , YYSYMBOL_ReturnType = 163
}
 
enum  { YYENOMEM = -2 }
 

Functions

void * malloc (YYSIZE_T)
 
void free (void *)
 
int yyparse (struct webidl_node **webidl_ast)
 

Variables

int yydebug
 

Macro Definition Documentation

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 444 of file webidl-parser.c.

◆ YY_ACCESSING_SYMBOL

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

Accessing symbol of state STATE.

Definition at line 738 of file webidl-parser.c.

◆ YY_ASSERT

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

Definition at line 510 of file webidl-parser.c.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 453 of file webidl-parser.c.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 461 of file webidl-parser.c.

◆ YY_CAST

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

Definition at line 130 of file webidl-parser.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 490 of file webidl-parser.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 491 of file webidl-parser.c.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 505 of file webidl-parser.c.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 506 of file webidl-parser.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 487 of file webidl-parser.c.

◆ YY_LOCATION_PRINT

#define YY_LOCATION_PRINT (   File,
  Loc 
)
Value:
webidl_fprintf(File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column)
int webidl_fprintf(FILE *stream, const char *format,...)
Definition: webidl-ast.c:662

Definition at line 101 of file webidl-parser.c.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 142 of file webidl-parser.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)
Value:
do { \
if (yydebug) \
yy_reduce_print (yyssp, yyvsp, yylsp, Rule, webidl_ast); \
} while (0)
#define yydebug
Definition: webidl-parser.c:73

Definition at line 1438 of file webidl-parser.c.

◆ YY_REINTERPRET_CAST

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

Definition at line 131 of file webidl-parser.c.

◆ YY_STACK_PRINT

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

Definition at line 1406 of file webidl-parser.c.

◆ YY_SYMBOL_PRINT

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

Definition at line 1340 of file webidl-parser.c.

◆ YY_USE

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

Definition at line 467 of file webidl-parser.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 1211 of file webidl-parser.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 1210 of file webidl-parser.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
if (yychar == WEBIDL_EMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (&yylloc, webidl_ast, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
YYLTYPE * yylloc
if(!(yy_init))
#define YY_(Msgid)
@ WEBIDL_EMPTY
Definition: webidl-parser.h:61

Definition at line 1218 of file webidl-parser.c.

◆ YYBISON

#define YYBISON   30802

Definition at line 49 of file webidl-parser.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

Definition at line 52 of file webidl-parser.c.

◆ YYCASE_

#define YYCASE_ (   N,
 
)
Value:
case N: \
yyformat = S; \
break

◆ yyclearin

#define yyclearin   (yychar = WEBIDL_EMPTY)

Definition at line 1208 of file webidl-parser.c.

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)

Definition at line 630 of file webidl-parser.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 602 of file webidl-parser.c.

◆ yydebug

#define yydebug   webidl_debug

Definition at line 73 of file webidl-parser.c.

◆ YYDPRINTF

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

Definition at line 1274 of file webidl-parser.c.

◆ YYERRCODE

#define YYERRCODE   WEBIDL_UNDEF

Definition at line 1237 of file webidl-parser.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 1207 of file webidl-parser.c.

◆ yyerror

#define yyerror   webidl_error

Definition at line 72 of file webidl-parser.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 1212 of file webidl-parser.c.

◆ YYFINAL

#define YYFINAL   3

Definition at line 643 of file webidl-parser.c.

◆ YYFPRINTF

#define YYFPRINTF   webidl_fprintf

Definition at line 100 of file webidl-parser.c.

◆ YYFREE

#define YYFREE   free

Definition at line 571 of file webidl-parser.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 1457 of file webidl-parser.c.

◆ YYLAST

#define YYLAST   819

Definition at line 645 of file webidl-parser.c.

◆ yylex

#define yylex   webidl_lex

Definition at line 71 of file webidl-parser.c.

◆ YYLLOC_DEFAULT

#define YYLLOC_DEFAULT (   Current,
  Rhs,
 
)
Value:
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#define YYRHSLOC(Rhs, K)

Definition at line 1244 of file webidl-parser.c.

◆ YYLOCATION_PRINT

#define YYLOCATION_PRINT (   File,
  Loc 
)    YY_LOCATION_PRINT(File, *(Loc))

Definition at line 1291 of file webidl-parser.c.

◆ YYLTYPE

#define YYLTYPE   WEBIDL_LTYPE

Definition at line 68 of file webidl-parser.c.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 565 of file webidl-parser.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 1468 of file webidl-parser.c.

◆ YYMAXUTOK

#define YYMAXUTOK   320

Definition at line 657 of file webidl-parser.c.

◆ yynerrs

#define yynerrs   webidl_nerrs

Definition at line 74 of file webidl-parser.c.

◆ YYNNTS

#define YYNNTS   83

Definition at line 650 of file webidl-parser.c.

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

Definition at line 1213 of file webidl-parser.c.

◆ YYNRULES

#define YYNRULES   232

Definition at line 652 of file webidl-parser.c.

◆ YYNSTATES

#define YYNSTATES   387

Definition at line 654 of file webidl-parser.c.

◆ YYNTOKENS

#define YYNTOKENS   81

Definition at line 648 of file webidl-parser.c.

◆ YYPACT_NINF

#define YYPACT_NINF   (-289)

Definition at line 797 of file webidl-parser.c.

◆ yypact_value_is_default

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

Definition at line 799 of file webidl-parser.c.

◆ yyparse

#define yyparse   webidl_parse

Definition at line 70 of file webidl-parser.c.

◆ YYPOPSTACK

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 404 of file webidl-parser.c.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 403 of file webidl-parser.c.

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file webidl-parser.c.

◆ YYPURE

#define YYPURE   1

Definition at line 58 of file webidl-parser.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file webidl-parser.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 1216 of file webidl-parser.c.

◆ YYRHSLOC

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

Definition at line 1263 of file webidl-parser.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
#define YY_CAST(Type, Val)
#define YYSIZE_T
#define YYPTRDIFF_T

Definition at line 421 of file webidl-parser.c.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 417 of file webidl-parser.c.

◆ YYSIZEOF

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

Definition at line 427 of file webidl-parser.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file webidl-parser.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 551 of file webidl-parser.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 554 of file webidl-parser.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
yytype_int8 yy_state_t
#define YYSTYPE
Definition: webidl-parser.c:67
#define YYSIZEOF(X)
#define YYSTACK_GAP_MAXIMUM

Definition at line 597 of file webidl-parser.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 552 of file webidl-parser.c.

◆ YYSTACK_GAP_MAXIMUM

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

Definition at line 593 of file webidl-parser.c.

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)

Definition at line 609 of file webidl-parser.c.

◆ YYSTYPE

#define YYSTYPE   WEBIDL_STYPE

Definition at line 67 of file webidl-parser.c.

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-94)

Definition at line 802 of file webidl-parser.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)     0

Definition at line 804 of file webidl-parser.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
yysymbol_kind_t
@ YYSYMBOL_YYUNDEF
#define YYMAXUTOK

Definition at line 662 of file webidl-parser.c.

Typedef Documentation

◆ yy_state_fast_t

Definition at line 434 of file webidl-parser.c.

◆ yy_state_t

Definition at line 431 of file webidl-parser.c.

◆ yysymbol_kind_t

Definition at line 316 of file webidl-parser.c.

◆ yytype_int16

Definition at line 355 of file webidl-parser.c.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 347 of file webidl-parser.c.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 387 of file webidl-parser.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 376 of file webidl-parser.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 1205 of file webidl-parser.c.

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_TOK_BINDING 
YYSYMBOL_TOK_WEBIDL 
YYSYMBOL_TOK_PREFACE 
YYSYMBOL_TOK_PROLOGUE 
YYSYMBOL_TOK_EPILOGUE 
YYSYMBOL_TOK_POSTFACE 
YYSYMBOL_TOK_CLASS 
YYSYMBOL_TOK_PRIVATE 
YYSYMBOL_TOK_INTERNAL 
YYSYMBOL_TOK_FLAGS 
YYSYMBOL_TOK_TYPE 
YYSYMBOL_TOK_UNSHARED 
YYSYMBOL_TOK_SHARED 
YYSYMBOL_TOK_PROPERTY 
YYSYMBOL_TOK_INIT 
YYSYMBOL_TOK_FINI 
YYSYMBOL_TOK_METHOD 
YYSYMBOL_TOK_GETTER 
YYSYMBOL_TOK_SETTER 
YYSYMBOL_TOK_PROTOTYPE 
YYSYMBOL_TOK_DBLCOLON 
YYSYMBOL_TOK_STRUCT 
YYSYMBOL_TOK_UNION 
YYSYMBOL_TOK_UNSIGNED 
YYSYMBOL_TOK_IDENTIFIER 
YYSYMBOL_TOK_STRING_LITERAL 
YYSYMBOL_TOK_CCODE_LITERAL 
YYSYMBOL_30_ 
YYSYMBOL_31_ 
YYSYMBOL_32_ 
YYSYMBOL_33_ 
YYSYMBOL_34_ 
YYSYMBOL_35_ 
YYSYMBOL_36_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_Input 
YYSYMBOL_Statements 
YYSYMBOL_Statement 
YYSYMBOL_Binding 
YYSYMBOL_BindingArgs 
YYSYMBOL_BindingArg 
YYSYMBOL_WebIDL 
YYSYMBOL_CTypeSpecifier 
YYSYMBOL_CType 
YYSYMBOL_CTypeIdent 
YYSYMBOL_CBlock 
YYSYMBOL_ParameterList 
YYSYMBOL_Method 
YYSYMBOL_MethodType 
YYSYMBOL_BindingAndMethodType 
YYSYMBOL_MethodName 
YYSYMBOL_MethodDeclarator 
YYSYMBOL_Class 
YYSYMBOL_ClassArgs 
YYSYMBOL_ClassArg 
YYSYMBOL_ClassFlags 
YYSYMBOL_Modifiers 
YYSYMBOL_Modifier 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_TOK_ANY 
YYSYMBOL_TOK_ATTRIBUTE 
YYSYMBOL_TOK_BOOLEAN 
YYSYMBOL_TOK_BYTE 
YYSYMBOL_TOK_CALLBACK 
YYSYMBOL_TOK_CONST 
YYSYMBOL_TOK_CONSTRUCTOR 
YYSYMBOL_TOK_CREATOR 
YYSYMBOL_TOK_DATE 
YYSYMBOL_TOK_DELETER 
YYSYMBOL_TOK_DICTIONARY 
YYSYMBOL_TOK_DOUBLE 
YYSYMBOL_TOK_ELLIPSIS 
YYSYMBOL_TOK_ENUM 
YYSYMBOL_TOK_EOL 
YYSYMBOL_TOK_EXCEPTION 
YYSYMBOL_TOK_FALSE 
YYSYMBOL_TOK_FLOAT 
YYSYMBOL_TOK_GETRAISES 
YYSYMBOL_TOK_GETTER 
YYSYMBOL_TOK_IMPLEMENTS 
YYSYMBOL_TOK_IN 
YYSYMBOL_TOK_INFINITY 
YYSYMBOL_TOK_INHERIT 
YYSYMBOL_TOK_INTERFACE 
YYSYMBOL_TOK_ITERABLE 
YYSYMBOL_TOK_LEGACYCALLER 
YYSYMBOL_TOK_LEGACYITERABLE 
YYSYMBOL_TOK_LONG 
YYSYMBOL_TOK_MODULE 
YYSYMBOL_TOK_NAN 
YYSYMBOL_TOK_NATIVE 
YYSYMBOL_TOK_NAMEDCONSTRUCTOR 
YYSYMBOL_TOK_NULL_LITERAL 
YYSYMBOL_TOK_OBJECT 
YYSYMBOL_TOK_OCTET 
YYSYMBOL_TOK_OMITTABLE 
YYSYMBOL_TOK_OPTIONAL 
YYSYMBOL_TOK_OR 
YYSYMBOL_TOK_PARTIAL 
YYSYMBOL_TOK_PROMISE 
YYSYMBOL_TOK_RAISES 
YYSYMBOL_TOK_READONLY 
YYSYMBOL_TOK_REQUIRED 
YYSYMBOL_TOK_SETRAISES 
YYSYMBOL_TOK_SETTER 
YYSYMBOL_TOK_SEQUENCE 
YYSYMBOL_TOK_SHORT 
YYSYMBOL_TOK_STATIC 
YYSYMBOL_TOK_STRING 
YYSYMBOL_TOK_STRINGIFIER 
YYSYMBOL_TOK_TRUE 
YYSYMBOL_TOK_TYPEDEF 
YYSYMBOL_TOK_UNRESTRICTED 
YYSYMBOL_TOK_UNSIGNED 
YYSYMBOL_TOK_VOID 
YYSYMBOL_TOK_POUND_SIGN 
YYSYMBOL_TOK_IDENTIFIER 
YYSYMBOL_TOK_INT_LITERAL 
YYSYMBOL_TOK_FLOAT_LITERAL 
YYSYMBOL_TOK_STRING_LITERAL 
YYSYMBOL_TOK_OTHER_LITERAL 
YYSYMBOL_TOK_JAVADOC 
YYSYMBOL_66_ 
YYSYMBOL_67_ 
YYSYMBOL_68_ 
YYSYMBOL_69_ 
YYSYMBOL_70_ 
YYSYMBOL_71_ 
YYSYMBOL_72_ 
YYSYMBOL_73_ 
YYSYMBOL_74_ 
YYSYMBOL_75_ 
YYSYMBOL_76_ 
YYSYMBOL_77_ 
YYSYMBOL_78_ 
YYSYMBOL_79_ 
YYSYMBOL_80_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_Definitions 
YYSYMBOL_Definition 
YYSYMBOL_CallbackOrInterface 
YYSYMBOL_CallbackRestOrInterface 
YYSYMBOL_Interface 
YYSYMBOL_Partial 
YYSYMBOL_PartialDefinition 
YYSYMBOL_PartialInterface 
YYSYMBOL_InterfaceMembers 
YYSYMBOL_InterfaceMember 
YYSYMBOL_Dictionary 
YYSYMBOL_DictionaryMembers 
YYSYMBOL_DictionaryMember 
YYSYMBOL_PartialDictionary 
YYSYMBOL_Default 
YYSYMBOL_DefaultValue 
YYSYMBOL_Exception 
YYSYMBOL_ExceptionMembers 
YYSYMBOL_Inheritance 
YYSYMBOL_Enum 
YYSYMBOL_EnumValueList 
YYSYMBOL_EnumValueListComma 
YYSYMBOL_EnumValueListString 
YYSYMBOL_CallbackRest 
YYSYMBOL_Typedef 
YYSYMBOL_ImplementsStatement 
YYSYMBOL_Const 
YYSYMBOL_ConstValue 
YYSYMBOL_BooleanLiteral 
YYSYMBOL_FloatLiteral 
YYSYMBOL_AttributeOrOperation 
YYSYMBOL_StringifierAttributeOrOperation 
YYSYMBOL_Attribute 
YYSYMBOL_StaticMember 
YYSYMBOL_StaticMemberRest 
YYSYMBOL_AttributeRest 
YYSYMBOL_AttributeName 
YYSYMBOL_AttributeNameKeyword 
YYSYMBOL_Inherit 
YYSYMBOL_ReadOnly 
YYSYMBOL_Operation 
YYSYMBOL_SpecialOperation 
YYSYMBOL_Specials 
YYSYMBOL_Special 
YYSYMBOL_OperationRest 
YYSYMBOL_OptionalIdentifier 
YYSYMBOL_ArgumentList 
YYSYMBOL_Arguments 
YYSYMBOL_Argument 
YYSYMBOL_OptionalOrRequiredArgument 
YYSYMBOL_ArgumentName 
YYSYMBOL_Ellipsis 
YYSYMBOL_Iterable 
YYSYMBOL_OptionalType 
YYSYMBOL_ExceptionMember 
YYSYMBOL_ExceptionField 
YYSYMBOL_ExtendedAttributeList 
YYSYMBOL_ExtendedAttributes 
YYSYMBOL_ExtendedAttribute 
YYSYMBOL_ExtendedAttributeRest 
YYSYMBOL_ExtendedAttributeInner 
YYSYMBOL_Other 
YYSYMBOL_ArgumentNameKeyword 
YYSYMBOL_OtherOrComma 
YYSYMBOL_Type 
YYSYMBOL_SingleType 
YYSYMBOL_UnionType 
YYSYMBOL_UnionMemberType 
YYSYMBOL_UnionMemberTypes 
YYSYMBOL_NonAnyType 
YYSYMBOL_ConstType 
YYSYMBOL_PrimitiveType 
YYSYMBOL_UnrestrictedFloatType 
YYSYMBOL_FloatType 
YYSYMBOL_UnsignedIntegerType 
YYSYMBOL_IntegerType 
YYSYMBOL_OptionalLong 
YYSYMBOL_PromiseType 
YYSYMBOL_TypeSuffix 
YYSYMBOL_TypeSuffixStartingWithArray 
YYSYMBOL_Null 
YYSYMBOL_ReturnType 

Definition at line 148 of file webidl-parser.c.

Function Documentation

◆ free()

void free ( void *  )

◆ malloc()

void * malloc ( YYSIZE_T  )

◆ yyparse()

int yyparse ( struct webidl_node **  webidl_ast)
Todo:
handle ExtendedAttributeList

Definition at line 1774 of file webidl-parser.c.

Variable Documentation

◆ yydebug

int yydebug

Definition at line 1446 of file webidl-parser.c.