ndtypes 0.2.0dev5 → 0.2.0dev6
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/CONTRIBUTING.md +12 -0
- data/Rakefile +8 -0
- data/ext/ruby_ndtypes/GPATH +0 -0
- data/ext/ruby_ndtypes/GRTAGS +0 -0
- data/ext/ruby_ndtypes/GTAGS +0 -0
- data/ext/ruby_ndtypes/extconf.rb +1 -1
- data/ext/ruby_ndtypes/include/ndtypes.h +231 -122
- data/ext/ruby_ndtypes/include/ruby_ndtypes.h +1 -1
- data/ext/ruby_ndtypes/lib/libndtypes.a +0 -0
- data/ext/ruby_ndtypes/lib/libndtypes.so.0.2.0dev3 +0 -0
- data/ext/ruby_ndtypes/ndtypes/Makefile +87 -0
- data/ext/ruby_ndtypes/ndtypes/config.h +68 -0
- data/ext/ruby_ndtypes/ndtypes/config.log +477 -0
- data/ext/ruby_ndtypes/ndtypes/config.status +1027 -0
- data/ext/ruby_ndtypes/ndtypes/doc/_static/style.css +7 -0
- data/ext/ruby_ndtypes/ndtypes/doc/_templates/layout.html +2 -0
- data/ext/ruby_ndtypes/ndtypes/doc/conf.py +40 -4
- data/ext/ruby_ndtypes/ndtypes/doc/images/xndlogo.png +0 -0
- data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/types.rst +1 -1
- data/ext/ruby_ndtypes/ndtypes/doc/requirements.txt +2 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile +287 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.in +20 -4
- data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.vc +22 -3
- data/ext/ruby_ndtypes/ndtypes/libndtypes/alloc.c +1 -1
- data/ext/ruby_ndtypes/ndtypes/libndtypes/alloc.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/attr.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/Makefile +73 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.c +246 -229
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.h +15 -11
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.y +38 -28
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.c +91 -91
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.h +1 -1
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.l +4 -3
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/export.c +8 -7
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/export.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/import.c +2 -2
- data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/import.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/context.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/copy.c +263 -182
- data/ext/ruby_ndtypes/ndtypes/libndtypes/copy.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/encodings.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/equal.c +67 -7
- data/ext/ruby_ndtypes/ndtypes/libndtypes/equal.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.c +1112 -1000
- data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.h +69 -58
- data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.y +150 -99
- data/ext/ruby_ndtypes/ndtypes/libndtypes/io.c +185 -15
- data/ext/ruby_ndtypes/ndtypes/libndtypes/io.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.c +301 -276
- data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.h +1 -1
- data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.l +9 -4
- data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.a +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so +1 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so.0 +1 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so.0.2.0dev3 +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/match.c +729 -228
- data/ext/ruby_ndtypes/ndtypes/libndtypes/match.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.c +768 -403
- data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.h +1002 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.h.in +231 -122
- data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.c +176 -84
- data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.h +26 -14
- data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/parser.c +57 -35
- data/ext/ruby_ndtypes/ndtypes/libndtypes/parser.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/primitive.c +420 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/primitive.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.c +8 -8
- data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.h +1 -1
- data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/Makefile +48 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/deserialize.c +200 -116
- data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/deserialize.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/serialize.c +46 -4
- data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/serialize.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.c +58 -27
- data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.h +1 -1
- data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.c +3 -5
- data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.h +12 -4
- data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile +55 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.in +8 -8
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.vc +5 -5
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/runtest.c +274 -172
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test.h +24 -4
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_array.c +2 -2
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_buffer.c +14 -14
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_match.c +32 -30
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse.c +37 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_error.c +36 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_roundtrip.c +16 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_record.c +5 -5
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_typecheck.c +706 -253
- data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_unify.c +132 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/unify.c +703 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/unify.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/util.c +335 -127
- data/ext/ruby_ndtypes/ndtypes/libndtypes/util.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/libndtypes/values.c +2 -2
- data/ext/ruby_ndtypes/ndtypes/libndtypes/values.o +0 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndt_randtype.py +88 -71
- data/ext/ruby_ndtypes/ndtypes/python/ndt_support.py +0 -1
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/__init__.py +10 -13
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/_ndtypes.c +395 -314
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.a +0 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so +1 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so.0 +1 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so.0.2.0dev3 +0 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/ndtypes.h +1002 -0
- data/ext/ruby_ndtypes/ndtypes/python/ndtypes/pyndtypes.h +15 -33
- data/ext/ruby_ndtypes/ndtypes/python/test_ndtypes.py +340 -132
- data/ext/ruby_ndtypes/ndtypes/setup.py +11 -2
- data/ext/ruby_ndtypes/ruby_ndtypes.c +364 -241
- data/ext/ruby_ndtypes/ruby_ndtypes.h +1 -1
- data/ext/ruby_ndtypes/ruby_ndtypes_internal.h +0 -1
- data/lib/ndtypes.rb +11 -0
- data/lib/ndtypes/version.rb +2 -2
- data/lib/ruby_ndtypes.so +0 -0
- data/ndtypes.gemspec +3 -0
- data/spec/ndtypes_spec.rb +6 -0
- metadata +98 -4
- data/ext/ruby_ndtypes/gc_guard.c +0 -36
- data/ext/ruby_ndtypes/gc_guard.h +0 -12
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
/* A Bison parser, made by GNU Bison 3.
|
|
1
|
+
/* A Bison parser, made by GNU Bison 3.3. */
|
|
2
2
|
|
|
3
3
|
/* Bison interface for Yacc-like parsers in C
|
|
4
4
|
|
|
5
|
-
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation,
|
|
5
|
+
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
|
6
|
+
Inc.
|
|
6
7
|
|
|
7
8
|
This program is free software: you can redistribute it and/or modify
|
|
8
9
|
it under the terms of the GNU General Public License as published by
|
|
@@ -30,6 +31,9 @@
|
|
|
30
31
|
This special exception was added by the Free Software Foundation in
|
|
31
32
|
version 2.2 of Bison. */
|
|
32
33
|
|
|
34
|
+
/* Undocumented macros, especially those whose name start with YY_,
|
|
35
|
+
are private implementation details. Do not rely on them. */
|
|
36
|
+
|
|
33
37
|
#ifndef YY_NDT_BP_BPGRAMMAR_H_INCLUDED
|
|
34
38
|
# define YY_NDT_BP_BPGRAMMAR_H_INCLUDED
|
|
35
39
|
/* Debug traces. */
|
|
@@ -40,7 +44,7 @@
|
|
|
40
44
|
extern int ndt_bpdebug;
|
|
41
45
|
#endif
|
|
42
46
|
/* "%code requires" blocks. */
|
|
43
|
-
#line
|
|
47
|
+
#line 302 "bpgrammar.y" /* yacc.c:1921 */
|
|
44
48
|
|
|
45
49
|
#include <ctype.h>
|
|
46
50
|
#include <assert.h>
|
|
@@ -51,7 +55,7 @@ extern int ndt_bpdebug;
|
|
|
51
55
|
#define YY_TYPEDEF_YY_SCANNER_T
|
|
52
56
|
typedef void * yyscan_t;
|
|
53
57
|
|
|
54
|
-
#line
|
|
58
|
+
#line 59 "bpgrammar.h" /* yacc.c:1921 */
|
|
55
59
|
|
|
56
60
|
/* Token type. */
|
|
57
61
|
#ifndef YYTOKENTYPE
|
|
@@ -86,9 +90,9 @@ extern int ndt_bpdebug;
|
|
|
86
90
|
|
|
87
91
|
union YYSTYPE
|
|
88
92
|
{
|
|
89
|
-
#line
|
|
93
|
+
#line 335 "bpgrammar.y" /* yacc.c:1921 */
|
|
90
94
|
|
|
91
|
-
ndt_t *ndt;
|
|
95
|
+
const ndt_t *ndt;
|
|
92
96
|
ndt_field_t *field;
|
|
93
97
|
ndt_field_seq_t *field_seq;
|
|
94
98
|
ndt_string_seq_t *string_seq;
|
|
@@ -97,7 +101,7 @@ union YYSTYPE
|
|
|
97
101
|
unsigned char uchar;
|
|
98
102
|
uint16_t uint16;
|
|
99
103
|
|
|
100
|
-
#line
|
|
104
|
+
#line 105 "bpgrammar.h" /* yacc.c:1921 */
|
|
101
105
|
};
|
|
102
106
|
|
|
103
107
|
typedef union YYSTYPE YYSTYPE;
|
|
@@ -121,14 +125,14 @@ struct YYLTYPE
|
|
|
121
125
|
|
|
122
126
|
|
|
123
127
|
|
|
124
|
-
int ndt_bpparse (yyscan_t scanner, ndt_t **ast, ndt_context_t *ctx);
|
|
128
|
+
int ndt_bpparse (yyscan_t scanner, const ndt_t **ast, ndt_context_t *ctx);
|
|
125
129
|
/* "%code provides" blocks. */
|
|
126
|
-
#line
|
|
130
|
+
#line 313 "bpgrammar.y" /* yacc.c:1921 */
|
|
127
131
|
|
|
128
132
|
#define YY_DECL extern int ndt_bplexfunc(YYSTYPE *yylval_param, YYLTYPE *yylloc_param, yyscan_t yyscanner, ndt_context_t *ctx)
|
|
129
133
|
extern int ndt_bplexfunc(YYSTYPE *, YYLTYPE *, yyscan_t, ndt_context_t *);
|
|
130
|
-
void yyerror(YYLTYPE *loc, yyscan_t scanner, ndt_t **ast, ndt_context_t *ctx, const char *msg);
|
|
134
|
+
void yyerror(YYLTYPE *loc, yyscan_t scanner, const ndt_t **ast, ndt_context_t *ctx, const char *msg);
|
|
131
135
|
|
|
132
|
-
#line
|
|
136
|
+
#line 137 "bpgrammar.h" /* yacc.c:1921 */
|
|
133
137
|
|
|
134
138
|
#endif /* !YY_NDT_BP_BPGRAMMAR_H_INCLUDED */
|
|
Binary file
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
void
|
|
40
|
-
yyerror(YYLTYPE *loc, yyscan_t scanner, ndt_t **ast, ndt_context_t *ctx,
|
|
40
|
+
yyerror(YYLTYPE *loc, yyscan_t scanner, const ndt_t **ast, ndt_context_t *ctx,
|
|
41
41
|
const char *msg)
|
|
42
42
|
{
|
|
43
43
|
(void)scanner;
|
|
@@ -67,13 +67,13 @@ add_uint16(uint16_t a, uint16_t b, ndt_context_t *ctx)
|
|
|
67
67
|
return c;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
static ndt_t *
|
|
70
|
+
static const ndt_t *
|
|
71
71
|
primitive_native(char dtype, ndt_context_t *ctx)
|
|
72
72
|
{
|
|
73
73
|
switch (dtype) {
|
|
74
74
|
case '?': return ndt_primitive(Bool, 0, ctx);
|
|
75
75
|
|
|
76
|
-
case 'c': return ndt_char(Ascii, ctx);
|
|
76
|
+
case 'c': return ndt_char(Ascii, false, ctx);
|
|
77
77
|
case 'b': return ndt_primitive(Int8, 0, ctx);
|
|
78
78
|
case 'B': return ndt_primitive(Uint8, 0, ctx);
|
|
79
79
|
|
|
@@ -104,13 +104,13 @@ primitive_native(char dtype, ndt_context_t *ctx)
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
static ndt_t *
|
|
107
|
+
static const ndt_t *
|
|
108
108
|
primitive_fixed(char dtype, uint32_t flags, ndt_context_t *ctx)
|
|
109
109
|
{
|
|
110
110
|
switch (dtype) {
|
|
111
111
|
case '?': return ndt_primitive(Bool, flags, ctx);
|
|
112
112
|
|
|
113
|
-
case 'c': return ndt_char(Ascii, ctx);
|
|
113
|
+
case 'c': return ndt_char(Ascii, false, ctx);
|
|
114
114
|
case 'b': return ndt_primitive(Int8, flags, ctx);
|
|
115
115
|
case 'B': return ndt_primitive(Uint8, flags, ctx);
|
|
116
116
|
|
|
@@ -139,7 +139,7 @@ primitive_fixed(char dtype, uint32_t flags, ndt_context_t *ctx)
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
static ndt_t *
|
|
142
|
+
static const ndt_t *
|
|
143
143
|
make_dtype(char modifier, char dtype, ndt_context_t *ctx)
|
|
144
144
|
{
|
|
145
145
|
switch (modifier) {
|
|
@@ -160,7 +160,7 @@ make_dtype(char modifier, char dtype, ndt_context_t *ctx)
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
static ndt_t *
|
|
163
|
+
static const ndt_t *
|
|
164
164
|
make_fixed_bytes(char *v, ndt_context_t *ctx)
|
|
165
165
|
{
|
|
166
166
|
uint16_opt_t align = {None, 0};
|
|
@@ -180,13 +180,13 @@ make_fixed_bytes(char *v, ndt_context_t *ctx)
|
|
|
180
180
|
return NULL;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
return ndt_fixed_bytes(datasize, align, ctx);
|
|
183
|
+
return ndt_fixed_bytes(datasize, align, false, ctx);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
static ndt_t *
|
|
187
|
-
make_dimensions(ndt_string_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
186
|
+
static const ndt_t *
|
|
187
|
+
make_dimensions(ndt_string_seq_t *seq, const ndt_t *type, ndt_context_t *ctx)
|
|
188
188
|
{
|
|
189
|
-
ndt_t *t;
|
|
189
|
+
const ndt_t *t;
|
|
190
190
|
int64_t shape;
|
|
191
191
|
int64_t i;
|
|
192
192
|
|
|
@@ -194,18 +194,21 @@ make_dimensions(ndt_string_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
|
194
194
|
ndt_err_format(ctx, NDT_ValueError,
|
|
195
195
|
"number of dimensions must be between 1 and %d", NDT_MAX_DIM);
|
|
196
196
|
ndt_string_seq_del(seq);
|
|
197
|
-
|
|
197
|
+
ndt_decref(type);
|
|
198
198
|
return NULL;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
+
|
|
201
202
|
for (i=seq->len-1, t=type; i>=0; i--, type=t) {
|
|
202
203
|
shape = ndt_strtoll(seq->ptr[i], 0, INT_MAX, ctx);
|
|
203
204
|
if (ndt_err_occurred(ctx)) {
|
|
204
205
|
ndt_string_seq_del(seq);
|
|
206
|
+
ndt_decref(type);
|
|
205
207
|
return NULL;
|
|
206
208
|
}
|
|
207
209
|
|
|
208
210
|
t = ndt_fixed_dim(type, shape, INT64_MAX, ctx);
|
|
211
|
+
ndt_decref(type);
|
|
209
212
|
if (t == NULL) {
|
|
210
213
|
ndt_string_seq_del(seq);
|
|
211
214
|
return NULL;
|
|
@@ -218,27 +221,32 @@ make_dimensions(ndt_string_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
|
218
221
|
}
|
|
219
222
|
|
|
220
223
|
static ndt_field_t *
|
|
221
|
-
make_field(char *name, ndt_t *type, uint16_t padding, ndt_context_t *ctx)
|
|
224
|
+
make_field(char *name, const ndt_t *type, uint16_t padding, ndt_context_t *ctx)
|
|
222
225
|
{
|
|
223
226
|
uint16_opt_t align = {None, 0};
|
|
224
227
|
uint16_opt_t pack = {None, 0};
|
|
225
228
|
uint16_opt_t pad = {Some, 0};
|
|
229
|
+
ndt_field_t *f;
|
|
226
230
|
|
|
227
231
|
pad.Some = padding;
|
|
228
|
-
|
|
232
|
+
f = ndt_field(name, type, align, pack, pad, ctx);
|
|
233
|
+
ndt_decref(type);
|
|
234
|
+
return f;
|
|
229
235
|
}
|
|
230
236
|
|
|
231
|
-
static ndt_t *
|
|
237
|
+
static const ndt_t *
|
|
232
238
|
make_record(ndt_field_seq_t *fields, ndt_context_t *ctx)
|
|
233
239
|
{
|
|
234
240
|
uint16_opt_t align = {None, 0};
|
|
235
241
|
uint16_opt_t pack = {None, 0};
|
|
236
|
-
ndt_t *t;
|
|
242
|
+
const ndt_t *t;
|
|
237
243
|
int64_t i;
|
|
238
244
|
|
|
239
245
|
fields = ndt_field_seq_finalize(fields);
|
|
240
246
|
if (fields == NULL) {
|
|
241
|
-
|
|
247
|
+
t = ndt_record(Nonvariadic, NULL, 0, align, pack, false, ctx);
|
|
248
|
+
ndt_field_seq_del(fields);
|
|
249
|
+
return t;
|
|
242
250
|
}
|
|
243
251
|
|
|
244
252
|
assert(fields->len >= 1);
|
|
@@ -255,18 +263,19 @@ make_record(ndt_field_seq_t *fields, ndt_context_t *ctx)
|
|
|
255
263
|
fields->ptr[i].Concrete.explicit_align = true;
|
|
256
264
|
}
|
|
257
265
|
|
|
258
|
-
t = ndt_record(Nonvariadic, fields->ptr, fields->len, align, pack, ctx);
|
|
259
|
-
|
|
266
|
+
t = ndt_record(Nonvariadic, fields->ptr, fields->len, align, pack, false, ctx);
|
|
267
|
+
ndt_field_seq_del(fields);
|
|
260
268
|
|
|
261
269
|
return t;
|
|
262
270
|
}
|
|
263
271
|
|
|
264
272
|
static ndt_type_seq_t *
|
|
265
|
-
broadcast_seq_new(ndt_t *type, ndt_context_t *ctx)
|
|
273
|
+
broadcast_seq_new(const ndt_t *type, ndt_context_t *ctx)
|
|
266
274
|
{
|
|
267
275
|
ndt_t *t;
|
|
268
276
|
|
|
269
|
-
t = ndt_ellipsis_dim(NULL, type, ctx);
|
|
277
|
+
t = (ndt_t *)ndt_ellipsis_dim(NULL, type, ctx);
|
|
278
|
+
ndt_decref(type);
|
|
270
279
|
if (t == NULL) {
|
|
271
280
|
return NULL;
|
|
272
281
|
}
|
|
@@ -275,11 +284,12 @@ broadcast_seq_new(ndt_t *type, ndt_context_t *ctx)
|
|
|
275
284
|
}
|
|
276
285
|
|
|
277
286
|
static ndt_type_seq_t *
|
|
278
|
-
broadcast_seq_append(ndt_type_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
287
|
+
broadcast_seq_append(ndt_type_seq_t *seq, const ndt_t *type, ndt_context_t *ctx)
|
|
279
288
|
{
|
|
280
289
|
ndt_t *t;
|
|
281
290
|
|
|
282
|
-
t = ndt_ellipsis_dim(NULL, type, ctx);
|
|
291
|
+
t = (ndt_t *)ndt_ellipsis_dim(NULL, type, ctx);
|
|
292
|
+
ndt_decref(type);
|
|
283
293
|
if (t == NULL) {
|
|
284
294
|
ndt_type_seq_del(seq);
|
|
285
295
|
return NULL;
|
|
@@ -303,12 +313,12 @@ broadcast_seq_append(ndt_type_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
|
303
313
|
%code provides {
|
|
304
314
|
#define YY_DECL extern int ndt_bplexfunc(YYSTYPE *yylval_param, YYLTYPE *yylloc_param, yyscan_t yyscanner, ndt_context_t *ctx)
|
|
305
315
|
extern int ndt_bplexfunc(YYSTYPE *, YYLTYPE *, yyscan_t, ndt_context_t *);
|
|
306
|
-
void yyerror(YYLTYPE *loc, yyscan_t scanner, ndt_t **ast, ndt_context_t *ctx, const char *msg);
|
|
316
|
+
void yyerror(YYLTYPE *loc, yyscan_t scanner, const ndt_t **ast, ndt_context_t *ctx, const char *msg);
|
|
307
317
|
}
|
|
308
318
|
|
|
309
319
|
|
|
310
320
|
%pure-parser
|
|
311
|
-
%error
|
|
321
|
+
%define parse.error verbose
|
|
312
322
|
|
|
313
323
|
|
|
314
324
|
%locations
|
|
@@ -320,10 +330,10 @@ broadcast_seq_append(ndt_type_seq_t *seq, ndt_t *type, ndt_context_t *ctx)
|
|
|
320
330
|
}
|
|
321
331
|
|
|
322
332
|
%lex-param {yyscan_t scanner} {ndt_context_t *ctx}
|
|
323
|
-
%parse-param {yyscan_t scanner} {ndt_t **ast} {ndt_context_t *ctx}
|
|
333
|
+
%parse-param {yyscan_t scanner} {const ndt_t **ast} {ndt_context_t *ctx}
|
|
324
334
|
|
|
325
335
|
%union {
|
|
326
|
-
ndt_t *ndt;
|
|
336
|
+
const ndt_t *ndt;
|
|
327
337
|
ndt_field_t *field;
|
|
328
338
|
ndt_field_seq_t *field_seq;
|
|
329
339
|
ndt_string_seq_t *string_seq;
|
|
@@ -366,7 +376,7 @@ ERRTOKEN
|
|
|
366
376
|
|
|
367
377
|
%token ENDMARKER 0 "end of file"
|
|
368
378
|
|
|
369
|
-
%destructor {
|
|
379
|
+
%destructor { ndt_decref($$); } <ndt>
|
|
370
380
|
%destructor { ndt_field_del($$); } <field>
|
|
371
381
|
%destructor { ndt_field_seq_del($$); } <field_seq>
|
|
372
382
|
%destructor { ndt_string_seq_del($$); } <string_seq>
|
|
@@ -601,15 +601,15 @@ struct yy_trans_info
|
|
|
601
601
|
flex_int32_t yy_verify;
|
|
602
602
|
flex_int32_t yy_nxt;
|
|
603
603
|
};
|
|
604
|
-
static const flex_int16_t yy_accept[
|
|
604
|
+
static const flex_int16_t yy_accept[63] =
|
|
605
605
|
{ 0,
|
|
606
606
|
0, 0, 0, 0, 45, 43, 41, 40, 40, 30,
|
|
607
607
|
42, 43, 33, 34, 31, 43, 37, 37, 32, 28,
|
|
608
|
-
27, 29, 2, 26, 5,
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
0
|
|
608
|
+
27, 29, 2, 26, 5, 7, 9, 11, 15, 13,
|
|
609
|
+
23, 43, 4, 3, 18, 16, 17, 6, 8, 10,
|
|
610
|
+
14, 12, 24, 22, 35, 36, 38, 39, 42, 0,
|
|
611
|
+
37, 37, 25, 37, 21, 19, 20, 39, 0, 0,
|
|
612
|
+
1, 0
|
|
613
613
|
} ;
|
|
614
614
|
|
|
615
615
|
static const YY_CHAR yy_ec[256] =
|
|
@@ -620,14 +620,14 @@ static const YY_CHAR yy_ec[256] =
|
|
|
620
620
|
1, 2, 5, 1, 6, 1, 7, 1, 1, 8,
|
|
621
621
|
9, 1, 1, 10, 11, 1, 1, 12, 13, 13,
|
|
622
622
|
13, 13, 13, 13, 13, 13, 13, 14, 1, 15,
|
|
623
|
-
16, 17, 18, 19, 20, 21, 20,
|
|
624
|
-
20,
|
|
625
|
-
|
|
626
|
-
1, 1, 1, 1,
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
20, 20,
|
|
623
|
+
16, 17, 18, 19, 20, 21, 20, 20, 20, 20,
|
|
624
|
+
20, 22, 23, 20, 20, 24, 20, 25, 20, 20,
|
|
625
|
+
26, 20, 20, 27, 20, 20, 20, 20, 20, 28,
|
|
626
|
+
1, 1, 1, 1, 29, 1, 20, 30, 31, 32,
|
|
627
|
+
|
|
628
|
+
33, 34, 20, 35, 36, 20, 20, 37, 20, 38,
|
|
629
|
+
39, 20, 40, 20, 41, 20, 20, 20, 20, 42,
|
|
630
|
+
20, 20, 43, 1, 44, 1, 1, 1, 1, 1,
|
|
631
631
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
632
632
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
633
633
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
@@ -644,77 +644,77 @@ static const YY_CHAR yy_ec[256] =
|
|
|
644
644
|
1, 1, 1, 1, 1
|
|
645
645
|
} ;
|
|
646
646
|
|
|
647
|
-
static const YY_CHAR yy_meta[
|
|
647
|
+
static const YY_CHAR yy_meta[45] =
|
|
648
648
|
{ 0,
|
|
649
649
|
1, 1, 2, 2, 1, 1, 1, 1, 1, 1,
|
|
650
650
|
1, 3, 3, 1, 1, 1, 1, 1, 1, 3,
|
|
651
651
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
652
652
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
653
|
-
3, 3,
|
|
653
|
+
3, 3, 1, 1
|
|
654
654
|
} ;
|
|
655
655
|
|
|
656
|
-
static const flex_int16_t yy_base[
|
|
656
|
+
static const flex_int16_t yy_base[65] =
|
|
657
657
|
{ 0,
|
|
658
|
-
0, 0,
|
|
659
|
-
0,
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
658
|
+
0, 0, 44, 0, 110, 111, 111, 111, 111, 111,
|
|
659
|
+
0, 78, 111, 111, 111, 77, 96, 79, 111, 111,
|
|
660
|
+
111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
|
|
661
|
+
111, 63, 111, 111, 111, 111, 111, 111, 111, 111,
|
|
662
|
+
111, 111, 111, 111, 111, 111, 111, 0, 0, 68,
|
|
663
|
+
94, 86, 111, 88, 111, 111, 111, 0, 73, 70,
|
|
664
|
+
111, 111, 101, 90
|
|
665
665
|
} ;
|
|
666
666
|
|
|
667
|
-
static const flex_int16_t yy_def[
|
|
667
|
+
static const flex_int16_t yy_def[65] =
|
|
668
668
|
{ 0,
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
62,
|
|
675
|
-
|
|
669
|
+
62, 1, 62, 3, 62, 62, 62, 62, 62, 62,
|
|
670
|
+
63, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
671
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
672
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
673
|
+
62, 62, 62, 62, 62, 62, 62, 64, 63, 62,
|
|
674
|
+
62, 62, 62, 62, 62, 62, 62, 64, 62, 62,
|
|
675
|
+
62, 0, 62, 62
|
|
676
676
|
} ;
|
|
677
677
|
|
|
678
|
-
static const flex_int16_t yy_nxt[
|
|
678
|
+
static const flex_int16_t yy_nxt[156] =
|
|
679
679
|
{ 0,
|
|
680
680
|
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
681
681
|
16, 17, 18, 19, 20, 21, 22, 23, 24, 6,
|
|
682
|
-
25, 26, 27, 28, 29, 30, 31, 32, 33,
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
6,
|
|
686
|
-
6, 6, 6,
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
682
|
+
25, 26, 27, 28, 29, 30, 31, 32, 6, 33,
|
|
683
|
+
34, 35, 36, 37, 38, 39, 40, 41, 6, 42,
|
|
684
|
+
43, 44, 45, 46, 6, 7, 8, 9, 6, 11,
|
|
685
|
+
6, 6, 6, 6, 6, 6, 6, 47, 6, 6,
|
|
686
|
+
6, 6, 6, 48, 48, 48, 48, 48, 48, 48,
|
|
687
|
+
48, 48, 6, 48, 48, 48, 48, 48, 48, 48,
|
|
688
|
+
48, 48, 48, 48, 48, 48, 6, 6, 51, 52,
|
|
689
|
+
54, 54, 58, 53, 55, 56, 57, 54, 54, 54,
|
|
690
|
+
|
|
691
|
+
54, 49, 61, 49, 60, 51, 59, 51, 50, 62,
|
|
692
|
+
5, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
693
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
694
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
695
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
696
|
+
62, 62, 62, 62, 62
|
|
697
697
|
} ;
|
|
698
698
|
|
|
699
|
-
static const flex_int16_t yy_chk[
|
|
699
|
+
static const flex_int16_t yy_chk[156] =
|
|
700
700
|
{ 0,
|
|
701
701
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
702
702
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
703
703
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
704
704
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
705
|
-
1, 1, 1, 1,
|
|
705
|
+
1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
|
|
706
706
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
707
707
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
708
708
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
709
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
709
|
+
3, 3, 3, 3, 3, 3, 3, 3, 16, 16,
|
|
710
|
+
18, 18, 64, 16, 32, 32, 32, 52, 52, 54,
|
|
711
|
+
|
|
712
|
+
54, 63, 60, 63, 59, 51, 50, 17, 12, 5,
|
|
713
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
714
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
715
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
716
|
+
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
|
|
717
|
+
62, 62, 62, 62, 62
|
|
718
718
|
} ;
|
|
719
719
|
|
|
720
720
|
/* Table of booleans, true if rule could match eol. */
|
|
@@ -1128,13 +1128,13 @@ yy_match:
|
|
|
1128
1128
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1129
1129
|
{
|
|
1130
1130
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1131
|
-
if ( yy_current_state >=
|
|
1131
|
+
if ( yy_current_state >= 63 )
|
|
1132
1132
|
yy_c = yy_meta[yy_c];
|
|
1133
1133
|
}
|
|
1134
1134
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1135
1135
|
++yy_cp;
|
|
1136
1136
|
}
|
|
1137
|
-
while ( yy_current_state !=
|
|
1137
|
+
while ( yy_current_state != 62 );
|
|
1138
1138
|
yy_cp = yyg->yy_last_accepting_cpos;
|
|
1139
1139
|
yy_current_state = yyg->yy_last_accepting_state;
|
|
1140
1140
|
|
|
@@ -1269,109 +1269,109 @@ YY_RULE_SETUP
|
|
|
1269
1269
|
YY_BREAK
|
|
1270
1270
|
case 19:
|
|
1271
1271
|
YY_RULE_SETUP
|
|
1272
|
-
#line
|
|
1272
|
+
#line 140 "bplexer.l"
|
|
1273
1273
|
{ yylval->uchar = 'E'; return DTYPE; }
|
|
1274
1274
|
YY_BREAK
|
|
1275
1275
|
case 20:
|
|
1276
1276
|
YY_RULE_SETUP
|
|
1277
|
-
#line
|
|
1277
|
+
#line 141 "bplexer.l"
|
|
1278
1278
|
{ yylval->uchar = 'F'; return DTYPE; }
|
|
1279
1279
|
YY_BREAK
|
|
1280
1280
|
case 21:
|
|
1281
1281
|
YY_RULE_SETUP
|
|
1282
|
-
#line
|
|
1282
|
+
#line 142 "bplexer.l"
|
|
1283
1283
|
{ yylval->uchar = 'D'; return DTYPE; }
|
|
1284
1284
|
YY_BREAK
|
|
1285
1285
|
case 22:
|
|
1286
1286
|
YY_RULE_SETUP
|
|
1287
|
-
#line
|
|
1287
|
+
#line 144 "bplexer.l"
|
|
1288
1288
|
{ return PAD; }
|
|
1289
1289
|
YY_BREAK
|
|
1290
1290
|
case 23:
|
|
1291
1291
|
YY_RULE_SETUP
|
|
1292
|
-
#line
|
|
1292
|
+
#line 145 "bplexer.l"
|
|
1293
1293
|
{ return RECORD; }
|
|
1294
1294
|
YY_BREAK
|
|
1295
1295
|
case 24:
|
|
1296
1296
|
YY_RULE_SETUP
|
|
1297
|
-
#line
|
|
1297
|
+
#line 146 "bplexer.l"
|
|
1298
1298
|
{ return BYTES; }
|
|
1299
1299
|
YY_BREAK
|
|
1300
1300
|
case 25:
|
|
1301
1301
|
YY_RULE_SETUP
|
|
1302
|
-
#line
|
|
1302
|
+
#line 148 "bplexer.l"
|
|
1303
1303
|
{ return RARROW; }
|
|
1304
1304
|
YY_BREAK
|
|
1305
1305
|
case 26:
|
|
1306
1306
|
YY_RULE_SETUP
|
|
1307
|
-
#line
|
|
1307
|
+
#line 149 "bplexer.l"
|
|
1308
1308
|
{ return AT; }
|
|
1309
1309
|
YY_BREAK
|
|
1310
1310
|
case 27:
|
|
1311
1311
|
YY_RULE_SETUP
|
|
1312
|
-
#line
|
|
1312
|
+
#line 150 "bplexer.l"
|
|
1313
1313
|
{ return EQUAL; }
|
|
1314
1314
|
YY_BREAK
|
|
1315
1315
|
case 28:
|
|
1316
1316
|
YY_RULE_SETUP
|
|
1317
|
-
#line
|
|
1317
|
+
#line 151 "bplexer.l"
|
|
1318
1318
|
{ return LESS; }
|
|
1319
1319
|
YY_BREAK
|
|
1320
1320
|
case 29:
|
|
1321
1321
|
YY_RULE_SETUP
|
|
1322
|
-
#line
|
|
1322
|
+
#line 152 "bplexer.l"
|
|
1323
1323
|
{ return GREATER; }
|
|
1324
1324
|
YY_BREAK
|
|
1325
1325
|
case 30:
|
|
1326
1326
|
YY_RULE_SETUP
|
|
1327
|
-
#line
|
|
1327
|
+
#line 153 "bplexer.l"
|
|
1328
1328
|
{ return BANG; }
|
|
1329
1329
|
YY_BREAK
|
|
1330
1330
|
case 31:
|
|
1331
1331
|
YY_RULE_SETUP
|
|
1332
|
-
#line
|
|
1332
|
+
#line 154 "bplexer.l"
|
|
1333
1333
|
{ return COMMA; }
|
|
1334
1334
|
YY_BREAK
|
|
1335
1335
|
case 32:
|
|
1336
1336
|
YY_RULE_SETUP
|
|
1337
|
-
#line
|
|
1337
|
+
#line 155 "bplexer.l"
|
|
1338
1338
|
{ BEGIN(FIELDNAME); return COLON; }
|
|
1339
1339
|
YY_BREAK
|
|
1340
1340
|
case 33:
|
|
1341
1341
|
YY_RULE_SETUP
|
|
1342
|
-
#line
|
|
1342
|
+
#line 156 "bplexer.l"
|
|
1343
1343
|
{ return LPAREN; }
|
|
1344
1344
|
YY_BREAK
|
|
1345
1345
|
case 34:
|
|
1346
1346
|
YY_RULE_SETUP
|
|
1347
|
-
#line
|
|
1347
|
+
#line 157 "bplexer.l"
|
|
1348
1348
|
{ return RPAREN; }
|
|
1349
1349
|
YY_BREAK
|
|
1350
1350
|
case 35:
|
|
1351
1351
|
YY_RULE_SETUP
|
|
1352
|
-
#line
|
|
1352
|
+
#line 158 "bplexer.l"
|
|
1353
1353
|
{ return LBRACE; }
|
|
1354
1354
|
YY_BREAK
|
|
1355
1355
|
case 36:
|
|
1356
1356
|
YY_RULE_SETUP
|
|
1357
|
-
#line
|
|
1357
|
+
#line 159 "bplexer.l"
|
|
1358
1358
|
{ return RBRACE; }
|
|
1359
1359
|
YY_BREAK
|
|
1360
1360
|
case 37:
|
|
1361
1361
|
YY_RULE_SETUP
|
|
1362
|
-
#line
|
|
1362
|
+
#line 161 "bplexer.l"
|
|
1363
1363
|
{ yylval->string = ndt_strdup(yytext, ctx); if (yylval->string == NULL) return ERRTOKEN; return INTEGER; }
|
|
1364
1364
|
YY_BREAK
|
|
1365
1365
|
|
|
1366
1366
|
|
|
1367
1367
|
case 38:
|
|
1368
1368
|
YY_RULE_SETUP
|
|
1369
|
-
#line
|
|
1369
|
+
#line 165 "bplexer.l"
|
|
1370
1370
|
{ BEGIN(INITIAL); return COLON; }
|
|
1371
1371
|
YY_BREAK
|
|
1372
1372
|
case 39:
|
|
1373
1373
|
YY_RULE_SETUP
|
|
1374
|
-
#line
|
|
1374
|
+
#line 166 "bplexer.l"
|
|
1375
1375
|
{ yylval->string = ndt_strdup(yytext, ctx); if (yylval->string == NULL) return ERRTOKEN; return NAME; }
|
|
1376
1376
|
YY_BREAK
|
|
1377
1377
|
|
|
@@ -1379,28 +1379,28 @@ YY_RULE_SETUP
|
|
|
1379
1379
|
case 40:
|
|
1380
1380
|
/* rule 40 can match eol */
|
|
1381
1381
|
YY_RULE_SETUP
|
|
1382
|
-
#line
|
|
1382
|
+
#line 170 "bplexer.l"
|
|
1383
1383
|
{ yycolumn = 1; }
|
|
1384
1384
|
YY_BREAK
|
|
1385
1385
|
case 41:
|
|
1386
1386
|
YY_RULE_SETUP
|
|
1387
|
-
#line
|
|
1387
|
+
#line 171 "bplexer.l"
|
|
1388
1388
|
{} /* ignore */
|
|
1389
1389
|
YY_BREAK
|
|
1390
1390
|
case 42:
|
|
1391
1391
|
YY_RULE_SETUP
|
|
1392
|
-
#line
|
|
1392
|
+
#line 172 "bplexer.l"
|
|
1393
1393
|
{} /* ignore */
|
|
1394
1394
|
YY_BREAK
|
|
1395
1395
|
case 43:
|
|
1396
1396
|
YY_RULE_SETUP
|
|
1397
|
-
#line
|
|
1397
|
+
#line 173 "bplexer.l"
|
|
1398
1398
|
{ return ERRTOKEN; }
|
|
1399
1399
|
YY_BREAK
|
|
1400
1400
|
|
|
1401
1401
|
case 44:
|
|
1402
1402
|
YY_RULE_SETUP
|
|
1403
|
-
#line
|
|
1403
|
+
#line 177 "bplexer.l"
|
|
1404
1404
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
|
1405
1405
|
YY_BREAK
|
|
1406
1406
|
#line 1406 "bplexer.c"
|
|
@@ -1704,7 +1704,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1704
1704
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1705
1705
|
{
|
|
1706
1706
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1707
|
-
if ( yy_current_state >=
|
|
1707
|
+
if ( yy_current_state >= 63 )
|
|
1708
1708
|
yy_c = yy_meta[yy_c];
|
|
1709
1709
|
}
|
|
1710
1710
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
@@ -1733,11 +1733,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1733
1733
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1734
1734
|
{
|
|
1735
1735
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1736
|
-
if ( yy_current_state >=
|
|
1736
|
+
if ( yy_current_state >= 63 )
|
|
1737
1737
|
yy_c = yy_meta[yy_c];
|
|
1738
1738
|
}
|
|
1739
1739
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1740
|
-
yy_is_jam = (yy_current_state ==
|
|
1740
|
+
yy_is_jam = (yy_current_state == 62);
|
|
1741
1741
|
|
|
1742
1742
|
(void)yyg;
|
|
1743
1743
|
return yy_is_jam ? 0 : yy_current_state;
|
|
@@ -2538,6 +2538,6 @@ static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
|
|
|
2538
2538
|
|
|
2539
2539
|
#define YYTABLES_NAME "yytables"
|
|
2540
2540
|
|
|
2541
|
-
#line
|
|
2541
|
+
#line 177 "bplexer.l"
|
|
2542
2542
|
|
|
2543
2543
|
|