slow_blink 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/slow_blink/ext_schema_parser/lexer.c +7 -7
- data/ext/slow_blink/ext_schema_parser/parser.c +384 -347
- data/ext/slow_blink/ext_schema_parser/parser.h +9 -1
- data/ext/slow_blink/message/ext_compact_encoder/ext_compact_encoder.c +2 -12
- data/lib/slow_blink/schema.rb +9 -2
- data/lib/slow_blink/version.rb +1 -1
- metadata +3 -3
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
/* First part of user declarations. */
|
53
|
-
#line
|
53
|
+
#line 13 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:240 */
|
54
54
|
|
55
55
|
|
56
56
|
typedef void * yyscan_t;
|
@@ -61,16 +61,18 @@ typedef void * yyscan_t;
|
|
61
61
|
#include "parser.h"
|
62
62
|
#include "lexer.h"
|
63
63
|
|
64
|
-
|
64
|
+
YY_DECL;
|
65
65
|
|
66
|
-
|
67
|
-
|
66
|
+
void yyerror(YYLTYPE *locp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree, char const *msg);
|
67
|
+
|
68
|
+
static VALUE parseFileBuffer(VALUE self, VALUE buffer, VALUE filename);
|
69
|
+
static VALUE newLocation(VALUE filename, VALUE crefs, const YYLTYPE *locp);
|
68
70
|
|
69
71
|
static VALUE cSlowBlink;
|
70
72
|
static VALUE cParseError;
|
71
73
|
|
72
74
|
|
73
|
-
#line
|
75
|
+
#line 76 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:240 */
|
74
76
|
|
75
77
|
# ifndef YY_NULLPTR
|
76
78
|
# if defined __cplusplus && 201103L <= __cplusplus
|
@@ -103,7 +105,7 @@ static YYLTYPE yyloc_default
|
|
103
105
|
|
104
106
|
/* Copy the second part of user declarations. */
|
105
107
|
|
106
|
-
#line
|
108
|
+
#line 109 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:263 */
|
107
109
|
|
108
110
|
#include <stdio.h>
|
109
111
|
#include <stdlib.h>
|
@@ -272,19 +274,19 @@ static const unsigned char yytranslate[] =
|
|
272
274
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
273
275
|
static const unsigned short int yyrline[] =
|
274
276
|
{
|
275
|
-
0,
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
277
|
+
0, 84, 84, 91, 98, 108, 115, 121, 128, 134,
|
278
|
+
140, 144, 156, 158, 162, 175, 177, 187, 193, 200,
|
279
|
+
207, 214, 229, 234, 241, 243, 247, 252, 254, 256,
|
280
|
+
261, 266, 268, 276, 286, 293, 300, 310, 317, 327,
|
281
|
+
338, 343, 350, 358, 369, 377, 385, 393, 401, 409,
|
282
|
+
417, 425, 433, 441, 451, 459, 467, 475, 483, 494,
|
283
|
+
503, 510, 519, 526, 537, 539, 544, 551, 557, 561,
|
284
|
+
568, 574, 583, 585, 592, 603, 605, 610, 617, 628,
|
285
|
+
636, 644, 653, 662, 674, 681, 688, 690, 692, 694,
|
286
|
+
698, 700, 704, 706, 710, 715, 720, 725, 730, 735,
|
287
|
+
740, 745, 750, 755, 760, 765, 770, 775, 780, 785,
|
288
|
+
790, 795, 800, 805, 810, 815, 820, 827, 831, 833,
|
289
|
+
837, 841, 843, 847, 851, 855
|
288
290
|
};
|
289
291
|
#endif
|
290
292
|
|
@@ -695,13 +697,14 @@ yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
|
|
695
697
|
`----------------------------------------*/
|
696
698
|
|
697
699
|
static void
|
698
|
-
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
700
|
+
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
699
701
|
{
|
700
702
|
FILE *yyo = yyoutput;
|
701
703
|
YYUSE (yyo);
|
702
704
|
YYUSE (yylocationp);
|
703
705
|
YYUSE (scanner);
|
704
706
|
YYUSE (filename);
|
707
|
+
YYUSE (crefs);
|
705
708
|
YYUSE (tree);
|
706
709
|
if (!yyvaluep)
|
707
710
|
return;
|
@@ -714,14 +717,14 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
|
|
714
717
|
`--------------------------------*/
|
715
718
|
|
716
719
|
static void
|
717
|
-
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
720
|
+
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
718
721
|
{
|
719
722
|
YYFPRINTF (yyoutput, "%s %s (",
|
720
723
|
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
|
721
724
|
|
722
725
|
YY_LOCATION_PRINT (yyoutput, *yylocationp);
|
723
726
|
YYFPRINTF (yyoutput, ": ");
|
724
|
-
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, scanner, filename, tree);
|
727
|
+
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, scanner, filename, crefs, tree);
|
725
728
|
YYFPRINTF (yyoutput, ")");
|
726
729
|
}
|
727
730
|
|
@@ -730,7 +733,7 @@ yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYL
|
|
730
733
|
if (yydebug) \
|
731
734
|
{ \
|
732
735
|
YYFPRINTF (stderr, "%s ", Title); \
|
733
|
-
yy_symbol_print (stderr, Type, Value, Location, scanner, filename, tree); \
|
736
|
+
yy_symbol_print (stderr, Type, Value, Location, scanner, filename, crefs, tree); \
|
734
737
|
YYFPRINTF (stderr, "\n"); \
|
735
738
|
} \
|
736
739
|
} while (0)
|
@@ -965,10 +968,10 @@ static void yyexpandGLRStack (yyGLRStack* yystackp);
|
|
965
968
|
#endif
|
966
969
|
|
967
970
|
static _Noreturn void
|
968
|
-
yyFail (yyGLRStack* yystackp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree, const char* yymsg)
|
971
|
+
yyFail (yyGLRStack* yystackp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree, const char* yymsg)
|
969
972
|
{
|
970
973
|
if (yymsg != YY_NULLPTR)
|
971
|
-
yyerror (yylocp, scanner, filename, tree, yymsg);
|
974
|
+
yyerror (yylocp, scanner, filename, crefs, tree, yymsg);
|
972
975
|
YYLONGJMP (yystackp->yyexception_buffer, 1);
|
973
976
|
}
|
974
977
|
|
@@ -1040,7 +1043,7 @@ yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
|
|
1040
1043
|
static YYRESULTTAG
|
1041
1044
|
yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
1042
1045
|
yyGLRStack* yystackp,
|
1043
|
-
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
1046
|
+
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
1044
1047
|
{
|
1045
1048
|
yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR);
|
1046
1049
|
int yylow;
|
@@ -1048,6 +1051,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
|
1048
1051
|
YYUSE (yylocp);
|
1049
1052
|
YYUSE (scanner);
|
1050
1053
|
YYUSE (filename);
|
1054
|
+
YYUSE (crefs);
|
1051
1055
|
YYUSE (tree);
|
1052
1056
|
YYUSE (yyrhslen);
|
1053
1057
|
# undef yyerrok
|
@@ -1066,7 +1070,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
|
1066
1070
|
# define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
|
1067
1071
|
# undef YYBACKUP
|
1068
1072
|
# define YYBACKUP(Token, Value) \
|
1069
|
-
return yyerror (yylocp, scanner, filename, tree, YY_("syntax error: cannot back up")), \
|
1073
|
+
return yyerror (yylocp, scanner, filename, crefs, tree, YY_("syntax error: cannot back up")), \
|
1070
1074
|
yyerrok, yyerr
|
1071
1075
|
|
1072
1076
|
yylow = 1;
|
@@ -1080,871 +1084,918 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
|
1080
1084
|
switch (yyn)
|
1081
1085
|
{
|
1082
1086
|
case 2:
|
1083
|
-
#line
|
1087
|
+
#line 85 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1084
1088
|
{
|
1085
1089
|
*tree = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1086
1090
|
}
|
1087
|
-
#line
|
1091
|
+
#line 1092 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1088
1092
|
break;
|
1089
1093
|
|
1090
1094
|
case 3:
|
1091
|
-
#line
|
1092
|
-
{
|
1095
|
+
#line 92 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1096
|
+
{
|
1093
1097
|
((*yyvalp)) = rb_hash_new();
|
1098
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1094
1099
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("defs")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1095
1100
|
}
|
1096
|
-
#line
|
1101
|
+
#line 1102 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1097
1102
|
break;
|
1098
1103
|
|
1099
1104
|
case 4:
|
1100
|
-
#line
|
1105
|
+
#line 99 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1101
1106
|
{
|
1102
1107
|
((*yyvalp)) = rb_hash_new();
|
1108
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1103
1109
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("defs")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1104
1110
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1105
1111
|
}
|
1106
|
-
#line
|
1112
|
+
#line 1113 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1107
1113
|
break;
|
1108
1114
|
|
1109
1115
|
case 5:
|
1110
|
-
#line
|
1116
|
+
#line 109 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1111
1117
|
{
|
1112
1118
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1113
1119
|
}
|
1114
|
-
#line
|
1120
|
+
#line 1121 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1115
1121
|
break;
|
1116
1122
|
|
1117
1123
|
case 6:
|
1118
|
-
#line
|
1124
|
+
#line 116 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1119
1125
|
{
|
1120
1126
|
((*yyvalp)) = rb_ary_new();
|
1127
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1121
1128
|
}
|
1122
|
-
#line
|
1129
|
+
#line 1130 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1123
1130
|
break;
|
1124
1131
|
|
1125
1132
|
case 7:
|
1126
|
-
#line
|
1133
|
+
#line 122 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1127
1134
|
{
|
1128
1135
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1129
1136
|
}
|
1130
|
-
#line
|
1137
|
+
#line 1138 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1131
1138
|
break;
|
1132
1139
|
|
1133
1140
|
case 8:
|
1134
|
-
#line
|
1141
|
+
#line 129 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1135
1142
|
{
|
1136
1143
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1137
1144
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1138
1145
|
}
|
1139
|
-
#line
|
1146
|
+
#line 1147 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1140
1147
|
break;
|
1141
1148
|
|
1142
1149
|
case 9:
|
1143
|
-
#line
|
1150
|
+
#line 135 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1144
1151
|
{
|
1145
1152
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1146
1153
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1147
1154
|
}
|
1148
|
-
#line
|
1155
|
+
#line 1156 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1149
1156
|
break;
|
1150
1157
|
|
1151
1158
|
case 11:
|
1152
|
-
#line
|
1159
|
+
#line 145 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1153
1160
|
{
|
1154
1161
|
((*yyvalp)) = rb_hash_new();
|
1162
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1155
1163
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("Definition")));
|
1156
1164
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1157
1165
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("type")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1158
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1166
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1159
1167
|
}
|
1160
|
-
#line
|
1168
|
+
#line 1169 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1161
1169
|
break;
|
1162
1170
|
|
1163
1171
|
case 14:
|
1164
|
-
#line
|
1172
|
+
#line 163 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1165
1173
|
{
|
1166
1174
|
((*yyvalp)) = rb_hash_new();
|
1175
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1167
1176
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("Group")));
|
1168
1177
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1169
1178
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("super")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1170
1179
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("fields")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1171
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1180
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1172
1181
|
}
|
1173
|
-
#line
|
1182
|
+
#line 1183 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1174
1183
|
break;
|
1175
1184
|
|
1176
1185
|
case 16:
|
1177
|
-
#line
|
1186
|
+
#line 178 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1178
1187
|
{
|
1179
1188
|
((*yyvalp)) = rb_hash_new();
|
1180
|
-
|
1189
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1190
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc)));
|
1181
1191
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1182
1192
|
}
|
1183
|
-
#line
|
1193
|
+
#line 1194 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1184
1194
|
break;
|
1185
1195
|
|
1186
1196
|
case 17:
|
1187
|
-
#line
|
1197
|
+
#line 188 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1188
1198
|
{
|
1189
1199
|
((*yyvalp)) = rb_ary_new();
|
1200
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1190
1201
|
}
|
1191
|
-
#line
|
1202
|
+
#line 1203 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1192
1203
|
break;
|
1193
1204
|
|
1194
1205
|
case 18:
|
1195
|
-
#line
|
1206
|
+
#line 194 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1196
1207
|
{
|
1197
1208
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1198
1209
|
}
|
1199
|
-
#line
|
1210
|
+
#line 1211 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1200
1211
|
break;
|
1201
1212
|
|
1202
1213
|
case 19:
|
1203
|
-
#line
|
1214
|
+
#line 201 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1204
1215
|
{
|
1205
1216
|
((*yyvalp)) = rb_ary_new();
|
1217
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1206
1218
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1207
1219
|
}
|
1208
|
-
#line
|
1220
|
+
#line 1221 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1209
1221
|
break;
|
1210
1222
|
|
1211
1223
|
case 20:
|
1212
|
-
#line
|
1224
|
+
#line 208 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1213
1225
|
{
|
1214
1226
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1215
1227
|
}
|
1216
|
-
#line
|
1228
|
+
#line 1229 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1217
1229
|
break;
|
1218
1230
|
|
1219
1231
|
case 21:
|
1220
|
-
#line
|
1232
|
+
#line 215 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1221
1233
|
{
|
1222
1234
|
((*yyvalp)) = rb_hash_new();
|
1235
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1223
1236
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("Field")));
|
1224
1237
|
rb_hash_aset((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
|
1225
1238
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("type")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
|
1226
1239
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1227
1240
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1228
1241
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("optional")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1229
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1242
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1230
1243
|
}
|
1231
|
-
#line
|
1244
|
+
#line 1245 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1232
1245
|
break;
|
1233
1246
|
|
1234
1247
|
case 22:
|
1235
|
-
#line
|
1248
|
+
#line 230 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1236
1249
|
{
|
1237
1250
|
((*yyvalp)) = Qfalse;
|
1238
1251
|
}
|
1239
|
-
#line
|
1252
|
+
#line 1253 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1240
1253
|
break;
|
1241
1254
|
|
1242
1255
|
case 23:
|
1243
|
-
#line
|
1256
|
+
#line 235 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1244
1257
|
{
|
1245
1258
|
((*yyvalp)) = Qtrue;
|
1246
1259
|
}
|
1247
|
-
#line
|
1260
|
+
#line 1261 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1248
1261
|
break;
|
1249
1262
|
|
1250
1263
|
case 26:
|
1251
|
-
#line
|
1264
|
+
#line 248 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1252
1265
|
{
|
1253
1266
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("REF")));
|
1254
1267
|
}
|
1255
|
-
#line
|
1268
|
+
#line 1269 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1256
1269
|
break;
|
1257
1270
|
|
1258
1271
|
case 29:
|
1259
|
-
#line
|
1272
|
+
#line 257 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1260
1273
|
{
|
1261
1274
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("STRING")));
|
1262
1275
|
}
|
1263
|
-
#line
|
1276
|
+
#line 1277 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1264
1277
|
break;
|
1265
1278
|
|
1266
1279
|
case 30:
|
1267
|
-
#line
|
1280
|
+
#line 262 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1268
1281
|
{
|
1269
1282
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("BINARY")));
|
1270
1283
|
}
|
1271
|
-
#line
|
1284
|
+
#line 1285 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1272
1285
|
break;
|
1273
1286
|
|
1274
1287
|
case 32:
|
1275
|
-
#line
|
1288
|
+
#line 269 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1276
1289
|
{
|
1277
1290
|
((*yyvalp)) = rb_hash_new();
|
1291
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1278
1292
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("BOOLEAN")));
|
1279
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1293
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1280
1294
|
}
|
1281
|
-
#line
|
1295
|
+
#line 1296 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1282
1296
|
break;
|
1283
1297
|
|
1284
1298
|
case 33:
|
1285
|
-
#line
|
1299
|
+
#line 277 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1286
1300
|
{
|
1287
1301
|
((*yyvalp)) = rb_hash_new();
|
1302
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1288
1303
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("OBJECT")));
|
1289
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1304
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1290
1305
|
}
|
1291
|
-
#line
|
1306
|
+
#line 1307 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1292
1307
|
break;
|
1293
1308
|
|
1294
1309
|
case 34:
|
1295
|
-
#line
|
1310
|
+
#line 287 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1296
1311
|
{
|
1297
1312
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("sequence")), Qtrue);
|
1298
1313
|
}
|
1299
|
-
#line
|
1314
|
+
#line 1315 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1300
1315
|
break;
|
1301
1316
|
|
1302
1317
|
case 35:
|
1303
|
-
#line
|
1318
|
+
#line 294 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1304
1319
|
{
|
1305
|
-
((*yyvalp)) = rb_hash_new();
|
1306
|
-
|
1320
|
+
((*yyvalp)) = rb_hash_new();
|
1321
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1322
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1307
1323
|
}
|
1308
|
-
#line
|
1324
|
+
#line 1325 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1309
1325
|
break;
|
1310
1326
|
|
1311
1327
|
case 36:
|
1312
|
-
#line
|
1328
|
+
#line 301 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1313
1329
|
{
|
1314
1330
|
((*yyvalp)) = rb_hash_new();
|
1315
|
-
|
1331
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1332
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1316
1333
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("size")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1317
1334
|
}
|
1318
|
-
#line
|
1335
|
+
#line 1336 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1319
1336
|
break;
|
1320
1337
|
|
1321
1338
|
case 37:
|
1322
|
-
#line
|
1339
|
+
#line 311 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1323
1340
|
{
|
1324
1341
|
((*yyvalp)) = rb_hash_new();
|
1325
|
-
|
1342
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1343
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1326
1344
|
}
|
1327
|
-
#line
|
1345
|
+
#line 1346 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1328
1346
|
break;
|
1329
1347
|
|
1330
1348
|
case 38:
|
1331
|
-
#line
|
1349
|
+
#line 318 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1332
1350
|
{
|
1333
1351
|
((*yyvalp)) = rb_hash_new();
|
1352
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1334
1353
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("size")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1335
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1354
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1336
1355
|
}
|
1337
|
-
#line
|
1356
|
+
#line 1357 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1338
1357
|
break;
|
1339
1358
|
|
1340
1359
|
case 39:
|
1341
|
-
#line
|
1360
|
+
#line 328 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1342
1361
|
{
|
1343
1362
|
((*yyvalp)) = rb_hash_new();
|
1363
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1344
1364
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("FIXED")));
|
1345
1365
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("size")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1346
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1366
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1347
1367
|
}
|
1348
|
-
#line
|
1368
|
+
#line 1369 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1349
1369
|
break;
|
1350
1370
|
|
1351
1371
|
case 40:
|
1352
|
-
#line
|
1372
|
+
#line 339 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1353
1373
|
{
|
1354
1374
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval);
|
1355
1375
|
}
|
1356
|
-
#line
|
1376
|
+
#line 1377 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1357
1377
|
break;
|
1358
1378
|
|
1359
1379
|
case 41:
|
1360
|
-
#line
|
1380
|
+
#line 344 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1361
1381
|
{
|
1362
1382
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval);
|
1363
1383
|
}
|
1364
|
-
#line
|
1384
|
+
#line 1385 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1365
1385
|
break;
|
1366
1386
|
|
1367
1387
|
case 42:
|
1368
|
-
#line
|
1388
|
+
#line 351 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1369
1389
|
{
|
1370
|
-
((*yyvalp)) = rb_hash_new();
|
1390
|
+
((*yyvalp)) = rb_hash_new();
|
1391
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1371
1392
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1372
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1393
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1373
1394
|
}
|
1374
|
-
#line
|
1395
|
+
#line 1396 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1375
1396
|
break;
|
1376
1397
|
|
1377
1398
|
case 43:
|
1378
|
-
#line
|
1399
|
+
#line 359 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1379
1400
|
{
|
1380
1401
|
((*yyvalp)) = rb_hash_new();
|
1402
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1381
1403
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1382
1404
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("dynamic")), Qtrue);
|
1383
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1405
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1384
1406
|
}
|
1385
|
-
#line
|
1407
|
+
#line 1408 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1386
1408
|
break;
|
1387
1409
|
|
1388
1410
|
case 44:
|
1389
|
-
#line
|
1411
|
+
#line 370 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1390
1412
|
{
|
1391
1413
|
((*yyvalp)) = rb_hash_new();
|
1414
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1392
1415
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("I8")));
|
1393
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1416
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1394
1417
|
}
|
1395
|
-
#line
|
1418
|
+
#line 1419 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1396
1419
|
break;
|
1397
1420
|
|
1398
1421
|
case 45:
|
1399
|
-
#line
|
1422
|
+
#line 378 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1400
1423
|
{
|
1401
1424
|
((*yyvalp)) = rb_hash_new();
|
1425
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1402
1426
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("I16")));
|
1403
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1427
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1404
1428
|
}
|
1405
|
-
#line
|
1429
|
+
#line 1430 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1406
1430
|
break;
|
1407
1431
|
|
1408
1432
|
case 46:
|
1409
|
-
#line
|
1433
|
+
#line 386 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1410
1434
|
{
|
1411
1435
|
((*yyvalp)) = rb_hash_new();
|
1436
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1412
1437
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("I32")));
|
1413
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1438
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1414
1439
|
}
|
1415
|
-
#line
|
1440
|
+
#line 1441 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1416
1441
|
break;
|
1417
1442
|
|
1418
1443
|
case 47:
|
1419
|
-
#line
|
1444
|
+
#line 394 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1420
1445
|
{
|
1421
1446
|
((*yyvalp)) = rb_hash_new();
|
1447
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1422
1448
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("I64")));
|
1423
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1449
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1424
1450
|
}
|
1425
|
-
#line
|
1451
|
+
#line 1452 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1426
1452
|
break;
|
1427
1453
|
|
1428
1454
|
case 48:
|
1429
|
-
#line
|
1455
|
+
#line 402 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1430
1456
|
{
|
1431
1457
|
((*yyvalp)) = rb_hash_new();
|
1458
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1432
1459
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("U8")));
|
1433
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1460
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1434
1461
|
}
|
1435
|
-
#line
|
1462
|
+
#line 1463 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1436
1463
|
break;
|
1437
1464
|
|
1438
1465
|
case 49:
|
1439
|
-
#line
|
1466
|
+
#line 410 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1440
1467
|
{
|
1441
1468
|
((*yyvalp)) = rb_hash_new();
|
1469
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1442
1470
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("U16")));
|
1443
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1471
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1444
1472
|
}
|
1445
|
-
#line
|
1473
|
+
#line 1474 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1446
1474
|
break;
|
1447
1475
|
|
1448
1476
|
case 50:
|
1449
|
-
#line
|
1477
|
+
#line 418 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1450
1478
|
{
|
1451
1479
|
((*yyvalp)) = rb_hash_new();
|
1480
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1452
1481
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("U32")));
|
1453
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1482
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1454
1483
|
}
|
1455
|
-
#line
|
1484
|
+
#line 1485 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1456
1485
|
break;
|
1457
1486
|
|
1458
1487
|
case 51:
|
1459
|
-
#line
|
1488
|
+
#line 426 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1460
1489
|
{
|
1461
1490
|
((*yyvalp)) = rb_hash_new();
|
1491
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1462
1492
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("U64")));
|
1463
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1493
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1464
1494
|
}
|
1465
|
-
#line
|
1495
|
+
#line 1496 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1466
1496
|
break;
|
1467
1497
|
|
1468
1498
|
case 52:
|
1469
|
-
#line
|
1499
|
+
#line 434 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1470
1500
|
{
|
1471
1501
|
((*yyvalp)) = rb_hash_new();
|
1502
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1472
1503
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("FLOATING_POINT")));
|
1473
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1504
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1474
1505
|
}
|
1475
|
-
#line
|
1506
|
+
#line 1507 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1476
1507
|
break;
|
1477
1508
|
|
1478
1509
|
case 53:
|
1479
|
-
#line
|
1510
|
+
#line 442 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1480
1511
|
{
|
1481
1512
|
((*yyvalp)) = rb_hash_new();
|
1513
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1482
1514
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("DECIMAL")));
|
1483
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1515
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1484
1516
|
}
|
1485
|
-
#line
|
1517
|
+
#line 1518 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1486
1518
|
break;
|
1487
1519
|
|
1488
1520
|
case 54:
|
1489
|
-
#line
|
1521
|
+
#line 452 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1490
1522
|
{
|
1491
1523
|
((*yyvalp)) = rb_hash_new();
|
1524
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1492
1525
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("DATE")));
|
1493
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1526
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1494
1527
|
}
|
1495
|
-
#line
|
1528
|
+
#line 1529 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1496
1529
|
break;
|
1497
1530
|
|
1498
1531
|
case 55:
|
1499
|
-
#line
|
1532
|
+
#line 460 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1500
1533
|
{
|
1501
1534
|
((*yyvalp)) = rb_hash_new();
|
1535
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1502
1536
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("TIME_OF_DAY_MILLI")));
|
1503
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1537
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1504
1538
|
}
|
1505
|
-
#line
|
1539
|
+
#line 1540 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1506
1540
|
break;
|
1507
1541
|
|
1508
1542
|
case 56:
|
1509
|
-
#line
|
1543
|
+
#line 468 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1510
1544
|
{
|
1511
1545
|
((*yyvalp)) = rb_hash_new();
|
1546
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1512
1547
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("TIME_OF_DAY_NANO")));
|
1513
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1548
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1514
1549
|
}
|
1515
|
-
#line
|
1550
|
+
#line 1551 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1516
1551
|
break;
|
1517
1552
|
|
1518
1553
|
case 57:
|
1519
|
-
#line
|
1554
|
+
#line 476 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1520
1555
|
{
|
1521
1556
|
((*yyvalp)) = rb_hash_new();
|
1557
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1522
1558
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("NANO_TIME")));
|
1523
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1559
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1524
1560
|
}
|
1525
|
-
#line
|
1561
|
+
#line 1562 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1526
1562
|
break;
|
1527
1563
|
|
1528
1564
|
case 58:
|
1529
|
-
#line
|
1565
|
+
#line 484 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1530
1566
|
{
|
1531
1567
|
((*yyvalp)) = rb_hash_new();
|
1568
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1532
1569
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("MILLI_TIME")));
|
1533
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1570
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1534
1571
|
}
|
1535
|
-
#line
|
1572
|
+
#line 1573 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1536
1573
|
break;
|
1537
1574
|
|
1538
1575
|
case 59:
|
1539
|
-
#line
|
1576
|
+
#line 495 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1540
1577
|
{
|
1541
1578
|
((*yyvalp)) = rb_hash_new();
|
1579
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1542
1580
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("ENUM")));
|
1543
1581
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("syms")), rb_ary_new());
|
1544
1582
|
rb_ary_push(rb_hash_aref(((*yyvalp)), ID2SYM(rb_intern("syms"))), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1545
1583
|
}
|
1546
|
-
#line
|
1584
|
+
#line 1585 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1547
1585
|
break;
|
1548
1586
|
|
1549
1587
|
case 60:
|
1550
|
-
#line
|
1588
|
+
#line 504 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1551
1589
|
{
|
1552
1590
|
rb_ary_push(rb_hash_aref(((*yyvalp)), ID2SYM(rb_intern("syms"))), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1553
1591
|
}
|
1554
|
-
#line
|
1592
|
+
#line 1593 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1555
1593
|
break;
|
1556
1594
|
|
1557
1595
|
case 61:
|
1558
|
-
#line
|
1596
|
+
#line 511 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1559
1597
|
{
|
1560
1598
|
((*yyvalp)) = rb_hash_new();
|
1599
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1561
1600
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("ENUM")));
|
1562
1601
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("syms")), rb_ary_new());
|
1563
1602
|
rb_ary_push(rb_hash_aref(((*yyvalp)), ID2SYM(rb_intern("syms"))), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1564
1603
|
}
|
1565
|
-
#line
|
1604
|
+
#line 1605 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1566
1605
|
break;
|
1567
1606
|
|
1568
1607
|
case 62:
|
1569
|
-
#line
|
1608
|
+
#line 520 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1570
1609
|
{
|
1571
1610
|
rb_ary_push(rb_hash_aref(((*yyvalp)), ID2SYM(rb_intern("syms"))), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1572
1611
|
}
|
1573
|
-
#line
|
1612
|
+
#line 1613 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1574
1613
|
break;
|
1575
1614
|
|
1576
1615
|
case 63:
|
1577
|
-
#line
|
1616
|
+
#line 527 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1578
1617
|
{
|
1579
1618
|
((*yyvalp)) = rb_hash_new();
|
1619
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1580
1620
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1581
1621
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1582
1622
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("value")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1583
1623
|
}
|
1584
|
-
#line
|
1624
|
+
#line 1625 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1585
1625
|
break;
|
1586
1626
|
|
1587
1627
|
case 65:
|
1588
|
-
#line
|
1628
|
+
#line 540 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1589
1629
|
{
|
1590
1630
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1591
1631
|
}
|
1592
|
-
#line
|
1632
|
+
#line 1633 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1593
1633
|
break;
|
1594
1634
|
|
1595
1635
|
case 66:
|
1596
|
-
#line
|
1636
|
+
#line 545 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1597
1637
|
{
|
1598
1638
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1599
1639
|
}
|
1600
|
-
#line
|
1640
|
+
#line 1641 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1601
1641
|
break;
|
1602
1642
|
|
1603
1643
|
case 67:
|
1604
|
-
#line
|
1644
|
+
#line 552 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1605
1645
|
{
|
1606
1646
|
((*yyvalp)) = rb_ary_new();
|
1647
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1607
1648
|
}
|
1608
|
-
#line
|
1649
|
+
#line 1650 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1609
1650
|
break;
|
1610
1651
|
|
1611
1652
|
case 69:
|
1612
|
-
#line
|
1653
|
+
#line 562 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1613
1654
|
{
|
1614
1655
|
((*yyvalp)) = rb_ary_new();
|
1656
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1615
1657
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1616
1658
|
}
|
1617
|
-
#line
|
1659
|
+
#line 1660 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1618
1660
|
break;
|
1619
1661
|
|
1620
1662
|
case 70:
|
1621
|
-
#line
|
1663
|
+
#line 569 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1622
1664
|
{
|
1623
1665
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1624
1666
|
}
|
1625
|
-
#line
|
1667
|
+
#line 1668 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1626
1668
|
break;
|
1627
1669
|
|
1628
1670
|
case 71:
|
1629
|
-
#line
|
1671
|
+
#line 575 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1630
1672
|
{
|
1631
1673
|
((*yyvalp)) = rb_hash_new();
|
1674
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1632
1675
|
rb_hash_aset(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1633
1676
|
}
|
1634
|
-
#line
|
1677
|
+
#line 1678 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1635
1678
|
break;
|
1636
1679
|
|
1637
1680
|
case 73:
|
1638
|
-
#line
|
1681
|
+
#line 586 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1639
1682
|
{
|
1640
1683
|
rb_str_append(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1641
1684
|
}
|
1642
|
-
#line
|
1685
|
+
#line 1686 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1643
1686
|
break;
|
1644
1687
|
|
1645
1688
|
case 74:
|
1646
|
-
#line
|
1689
|
+
#line 593 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1647
1690
|
{
|
1648
1691
|
((*yyvalp)) = rb_hash_new();
|
1692
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1649
1693
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
|
1650
1694
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("id")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1651
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1695
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1652
1696
|
}
|
1653
|
-
#line
|
1697
|
+
#line 1698 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1654
1698
|
break;
|
1655
1699
|
|
1656
1700
|
case 76:
|
1657
|
-
#line
|
1701
|
+
#line 606 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1658
1702
|
{
|
1659
1703
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1660
1704
|
}
|
1661
|
-
#line
|
1705
|
+
#line 1706 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1662
1706
|
break;
|
1663
1707
|
|
1664
1708
|
case 77:
|
1665
|
-
#line
|
1709
|
+
#line 611 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1666
1710
|
{
|
1667
1711
|
((*yyvalp)) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval);
|
1668
1712
|
}
|
1669
|
-
#line
|
1713
|
+
#line 1714 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1670
1714
|
break;
|
1671
1715
|
|
1672
1716
|
case 78:
|
1673
|
-
#line
|
1717
|
+
#line 618 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1674
1718
|
{
|
1675
1719
|
((*yyvalp)) = rb_hash_new();
|
1720
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1676
1721
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("class")), ID2SYM(rb_intern("IncrementalAnnotation")));
|
1677
1722
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("annotes")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1678
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1723
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1679
1724
|
}
|
1680
|
-
#line
|
1725
|
+
#line 1726 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1681
1726
|
break;
|
1682
1727
|
|
1683
1728
|
case 79:
|
1684
|
-
#line
|
1729
|
+
#line 629 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1685
1730
|
{
|
1686
1731
|
((*yyvalp)) = rb_hash_new();
|
1732
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1687
1733
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), ID2SYM(rb_intern("SCHEMA")));
|
1688
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1734
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1689
1735
|
}
|
1690
|
-
#line
|
1736
|
+
#line 1737 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1691
1737
|
break;
|
1692
1738
|
|
1693
1739
|
case 80:
|
1694
|
-
#line
|
1740
|
+
#line 637 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1695
1741
|
{
|
1696
1742
|
((*yyvalp)) = rb_hash_new();
|
1743
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1697
1744
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1698
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1745
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1699
1746
|
}
|
1700
|
-
#line
|
1747
|
+
#line 1748 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1701
1748
|
break;
|
1702
1749
|
|
1703
1750
|
case 81:
|
1704
|
-
#line
|
1751
|
+
#line 645 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1705
1752
|
{
|
1706
1753
|
((*yyvalp)) = rb_hash_new();
|
1754
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1707
1755
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1708
1756
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("type")), Qtrue);
|
1709
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1757
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1710
1758
|
}
|
1711
|
-
#line
|
1759
|
+
#line 1760 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1712
1760
|
break;
|
1713
1761
|
|
1714
1762
|
case 82:
|
1715
|
-
#line
|
1763
|
+
#line 654 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1716
1764
|
{
|
1717
1765
|
((*yyvalp)) = rb_hash_new();
|
1766
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1718
1767
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1719
1768
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1720
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1769
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1721
1770
|
}
|
1722
|
-
#line
|
1771
|
+
#line 1772 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1723
1772
|
break;
|
1724
1773
|
|
1725
1774
|
case 83:
|
1726
|
-
#line
|
1775
|
+
#line 663 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1727
1776
|
{
|
1728
1777
|
((*yyvalp)) = rb_hash_new();
|
1778
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1729
1779
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("ref")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
|
1730
1780
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("type")), Qtrue);
|
1731
1781
|
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("name")), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
|
1732
|
-
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, &(*yylocp)));
|
1782
|
+
rb_hash_aset(((*yyvalp)), ID2SYM(rb_intern("loc")), newLocation(filename, crefs, &(*yylocp)));
|
1733
1783
|
}
|
1734
|
-
#line
|
1784
|
+
#line 1785 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1735
1785
|
break;
|
1736
1786
|
|
1737
1787
|
case 84:
|
1738
|
-
#line
|
1788
|
+
#line 675 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1739
1789
|
{
|
1740
1790
|
((*yyvalp)) = rb_ary_new();
|
1791
|
+
rb_ary_push(crefs, ((*yyvalp)));
|
1741
1792
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1742
1793
|
}
|
1743
|
-
#line
|
1794
|
+
#line 1795 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1744
1795
|
break;
|
1745
1796
|
|
1746
1797
|
case 85:
|
1747
|
-
#line
|
1798
|
+
#line 682 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1748
1799
|
{
|
1749
1800
|
rb_ary_push(((*yyvalp)), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
|
1750
1801
|
}
|
1751
|
-
#line
|
1802
|
+
#line 1803 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1752
1803
|
break;
|
1753
1804
|
|
1754
1805
|
case 94:
|
1755
|
-
#line
|
1806
|
+
#line 711 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1756
1807
|
{
|
1757
1808
|
((*yyvalp)) = rb_str_new2("i8");
|
1758
1809
|
}
|
1759
|
-
#line
|
1810
|
+
#line 1811 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1760
1811
|
break;
|
1761
1812
|
|
1762
1813
|
case 95:
|
1763
|
-
#line
|
1814
|
+
#line 716 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1764
1815
|
{
|
1765
1816
|
((*yyvalp)) = rb_str_new2("i16");
|
1766
1817
|
}
|
1767
|
-
#line
|
1818
|
+
#line 1819 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1768
1819
|
break;
|
1769
1820
|
|
1770
1821
|
case 96:
|
1771
|
-
#line
|
1822
|
+
#line 721 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1772
1823
|
{
|
1773
1824
|
((*yyvalp)) = rb_str_new2("i32");
|
1774
1825
|
}
|
1775
|
-
#line
|
1826
|
+
#line 1827 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1776
1827
|
break;
|
1777
1828
|
|
1778
1829
|
case 97:
|
1779
|
-
#line
|
1830
|
+
#line 726 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1780
1831
|
{
|
1781
1832
|
((*yyvalp)) = rb_str_new2("i64");
|
1782
1833
|
}
|
1783
|
-
#line
|
1834
|
+
#line 1835 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1784
1835
|
break;
|
1785
1836
|
|
1786
1837
|
case 98:
|
1787
|
-
#line
|
1838
|
+
#line 731 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1788
1839
|
{
|
1789
1840
|
((*yyvalp)) = rb_str_new2("u8");
|
1790
1841
|
}
|
1791
|
-
#line
|
1842
|
+
#line 1843 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1792
1843
|
break;
|
1793
1844
|
|
1794
1845
|
case 99:
|
1795
|
-
#line
|
1846
|
+
#line 736 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1796
1847
|
{
|
1797
1848
|
((*yyvalp)) = rb_str_new2("u16");
|
1798
1849
|
}
|
1799
|
-
#line
|
1850
|
+
#line 1851 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1800
1851
|
break;
|
1801
1852
|
|
1802
1853
|
case 100:
|
1803
|
-
#line
|
1854
|
+
#line 741 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1804
1855
|
{
|
1805
1856
|
((*yyvalp)) = rb_str_new2("u32");
|
1806
1857
|
}
|
1807
|
-
#line
|
1858
|
+
#line 1859 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1808
1859
|
break;
|
1809
1860
|
|
1810
1861
|
case 101:
|
1811
|
-
#line
|
1862
|
+
#line 746 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1812
1863
|
{
|
1813
1864
|
((*yyvalp)) = rb_str_new2("u64");
|
1814
1865
|
}
|
1815
|
-
#line
|
1866
|
+
#line 1867 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1816
1867
|
break;
|
1817
1868
|
|
1818
1869
|
case 102:
|
1819
|
-
#line
|
1870
|
+
#line 751 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1820
1871
|
{
|
1821
1872
|
((*yyvalp)) = rb_str_new2("f64");
|
1822
1873
|
}
|
1823
|
-
#line
|
1874
|
+
#line 1875 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1824
1875
|
break;
|
1825
1876
|
|
1826
1877
|
case 103:
|
1827
|
-
#line
|
1878
|
+
#line 756 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1828
1879
|
{
|
1829
1880
|
((*yyvalp)) = rb_str_new2("decimal");
|
1830
1881
|
}
|
1831
|
-
#line
|
1882
|
+
#line 1883 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1832
1883
|
break;
|
1833
1884
|
|
1834
1885
|
case 104:
|
1835
|
-
#line
|
1886
|
+
#line 761 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1836
1887
|
{
|
1837
1888
|
((*yyvalp)) = rb_str_new2("date");
|
1838
1889
|
}
|
1839
|
-
#line
|
1890
|
+
#line 1891 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1840
1891
|
break;
|
1841
1892
|
|
1842
1893
|
case 105:
|
1843
|
-
#line
|
1894
|
+
#line 766 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1844
1895
|
{
|
1845
1896
|
((*yyvalp)) = rb_str_new2("timeOfDayMilli");
|
1846
1897
|
}
|
1847
|
-
#line
|
1898
|
+
#line 1899 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1848
1899
|
break;
|
1849
1900
|
|
1850
1901
|
case 106:
|
1851
|
-
#line
|
1902
|
+
#line 771 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1852
1903
|
{
|
1853
1904
|
((*yyvalp)) = rb_str_new2("timeOfDayNano");
|
1854
1905
|
}
|
1855
|
-
#line
|
1906
|
+
#line 1907 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1856
1907
|
break;
|
1857
1908
|
|
1858
1909
|
case 107:
|
1859
|
-
#line
|
1910
|
+
#line 776 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1860
1911
|
{
|
1861
1912
|
((*yyvalp)) = rb_str_new2("nanoTime");
|
1862
1913
|
}
|
1863
|
-
#line
|
1914
|
+
#line 1915 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1864
1915
|
break;
|
1865
1916
|
|
1866
1917
|
case 108:
|
1867
|
-
#line
|
1918
|
+
#line 781 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1868
1919
|
{
|
1869
1920
|
((*yyvalp)) = rb_str_new2("milliTime");
|
1870
1921
|
}
|
1871
|
-
#line
|
1922
|
+
#line 1923 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1872
1923
|
break;
|
1873
1924
|
|
1874
1925
|
case 109:
|
1875
|
-
#line
|
1926
|
+
#line 786 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1876
1927
|
{
|
1877
1928
|
((*yyvalp)) = rb_str_new2("boolean");
|
1878
1929
|
}
|
1879
|
-
#line
|
1930
|
+
#line 1931 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1880
1931
|
break;
|
1881
1932
|
|
1882
1933
|
case 110:
|
1883
|
-
#line
|
1934
|
+
#line 791 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1884
1935
|
{
|
1885
1936
|
((*yyvalp)) = rb_str_new2("string");
|
1886
1937
|
}
|
1887
|
-
#line
|
1938
|
+
#line 1939 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1888
1939
|
break;
|
1889
1940
|
|
1890
1941
|
case 111:
|
1891
|
-
#line
|
1942
|
+
#line 796 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1892
1943
|
{
|
1893
1944
|
((*yyvalp)) = rb_str_new2("binary");
|
1894
1945
|
}
|
1895
|
-
#line
|
1946
|
+
#line 1947 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1896
1947
|
break;
|
1897
1948
|
|
1898
1949
|
case 112:
|
1899
|
-
#line
|
1950
|
+
#line 801 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1900
1951
|
{
|
1901
1952
|
((*yyvalp)) = rb_str_new2("fixed");
|
1902
1953
|
}
|
1903
|
-
#line
|
1954
|
+
#line 1955 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1904
1955
|
break;
|
1905
1956
|
|
1906
1957
|
case 113:
|
1907
|
-
#line
|
1958
|
+
#line 806 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1908
1959
|
{
|
1909
1960
|
((*yyvalp)) = rb_str_new2("object");
|
1910
1961
|
}
|
1911
|
-
#line
|
1962
|
+
#line 1963 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1912
1963
|
break;
|
1913
1964
|
|
1914
1965
|
case 114:
|
1915
|
-
#line
|
1966
|
+
#line 811 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1916
1967
|
{
|
1917
1968
|
((*yyvalp)) = rb_str_new2("namespace");
|
1918
1969
|
}
|
1919
|
-
#line
|
1970
|
+
#line 1971 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1920
1971
|
break;
|
1921
1972
|
|
1922
1973
|
case 115:
|
1923
|
-
#line
|
1974
|
+
#line 816 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1924
1975
|
{
|
1925
1976
|
((*yyvalp)) = rb_str_new2("type");
|
1926
1977
|
}
|
1927
|
-
#line
|
1978
|
+
#line 1979 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1928
1979
|
break;
|
1929
1980
|
|
1930
1981
|
case 116:
|
1931
|
-
#line
|
1982
|
+
#line 821 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1932
1983
|
{
|
1933
1984
|
((*yyvalp)) = rb_str_new2("schema");
|
1934
1985
|
}
|
1935
|
-
#line
|
1986
|
+
#line 1987 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1936
1987
|
break;
|
1937
1988
|
|
1938
1989
|
case 125:
|
1939
|
-
#line
|
1990
|
+
#line 856 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:816 */
|
1940
1991
|
{
|
1941
1992
|
((*yyvalp)) = Qnil;
|
1942
1993
|
}
|
1943
|
-
#line
|
1994
|
+
#line 1995 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1944
1995
|
break;
|
1945
1996
|
|
1946
1997
|
|
1947
|
-
#line
|
1998
|
+
#line 1999 "ext/slow_blink/ext_schema_parser/parser.c" /* glr.c:816 */
|
1948
1999
|
default: break;
|
1949
2000
|
}
|
1950
2001
|
|
@@ -1979,12 +2030,13 @@ yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
|
|
1979
2030
|
`-----------------------------------------------*/
|
1980
2031
|
|
1981
2032
|
static void
|
1982
|
-
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2033
|
+
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
1983
2034
|
{
|
1984
2035
|
YYUSE (yyvaluep);
|
1985
2036
|
YYUSE (yylocationp);
|
1986
2037
|
YYUSE (scanner);
|
1987
2038
|
YYUSE (filename);
|
2039
|
+
YYUSE (crefs);
|
1988
2040
|
YYUSE (tree);
|
1989
2041
|
if (!yymsg)
|
1990
2042
|
yymsg = "Deleting";
|
@@ -2003,11 +2055,11 @@ yyrhsLength (yyRuleNum yyrule)
|
|
2003
2055
|
}
|
2004
2056
|
|
2005
2057
|
static void
|
2006
|
-
yydestroyGLRState (char const *yymsg, yyGLRState *yys, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2058
|
+
yydestroyGLRState (char const *yymsg, yyGLRState *yys, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2007
2059
|
{
|
2008
2060
|
if (yys->yyresolved)
|
2009
2061
|
yydestruct (yymsg, yystos[yys->yylrState],
|
2010
|
-
&yys->yysemantics.yysval, &yys->yyloc, scanner, filename, tree);
|
2062
|
+
&yys->yysemantics.yysval, &yys->yyloc, scanner, filename, crefs, tree);
|
2011
2063
|
else
|
2012
2064
|
{
|
2013
2065
|
#if YYDEBUG
|
@@ -2029,7 +2081,7 @@ yydestroyGLRState (char const *yymsg, yyGLRState *yys, yyscan_t scanner, VALUE f
|
|
2029
2081
|
for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
|
2030
2082
|
yyn > 0;
|
2031
2083
|
yyrh = yyrh->yypred, yyn -= 1)
|
2032
|
-
yydestroyGLRState (yymsg, yyrh, scanner, filename, tree);
|
2084
|
+
yydestroyGLRState (yymsg, yyrh, scanner, filename, crefs, tree);
|
2033
2085
|
}
|
2034
2086
|
}
|
2035
2087
|
}
|
@@ -2410,7 +2462,7 @@ do { \
|
|
2410
2462
|
|
2411
2463
|
static inline void
|
2412
2464
|
yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
|
2413
|
-
yyRuleNum yyrule, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2465
|
+
yyRuleNum yyrule, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2414
2466
|
{
|
2415
2467
|
int yynrhs = yyrhsLength (yyrule);
|
2416
2468
|
int yylow = 1;
|
@@ -2427,7 +2479,7 @@ yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
|
|
2427
2479
|
yy_symbol_print (stderr,
|
2428
2480
|
yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
|
2429
2481
|
&yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
|
2430
|
-
, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yyloc) , scanner, filename, tree);
|
2482
|
+
, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yyloc) , scanner, filename, crefs, tree);
|
2431
2483
|
if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
|
2432
2484
|
YYFPRINTF (stderr, " (unresolved)");
|
2433
2485
|
YYFPRINTF (stderr, "\n");
|
@@ -2443,7 +2495,7 @@ yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
|
|
2443
2495
|
* for userAction. */
|
2444
2496
|
static inline YYRESULTTAG
|
2445
2497
|
yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
2446
|
-
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2498
|
+
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2447
2499
|
{
|
2448
2500
|
int yynrhs = yyrhsLength (yyrule);
|
2449
2501
|
|
@@ -2455,9 +2507,9 @@ yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
|
2455
2507
|
yystackp->yynextFree -= yynrhs;
|
2456
2508
|
yystackp->yyspaceLeft += yynrhs;
|
2457
2509
|
yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
|
2458
|
-
YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, scanner, filename, tree));
|
2510
|
+
YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, scanner, filename, crefs, tree));
|
2459
2511
|
return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
|
2460
|
-
yyvalp, yylocp, scanner, filename, tree);
|
2512
|
+
yyvalp, yylocp, scanner, filename, crefs, tree);
|
2461
2513
|
}
|
2462
2514
|
else
|
2463
2515
|
{
|
@@ -2476,9 +2528,9 @@ yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
|
2476
2528
|
}
|
2477
2529
|
yyupdateSplit (yystackp, yys);
|
2478
2530
|
yystackp->yytops.yystates[yyk] = yys;
|
2479
|
-
YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, scanner, filename, tree));
|
2531
|
+
YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, scanner, filename, crefs, tree));
|
2480
2532
|
return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
|
2481
|
-
yystackp, yyvalp, yylocp, scanner, filename, tree);
|
2533
|
+
yystackp, yyvalp, yylocp, scanner, filename, crefs, tree);
|
2482
2534
|
}
|
2483
2535
|
}
|
2484
2536
|
|
@@ -2495,7 +2547,7 @@ yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
|
2495
2547
|
*/
|
2496
2548
|
static inline YYRESULTTAG
|
2497
2549
|
yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
2498
|
-
yybool yyforceEval, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2550
|
+
yybool yyforceEval, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2499
2551
|
{
|
2500
2552
|
size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
|
2501
2553
|
|
@@ -2504,7 +2556,7 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
|
|
2504
2556
|
YYSTYPE yysval;
|
2505
2557
|
YYLTYPE yyloc;
|
2506
2558
|
|
2507
|
-
YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, &yyloc, scanner, filename, tree);
|
2559
|
+
YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, &yyloc, scanner, filename, crefs, tree);
|
2508
2560
|
if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
|
2509
2561
|
{
|
2510
2562
|
YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
|
@@ -2705,7 +2757,7 @@ yypreference (yySemanticOption* y0, yySemanticOption* y1)
|
|
2705
2757
|
}
|
2706
2758
|
|
2707
2759
|
static YYRESULTTAG yyresolveValue (yyGLRState* yys,
|
2708
|
-
yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree);
|
2760
|
+
yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree);
|
2709
2761
|
|
2710
2762
|
|
2711
2763
|
/** Resolve the previous YYN states starting at and including state YYS
|
@@ -2715,14 +2767,14 @@ static YYRESULTTAG yyresolveValue (yyGLRState* yys,
|
|
2715
2767
|
* data so that yydestroyGLRState can be invoked if necessary. */
|
2716
2768
|
static YYRESULTTAG
|
2717
2769
|
yyresolveStates (yyGLRState* yys, int yyn,
|
2718
|
-
yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2770
|
+
yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2719
2771
|
{
|
2720
2772
|
if (0 < yyn)
|
2721
2773
|
{
|
2722
2774
|
YYASSERT (yys->yypred);
|
2723
|
-
YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, scanner, filename, tree));
|
2775
|
+
YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, scanner, filename, crefs, tree));
|
2724
2776
|
if (! yys->yyresolved)
|
2725
|
-
YYCHK (yyresolveValue (yys, yystackp, scanner, filename, tree));
|
2777
|
+
YYCHK (yyresolveValue (yys, yystackp, scanner, filename, crefs, tree));
|
2726
2778
|
}
|
2727
2779
|
return yyok;
|
2728
2780
|
}
|
@@ -2734,17 +2786,17 @@ yyresolveStates (yyGLRState* yys, int yyn,
|
|
2734
2786
|
* semantic values if invoked). */
|
2735
2787
|
static YYRESULTTAG
|
2736
2788
|
yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
|
2737
|
-
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2789
|
+
YYSTYPE* yyvalp, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2738
2790
|
{
|
2739
2791
|
yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
|
2740
2792
|
int yynrhs = yyrhsLength (yyopt->yyrule);
|
2741
2793
|
YYRESULTTAG yyflag =
|
2742
|
-
yyresolveStates (yyopt->yystate, yynrhs, yystackp, scanner, filename, tree);
|
2794
|
+
yyresolveStates (yyopt->yystate, yynrhs, yystackp, scanner, filename, crefs, tree);
|
2743
2795
|
if (yyflag != yyok)
|
2744
2796
|
{
|
2745
2797
|
yyGLRState *yys;
|
2746
2798
|
for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
|
2747
|
-
yydestroyGLRState ("Cleanup: popping", yys, scanner, filename, tree);
|
2799
|
+
yydestroyGLRState ("Cleanup: popping", yys, scanner, filename, crefs, tree);
|
2748
2800
|
return yyflag;
|
2749
2801
|
}
|
2750
2802
|
|
@@ -2761,7 +2813,7 @@ yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
|
|
2761
2813
|
yylloc = yyopt->yyloc;
|
2762
2814
|
yyflag = yyuserAction (yyopt->yyrule, yynrhs,
|
2763
2815
|
yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
|
2764
|
-
yystackp, yyvalp, yylocp, scanner, filename, tree);
|
2816
|
+
yystackp, yyvalp, yylocp, scanner, filename, crefs, tree);
|
2765
2817
|
yychar = yychar_current;
|
2766
2818
|
yylval = yylval_current;
|
2767
2819
|
yylloc = yylloc_current;
|
@@ -2819,7 +2871,7 @@ yyreportTree (yySemanticOption* yyx, int yyindent)
|
|
2819
2871
|
|
2820
2872
|
static YYRESULTTAG
|
2821
2873
|
yyreportAmbiguity (yySemanticOption* yyx0,
|
2822
|
-
yySemanticOption* yyx1, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2874
|
+
yySemanticOption* yyx1, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2823
2875
|
{
|
2824
2876
|
YYUSE (yyx0);
|
2825
2877
|
YYUSE (yyx1);
|
@@ -2833,7 +2885,7 @@ yyreportAmbiguity (yySemanticOption* yyx0,
|
|
2833
2885
|
YYFPRINTF (stderr, "\n");
|
2834
2886
|
#endif
|
2835
2887
|
|
2836
|
-
yyerror (yylocp, scanner, filename, tree, YY_("syntax is ambiguous"));
|
2888
|
+
yyerror (yylocp, scanner, filename, crefs, tree, YY_("syntax is ambiguous"));
|
2837
2889
|
return yyabort;
|
2838
2890
|
}
|
2839
2891
|
|
@@ -2842,11 +2894,11 @@ yyreportAmbiguity (yySemanticOption* yyx0,
|
|
2842
2894
|
* The first semantic option of a state is always chosen. */
|
2843
2895
|
static void
|
2844
2896
|
yyresolveLocations (yyGLRState* yys1, int yyn1,
|
2845
|
-
yyGLRStack *yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2897
|
+
yyGLRStack *yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2846
2898
|
{
|
2847
2899
|
if (0 < yyn1)
|
2848
2900
|
{
|
2849
|
-
yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp, scanner, filename, tree);
|
2901
|
+
yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp, scanner, filename, crefs, tree);
|
2850
2902
|
if (!yys1->yyresolved)
|
2851
2903
|
{
|
2852
2904
|
yyGLRStackItem yyrhsloc[1 + YYMAXRHS];
|
@@ -2859,7 +2911,7 @@ yyresolveLocations (yyGLRState* yys1, int yyn1,
|
|
2859
2911
|
yyGLRState *yys;
|
2860
2912
|
int yyn;
|
2861
2913
|
yyresolveLocations (yyoption->yystate, yynrhs,
|
2862
|
-
yystackp, scanner, filename, tree);
|
2914
|
+
yystackp, scanner, filename, crefs, tree);
|
2863
2915
|
for (yys = yyoption->yystate, yyn = yynrhs;
|
2864
2916
|
yyn > 0;
|
2865
2917
|
yys = yys->yypred, yyn -= 1)
|
@@ -2901,7 +2953,7 @@ yyresolveLocations (yyGLRState* yys1, int yyn1,
|
|
2901
2953
|
* result = yyok, YYS has been left with consistent data so that
|
2902
2954
|
* yydestroyGLRState can be invoked if necessary. */
|
2903
2955
|
static YYRESULTTAG
|
2904
|
-
yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
2956
|
+
yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2905
2957
|
{
|
2906
2958
|
yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
|
2907
2959
|
yySemanticOption* yybest = yyoptionList;
|
@@ -2925,8 +2977,8 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE f
|
|
2925
2977
|
switch (yypreference (yybest, yyp))
|
2926
2978
|
{
|
2927
2979
|
case 0:
|
2928
|
-
yyresolveLocations (yys, 1, yystackp, scanner, filename, tree);
|
2929
|
-
return yyreportAmbiguity (yybest, yyp, yylocp, scanner, filename, tree);
|
2980
|
+
yyresolveLocations (yys, 1, yystackp, scanner, filename, crefs, tree);
|
2981
|
+
return yyreportAmbiguity (yybest, yyp, yylocp, scanner, filename, crefs, tree);
|
2930
2982
|
break;
|
2931
2983
|
case 1:
|
2932
2984
|
yymerge = yytrue;
|
@@ -2951,7 +3003,7 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE f
|
|
2951
3003
|
{
|
2952
3004
|
yySemanticOption* yyp;
|
2953
3005
|
int yyprec = yydprec[yybest->yyrule];
|
2954
|
-
yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, scanner, filename, tree);
|
3006
|
+
yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, scanner, filename, crefs, tree);
|
2955
3007
|
if (yyflag == yyok)
|
2956
3008
|
for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
|
2957
3009
|
{
|
@@ -2959,12 +3011,12 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE f
|
|
2959
3011
|
{
|
2960
3012
|
YYSTYPE yysval_other;
|
2961
3013
|
YYLTYPE yydummy;
|
2962
|
-
yyflag = yyresolveAction (yyp, yystackp, &yysval_other, &yydummy, scanner, filename, tree);
|
3014
|
+
yyflag = yyresolveAction (yyp, yystackp, &yysval_other, &yydummy, scanner, filename, crefs, tree);
|
2963
3015
|
if (yyflag != yyok)
|
2964
3016
|
{
|
2965
3017
|
yydestruct ("Cleanup: discarding incompletely merged value for",
|
2966
3018
|
yystos[yys->yylrState],
|
2967
|
-
&yysval, yylocp, scanner, filename, tree);
|
3019
|
+
&yysval, yylocp, scanner, filename, crefs, tree);
|
2968
3020
|
break;
|
2969
3021
|
}
|
2970
3022
|
yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
|
@@ -2972,7 +3024,7 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE f
|
|
2972
3024
|
}
|
2973
3025
|
}
|
2974
3026
|
else
|
2975
|
-
yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, scanner, filename, tree);
|
3027
|
+
yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, scanner, filename, crefs, tree);
|
2976
3028
|
|
2977
3029
|
if (yyflag == yyok)
|
2978
3030
|
{
|
@@ -2985,7 +3037,7 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, yyscan_t scanner, VALUE f
|
|
2985
3037
|
}
|
2986
3038
|
|
2987
3039
|
static YYRESULTTAG
|
2988
|
-
yyresolveStack (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
3040
|
+
yyresolveStack (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
2989
3041
|
{
|
2990
3042
|
if (yystackp->yysplitPoint != YY_NULLPTR)
|
2991
3043
|
{
|
@@ -2997,7 +3049,7 @@ yyresolveStack (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *t
|
|
2997
3049
|
yys = yys->yypred, yyn += 1)
|
2998
3050
|
continue;
|
2999
3051
|
YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
|
3000
|
-
, scanner, filename, tree));
|
3052
|
+
, scanner, filename, crefs, tree));
|
3001
3053
|
}
|
3002
3054
|
return yyok;
|
3003
3055
|
}
|
@@ -3034,7 +3086,7 @@ yycompressStack (yyGLRStack* yystackp)
|
|
3034
3086
|
|
3035
3087
|
static YYRESULTTAG
|
3036
3088
|
yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
3037
|
-
size_t yyposn, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
3089
|
+
size_t yyposn, YYLTYPE *yylocp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
3038
3090
|
{
|
3039
3091
|
while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
|
3040
3092
|
{
|
@@ -3055,7 +3107,7 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|
3055
3107
|
yymarkStackDeleted (yystackp, yyk);
|
3056
3108
|
return yyok;
|
3057
3109
|
}
|
3058
|
-
yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], scanner, filename, tree);
|
3110
|
+
yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], scanner, filename, crefs, tree);
|
3059
3111
|
if (yyflag == yyerr)
|
3060
3112
|
{
|
3061
3113
|
YYDPRINTF ((stderr,
|
@@ -3078,7 +3130,7 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|
3078
3130
|
if (yychar == YYEMPTY)
|
3079
3131
|
{
|
3080
3132
|
YYDPRINTF ((stderr, "Reading a token: "));
|
3081
|
-
yychar = yylex (&yylval, &yylloc, scanner);
|
3133
|
+
yychar = yylex (&yylval, &yylloc, scanner, crefs);
|
3082
3134
|
}
|
3083
3135
|
|
3084
3136
|
if (yychar <= YYEOF)
|
@@ -3103,10 +3155,10 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|
3103
3155
|
(unsigned long int) yyk));
|
3104
3156
|
yyflag = yyglrReduce (yystackp, yynewStack,
|
3105
3157
|
*yyconflicts,
|
3106
|
-
yyimmediate[*yyconflicts], scanner, filename, tree);
|
3158
|
+
yyimmediate[*yyconflicts], scanner, filename, crefs, tree);
|
3107
3159
|
if (yyflag == yyok)
|
3108
3160
|
YYCHK (yyprocessOneStack (yystackp, yynewStack,
|
3109
|
-
yyposn, yylocp, scanner, filename, tree));
|
3161
|
+
yyposn, yylocp, scanner, filename, crefs, tree));
|
3110
3162
|
else if (yyflag == yyerr)
|
3111
3163
|
{
|
3112
3164
|
YYDPRINTF ((stderr, "Stack %lu dies.\n",
|
@@ -3130,7 +3182,7 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|
3130
3182
|
else
|
3131
3183
|
{
|
3132
3184
|
YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
|
3133
|
-
yyimmediate[-yyaction], scanner, filename, tree);
|
3185
|
+
yyimmediate[-yyaction], scanner, filename, crefs, tree);
|
3134
3186
|
if (yyflag == yyerr)
|
3135
3187
|
{
|
3136
3188
|
YYDPRINTF ((stderr,
|
@@ -3149,12 +3201,12 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|
3149
3201
|
}
|
3150
3202
|
|
3151
3203
|
static void
|
3152
|
-
yyreportSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
3204
|
+
yyreportSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
3153
3205
|
{
|
3154
3206
|
if (yystackp->yyerrState != 0)
|
3155
3207
|
return;
|
3156
3208
|
#if ! YYERROR_VERBOSE
|
3157
|
-
yyerror (&yylloc, scanner, filename, tree, YY_("syntax error"));
|
3209
|
+
yyerror (&yylloc, scanner, filename, crefs, tree, YY_("syntax error"));
|
3158
3210
|
#else
|
3159
3211
|
{
|
3160
3212
|
yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
@@ -3269,12 +3321,12 @@ yyreportSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VAL
|
|
3269
3321
|
yyformat++;
|
3270
3322
|
}
|
3271
3323
|
}
|
3272
|
-
yyerror (&yylloc, scanner, filename, tree, yymsg);
|
3324
|
+
yyerror (&yylloc, scanner, filename, crefs, tree, yymsg);
|
3273
3325
|
YYFREE (yymsg);
|
3274
3326
|
}
|
3275
3327
|
else
|
3276
3328
|
{
|
3277
|
-
yyerror (&yylloc, scanner, filename, tree, YY_("syntax error"));
|
3329
|
+
yyerror (&yylloc, scanner, filename, crefs, tree, YY_("syntax error"));
|
3278
3330
|
yyMemoryExhausted (yystackp);
|
3279
3331
|
}
|
3280
3332
|
}
|
@@ -3286,7 +3338,7 @@ yyreportSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VAL
|
|
3286
3338
|
yylval, and yylloc are the syntactic category, semantic value, and location
|
3287
3339
|
of the lookahead. */
|
3288
3340
|
static void
|
3289
|
-
yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE *tree)
|
3341
|
+
yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
3290
3342
|
{
|
3291
3343
|
size_t yyk;
|
3292
3344
|
int yyj;
|
@@ -3298,7 +3350,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VA
|
|
3298
3350
|
{
|
3299
3351
|
yySymbol yytoken;
|
3300
3352
|
if (yychar == YYEOF)
|
3301
|
-
yyFail (yystackp, &yylloc, scanner, filename, tree, YY_NULLPTR);
|
3353
|
+
yyFail (yystackp, &yylloc, scanner, filename, crefs, tree, YY_NULLPTR);
|
3302
3354
|
if (yychar != YYEMPTY)
|
3303
3355
|
{
|
3304
3356
|
/* We throw away the lookahead, but the error range
|
@@ -3310,10 +3362,10 @@ yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VA
|
|
3310
3362
|
YYLLOC_DEFAULT ((yys->yyloc), yyerror_range, 2);
|
3311
3363
|
yytoken = YYTRANSLATE (yychar);
|
3312
3364
|
yydestruct ("Error: discarding",
|
3313
|
-
yytoken, &yylval, &yylloc, scanner, filename, tree);
|
3365
|
+
yytoken, &yylval, &yylloc, scanner, filename, crefs, tree);
|
3314
3366
|
}
|
3315
3367
|
YYDPRINTF ((stderr, "Reading a token: "));
|
3316
|
-
yychar = yylex (&yylval, &yylloc, scanner);
|
3368
|
+
yychar = yylex (&yylval, &yylloc, scanner, crefs);
|
3317
3369
|
if (yychar <= YYEOF)
|
3318
3370
|
{
|
3319
3371
|
yychar = yytoken = YYEOF;
|
@@ -3342,7 +3394,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VA
|
|
3342
3394
|
if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
|
3343
3395
|
break;
|
3344
3396
|
if (yyk >= yystackp->yytops.yysize)
|
3345
|
-
yyFail (yystackp, &yylloc, scanner, filename, tree, YY_NULLPTR);
|
3397
|
+
yyFail (yystackp, &yylloc, scanner, filename, crefs, tree, YY_NULLPTR);
|
3346
3398
|
for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
|
3347
3399
|
yymarkStackDeleted (yystackp, yyk);
|
3348
3400
|
yyremoveDeletes (yystackp);
|
@@ -3375,13 +3427,13 @@ yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VA
|
|
3375
3427
|
}
|
3376
3428
|
yystackp->yyerror_range[1].yystate.yyloc = yys->yyloc;
|
3377
3429
|
if (yys->yypred != YY_NULLPTR)
|
3378
|
-
yydestroyGLRState ("Error: popping", yys, scanner, filename, tree);
|
3430
|
+
yydestroyGLRState ("Error: popping", yys, scanner, filename, crefs, tree);
|
3379
3431
|
yystackp->yytops.yystates[0] = yys->yypred;
|
3380
3432
|
yystackp->yynextFree -= 1;
|
3381
3433
|
yystackp->yyspaceLeft += 1;
|
3382
3434
|
}
|
3383
3435
|
if (yystackp->yytops.yystates[0] == YY_NULLPTR)
|
3384
|
-
yyFail (yystackp, &yylloc, scanner, filename, tree, YY_NULLPTR);
|
3436
|
+
yyFail (yystackp, &yylloc, scanner, filename, crefs, tree, YY_NULLPTR);
|
3385
3437
|
}
|
3386
3438
|
|
3387
3439
|
#define YYCHK1(YYE) \
|
@@ -3405,7 +3457,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp, yyscan_t scanner, VALUE filename, VA
|
|
3405
3457
|
`----------*/
|
3406
3458
|
|
3407
3459
|
int
|
3408
|
-
yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
3460
|
+
yyparse (yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree)
|
3409
3461
|
{
|
3410
3462
|
int yyresult;
|
3411
3463
|
yyGLRStack yystack;
|
@@ -3452,10 +3504,10 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3452
3504
|
if (yyrule == 0)
|
3453
3505
|
{
|
3454
3506
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;
|
3455
|
-
yyreportSyntaxError (&yystack, scanner, filename, tree);
|
3507
|
+
yyreportSyntaxError (&yystack, scanner, filename, crefs, tree);
|
3456
3508
|
goto yyuser_error;
|
3457
3509
|
}
|
3458
|
-
YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, scanner, filename, tree));
|
3510
|
+
YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, scanner, filename, crefs, tree));
|
3459
3511
|
}
|
3460
3512
|
else
|
3461
3513
|
{
|
@@ -3463,7 +3515,7 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3463
3515
|
if (yychar == YYEMPTY)
|
3464
3516
|
{
|
3465
3517
|
YYDPRINTF ((stderr, "Reading a token: "));
|
3466
|
-
yychar = yylex (&yylval, &yylloc, scanner);
|
3518
|
+
yychar = yylex (&yylval, &yylloc, scanner, crefs);
|
3467
3519
|
}
|
3468
3520
|
|
3469
3521
|
if (yychar <= YYEOF)
|
@@ -3492,11 +3544,11 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3492
3544
|
else if (yyisErrorAction (yyaction))
|
3493
3545
|
{
|
3494
3546
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;
|
3495
|
-
yyreportSyntaxError (&yystack, scanner, filename, tree);
|
3547
|
+
yyreportSyntaxError (&yystack, scanner, filename, crefs, tree);
|
3496
3548
|
goto yyuser_error;
|
3497
3549
|
}
|
3498
3550
|
else
|
3499
|
-
YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, scanner, filename, tree));
|
3551
|
+
YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, scanner, filename, crefs, tree));
|
3500
3552
|
}
|
3501
3553
|
}
|
3502
3554
|
|
@@ -3528,17 +3580,17 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3528
3580
|
on yylval in the event of memory exhaustion. */
|
3529
3581
|
|
3530
3582
|
for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
|
3531
|
-
YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, &yylloc, scanner, filename, tree));
|
3583
|
+
YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, &yylloc, scanner, filename, crefs, tree));
|
3532
3584
|
yyremoveDeletes (&yystack);
|
3533
3585
|
if (yystack.yytops.yysize == 0)
|
3534
3586
|
{
|
3535
3587
|
yyundeleteLastStack (&yystack);
|
3536
3588
|
if (yystack.yytops.yysize == 0)
|
3537
|
-
yyFail (&yystack, &yylloc, scanner, filename, tree, YY_("syntax error"));
|
3538
|
-
YYCHK1 (yyresolveStack (&yystack, scanner, filename, tree));
|
3589
|
+
yyFail (&yystack, &yylloc, scanner, filename, crefs, tree, YY_("syntax error"));
|
3590
|
+
YYCHK1 (yyresolveStack (&yystack, scanner, filename, crefs, tree));
|
3539
3591
|
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
|
3540
3592
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;
|
3541
|
-
yyreportSyntaxError (&yystack, scanner, filename, tree);
|
3593
|
+
yyreportSyntaxError (&yystack, scanner, filename, crefs, tree);
|
3542
3594
|
goto yyuser_error;
|
3543
3595
|
}
|
3544
3596
|
|
@@ -3569,7 +3621,7 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3569
3621
|
|
3570
3622
|
if (yystack.yytops.yysize == 1)
|
3571
3623
|
{
|
3572
|
-
YYCHK1 (yyresolveStack (&yystack, scanner, filename, tree));
|
3624
|
+
YYCHK1 (yyresolveStack (&yystack, scanner, filename, crefs, tree));
|
3573
3625
|
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
|
3574
3626
|
yycompressStack (&yystack);
|
3575
3627
|
break;
|
@@ -3577,7 +3629,7 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3577
3629
|
}
|
3578
3630
|
continue;
|
3579
3631
|
yyuser_error:
|
3580
|
-
yyrecoverSyntaxError (&yystack, scanner, filename, tree);
|
3632
|
+
yyrecoverSyntaxError (&yystack, scanner, filename, crefs, tree);
|
3581
3633
|
yyposn = yystack.yytops.yystates[0]->yyposn;
|
3582
3634
|
}
|
3583
3635
|
|
@@ -3594,14 +3646,14 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3594
3646
|
goto yyreturn;
|
3595
3647
|
|
3596
3648
|
yyexhaustedlab:
|
3597
|
-
yyerror (&yylloc, scanner, filename, tree, YY_("memory exhausted"));
|
3649
|
+
yyerror (&yylloc, scanner, filename, crefs, tree, YY_("memory exhausted"));
|
3598
3650
|
yyresult = 2;
|
3599
3651
|
goto yyreturn;
|
3600
3652
|
|
3601
3653
|
yyreturn:
|
3602
3654
|
if (yychar != YYEMPTY)
|
3603
3655
|
yydestruct ("Cleanup: discarding lookahead",
|
3604
|
-
YYTRANSLATE (yychar), &yylval, &yylloc, scanner, filename, tree);
|
3656
|
+
YYTRANSLATE (yychar), &yylval, &yylloc, scanner, filename, crefs, tree);
|
3605
3657
|
|
3606
3658
|
/* If the stack is well-formed, pop the stack until it is empty,
|
3607
3659
|
destroying its entries as we go. But free the stack regardless
|
@@ -3621,7 +3673,7 @@ yyparse (yyscan_t scanner, VALUE filename, VALUE *tree)
|
|
3621
3673
|
yyGLRState *yys = yystates[yyk];
|
3622
3674
|
yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;
|
3623
3675
|
if (yys->yypred != YY_NULLPTR)
|
3624
|
-
yydestroyGLRState ("Cleanup: popping", yys, scanner, filename, tree);
|
3676
|
+
yydestroyGLRState ("Cleanup: popping", yys, scanner, filename, crefs, tree);
|
3625
3677
|
yystates[yyk] = yys->yypred;
|
3626
3678
|
yystack.yynextFree -= 1;
|
3627
3679
|
yystack.yyspaceLeft += 1;
|
@@ -3717,52 +3769,36 @@ yypdumpstack (yyGLRStack* yystackp)
|
|
3717
3769
|
|
3718
3770
|
|
3719
3771
|
|
3720
|
-
#line
|
3772
|
+
#line 861 "etc/slow_blink/ext_schema_parser/parser.y" /* glr.c:2584 */
|
3721
3773
|
|
3722
3774
|
|
3723
3775
|
void Init_ext_schema_parser(void)
|
3724
3776
|
{
|
3725
3777
|
cSlowBlink = rb_define_module("SlowBlink");
|
3726
3778
|
cParseError = rb_const_get(cSlowBlink, rb_intern("ParseError"));
|
3727
|
-
|
3779
|
+
rb_define_private_method(rb_const_get(cSlowBlink, rb_intern("Schema")), "parse_file_buffer", parseFileBuffer, 2);
|
3728
3780
|
}
|
3729
3781
|
|
3730
|
-
void yyerror(YYLTYPE *locp, yyscan_t scanner, VALUE filename, VALUE *tree, char const *msg)
|
3782
|
+
void yyerror(YYLTYPE *locp, yyscan_t scanner, VALUE filename, VALUE crefs, VALUE *tree, char const *msg)
|
3731
3783
|
{
|
3732
|
-
VALUE message = newLocation(filename, locp);
|
3784
|
+
VALUE message = newLocation(filename, crefs, locp);
|
3733
3785
|
rb_str_append(message, rb_str_new2(" error: "));
|
3734
3786
|
rb_str_append(message, rb_funcall(rb_str_new2(msg), rb_intern("sub"), 2, rb_str_new2("UNKNOWN"), rb_str_new2(yyget_text(scanner))));
|
3735
3787
|
rb_funcall(rb_stderr, rb_intern("puts"), 1, message);
|
3736
3788
|
}
|
3737
3789
|
|
3738
|
-
static VALUE parseFileBuffer(
|
3790
|
+
static VALUE parseFileBuffer(VALUE self, VALUE buffer, VALUE filename)
|
3739
3791
|
{
|
3740
3792
|
yyscan_t scanner;
|
3741
3793
|
VALUE tree = Qnil;
|
3742
|
-
VALUE
|
3743
|
-
VALUE opts;
|
3744
|
-
VALUE filename;
|
3794
|
+
VALUE crefs = rb_iv_get(self, "@crefs");
|
3745
3795
|
int retval = 0;
|
3746
3796
|
|
3747
|
-
rb_scan_args(argc, argv, "10:", &buffer, &opts);
|
3748
|
-
|
3749
|
-
if(buffer == Qnil){
|
3750
|
-
rb_raise(rb_eTypeError, "error: input must be a string");
|
3751
|
-
}
|
3752
|
-
|
3753
|
-
if(opts == Qnil){
|
3754
|
-
opts = rb_hash_new();
|
3755
|
-
}
|
3756
|
-
|
3757
|
-
filename = rb_hash_aref(opts, ID2SYM(rb_intern("filename")));
|
3758
|
-
|
3759
|
-
rb_gc_mark(filename);
|
3760
|
-
|
3761
3797
|
if(yylex_init(&scanner) == 0){
|
3762
3798
|
|
3763
3799
|
if(yy_scan_bytes((const char *)RSTRING_PTR(buffer), RSTRING_LEN(buffer), scanner)){
|
3764
3800
|
|
3765
|
-
retval = yyparse(scanner, filename, &tree);
|
3801
|
+
retval = yyparse(scanner, filename, crefs, &tree);
|
3766
3802
|
}
|
3767
3803
|
|
3768
3804
|
yylex_destroy(scanner);
|
@@ -3783,9 +3819,10 @@ static VALUE parseFileBuffer(int argc, VALUE* argv, VALUE self)
|
|
3783
3819
|
return tree;
|
3784
3820
|
}
|
3785
3821
|
|
3786
|
-
static VALUE newLocation(VALUE filename, const YYLTYPE *locp)
|
3822
|
+
static VALUE newLocation(VALUE filename, VALUE crefs, const YYLTYPE *locp)
|
3787
3823
|
{
|
3788
3824
|
VALUE retval = rb_str_new2("");
|
3825
|
+
rb_ary_push(crefs, retval);
|
3789
3826
|
|
3790
3827
|
if(filename != Qnil){
|
3791
3828
|
|