ferret 0.11.8.6 → 0.11.8.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{README → README.md} +3 -6
- data/Rakefile +7 -7
- data/{TUTORIAL → TUTORIAL.md} +0 -0
- data/ext/BZLIB_blocksort.c +2 -2
- data/ext/BZLIB_bzlib.c +4 -10
- data/ext/BZLIB_compress.c +2 -2
- data/ext/BZLIB_crctable.c +2 -2
- data/ext/BZLIB_decompress.c +22 -2
- data/ext/BZLIB_huffman.c +2 -2
- data/ext/BZLIB_randtable.c +2 -2
- data/ext/bitvector.c +6 -6
- data/ext/bzlib.h +2 -2
- data/ext/bzlib_private.h +11 -5
- data/ext/compound_io.c +1 -1
- data/ext/document.c +6 -9
- data/ext/except.c +2 -2
- data/ext/except.h +2 -2
- data/ext/field_index.c +1 -1
- data/ext/global.c +21 -30
- data/ext/global.h +2 -0
- data/ext/index.c +13 -6
- data/ext/index.h +4 -1
- data/ext/internal.h +1 -0
- data/ext/multimapper.c +1 -1
- data/ext/q_fuzzy.c +2 -1
- data/ext/q_span.c +1 -1
- data/ext/r_analysis.c +1 -1
- data/ext/r_index.c +2 -2
- data/ext/r_qparser.c +1 -3
- data/ext/r_search.c +7 -6
- data/ext/r_store.c +2 -0
- data/ext/scanner.c +50 -45
- data/ext/scanner_mb.c +51 -46
- data/ext/scanner_utf8.c +56 -51
- data/ext/search.c +2 -1
- data/ext/sort.c +2 -5
- data/lib/ferret/version.rb +1 -1
- data/test/unit/index/tc_index.rb +4 -6
- metadata +8 -9
- data/setup.rb +0 -1555
data/ext/global.h
CHANGED
@@ -104,6 +104,8 @@ extern char *frt_estrcat(char *str, char *str_cat);
|
|
104
104
|
extern void frt_weprintf(const char *fmt, ...);
|
105
105
|
extern char *frt_epstrdup(const char *fmt, int len, ...);
|
106
106
|
|
107
|
+
extern char *frt_strapp(char *dst, const char *src);
|
108
|
+
|
107
109
|
extern const char *FRT_EMPTY_STRING;
|
108
110
|
|
109
111
|
extern int frt_scmp(const void *p1, const void *p2);
|
data/ext/index.c
CHANGED
@@ -105,7 +105,10 @@ static u64 str36_to_u64(char *p)
|
|
105
105
|
* @param ext extension of the filename (including .)
|
106
106
|
* @param gen generation
|
107
107
|
*/
|
108
|
-
char *fn_for_generation(char *buf,
|
108
|
+
char *fn_for_generation(char *buf,
|
109
|
+
const char *base,
|
110
|
+
const char *ext,
|
111
|
+
i64 gen)
|
109
112
|
{
|
110
113
|
if (-1 == gen) {
|
111
114
|
return NULL;
|
@@ -872,7 +875,7 @@ static void sis_find_segments_file(Store *store, FindSegmentsFile *fsf,
|
|
872
875
|
XENDTRY
|
873
876
|
|
874
877
|
if (NULL != gen_is) {
|
875
|
-
i64 gen0 = -1, gen1 = -1;
|
878
|
+
volatile i64 gen0 = -1, gen1 = -1;
|
876
879
|
|
877
880
|
TRY
|
878
881
|
gen0 = is_read_u64(gen_is);
|
@@ -1080,7 +1083,7 @@ static void sis_read_i(Store *store, FindSegmentsFile *fsf)
|
|
1080
1083
|
{
|
1081
1084
|
int seg_cnt;
|
1082
1085
|
int i;
|
1083
|
-
bool success = false;
|
1086
|
+
volatile bool success = false;
|
1084
1087
|
char seg_file_name[SEGMENT_NAME_MAX_LENGTH];
|
1085
1088
|
InStream *volatile is = NULL;
|
1086
1089
|
SegmentInfos *volatile sis = ALLOC_AND_ZERO(SegmentInfos);
|
@@ -1166,7 +1169,6 @@ void sis_write(SegmentInfos *sis, Store *store, Deleter *deleter)
|
|
1166
1169
|
static void sis_read_ver_i(Store *store, FindSegmentsFile *fsf)
|
1167
1170
|
{
|
1168
1171
|
InStream *is;
|
1169
|
-
u32 format = 0;
|
1170
1172
|
u64 version = 0;
|
1171
1173
|
char seg_file_name[SEGMENT_NAME_MAX_LENGTH];
|
1172
1174
|
|
@@ -1174,7 +1176,7 @@ static void sis_read_ver_i(Store *store, FindSegmentsFile *fsf)
|
|
1174
1176
|
is = store->open_input(store, seg_file_name);
|
1175
1177
|
|
1176
1178
|
TRY
|
1177
|
-
|
1179
|
+
is_read_u32(is); // format
|
1178
1180
|
version = is_read_u64(is);
|
1179
1181
|
XFINALLY
|
1180
1182
|
is_close(is);
|
@@ -1334,6 +1336,11 @@ static void zraise(int ret)
|
|
1334
1336
|
}
|
1335
1337
|
}
|
1336
1338
|
|
1339
|
+
void bz_internal_error(int errcode)
|
1340
|
+
{
|
1341
|
+
zraise(errcode);
|
1342
|
+
}
|
1343
|
+
|
1337
1344
|
static char *is_read_zipped_bytes(InStream *is, int zip_len, int *len)
|
1338
1345
|
{
|
1339
1346
|
int buf_out_idx = 0, ret, read_len;
|
@@ -4362,7 +4369,7 @@ static void bv_write(BitVector *bv, Store *store, char *name)
|
|
4362
4369
|
static BitVector *bv_read(Store *store, char *name)
|
4363
4370
|
{
|
4364
4371
|
int i;
|
4365
|
-
bool success = false;
|
4372
|
+
volatile bool success = false;
|
4366
4373
|
InStream *volatile is = store->open_input(store, name);
|
4367
4374
|
BitVector *volatile bv = ALLOC_AND_ZERO(BitVector);
|
4368
4375
|
bv->size = (int)is_read_vint(is);
|
data/ext/index.h
CHANGED
@@ -211,7 +211,10 @@ typedef struct FrtSegmentInfos
|
|
211
211
|
int capa;
|
212
212
|
} FrtSegmentInfos;
|
213
213
|
|
214
|
-
extern char *frt_fn_for_generation(char *buf,
|
214
|
+
extern char *frt_fn_for_generation(char *buf,
|
215
|
+
const char *base,
|
216
|
+
const char *ext,
|
217
|
+
frt_i64 gen);
|
215
218
|
|
216
219
|
extern FrtSegmentInfos *frt_sis_new(FrtFieldInfos *fis);
|
217
220
|
extern FrtSegmentInfo *frt_sis_new_segment(FrtSegmentInfos *sis, int dcnt, FrtStore *store);
|
data/ext/internal.h
CHANGED
data/ext/multimapper.c
CHANGED
@@ -177,7 +177,7 @@ static DeterministicState *mulmap_process_state(MultiMapper *self, BitVector *bv
|
|
177
177
|
}
|
178
178
|
self->dstates[self->d_size++] = current_state;
|
179
179
|
start_ds = self->dstates[0];
|
180
|
-
for (i = 0; i
|
180
|
+
for (i = 0; i < 256; i++) {
|
181
181
|
current_state->next[i] = start_ds;
|
182
182
|
}
|
183
183
|
while ((bit = bv_scan_next(bv)) >= 0) {
|
data/ext/q_fuzzy.c
CHANGED
@@ -208,7 +208,7 @@ static Query *fuzq_rewrite(Query *self, IndexReader *ir)
|
|
208
208
|
fuzq->scale_factor = (float)(1.0 / (1.0 - fuzq->min_sim));
|
209
209
|
fuzq->text = term + pre_len;
|
210
210
|
fuzq->text_len = (int)strlen(fuzq->text);
|
211
|
-
|
211
|
+
REALLOC_N(fuzq->da, int, fuzq->text_len * 2 + 2);
|
212
212
|
fuzq_initialize_max_distances(fuzq);
|
213
213
|
|
214
214
|
do {
|
@@ -261,6 +261,7 @@ Query *fuzq_new_conf(Symbol field, const char *term,
|
|
261
261
|
FzQ(self)->term = estrdup(term);
|
262
262
|
FzQ(self)->pre_len = pre_len ? pre_len : DEF_PRE_LEN;
|
263
263
|
FzQ(self)->min_sim = min_sim ? min_sim : DEF_MIN_SIM;
|
264
|
+
FzQ(self)->da = NULL;
|
264
265
|
MTQMaxTerms(self) = max_terms ? max_terms : DEF_MAX_TERMS;
|
265
266
|
|
266
267
|
self->type = FUZZY_QUERY;
|
data/ext/q_span.c
CHANGED
@@ -1430,7 +1430,7 @@ static Explanation *spanw_explain(Weight *self, IndexReader *ir, int target)
|
|
1430
1430
|
doc_freqs[df_i] = '\0';
|
1431
1431
|
}
|
1432
1432
|
else {
|
1433
|
-
doc_freqs = "";
|
1433
|
+
doc_freqs = estrdup("");
|
1434
1434
|
}
|
1435
1435
|
|
1436
1436
|
expl = expl_new(0.0, "weight(%s in %d), product of:", query_str, target);
|
data/ext/r_analysis.c
CHANGED
@@ -1186,7 +1186,7 @@ static VALUE
|
|
1186
1186
|
frb_stem_filter_init(int argc, VALUE *argv, VALUE self)
|
1187
1187
|
{
|
1188
1188
|
VALUE rsub_ts, ralgorithm, rcharenc;
|
1189
|
-
char *algorithm = "english";
|
1189
|
+
const char *algorithm = "english";
|
1190
1190
|
char *charenc = NULL;
|
1191
1191
|
TokenStream *ts;
|
1192
1192
|
rb_scan_args(argc, argv, "12", &rsub_ts, &ralgorithm, &rcharenc);
|
data/ext/r_index.c
CHANGED
@@ -212,7 +212,7 @@ static VALUE
|
|
212
212
|
frb_fi_name(VALUE self)
|
213
213
|
{
|
214
214
|
FieldInfo *fi = (FieldInfo *)DATA_PTR(self);
|
215
|
-
return
|
215
|
+
return FSYM2SYM(fi->name);
|
216
216
|
}
|
217
217
|
|
218
218
|
/*
|
@@ -1094,7 +1094,7 @@ frb_tde_to_json(int argc, VALUE *argv, VALUE self)
|
|
1094
1094
|
VALUE rjson;
|
1095
1095
|
char *json, *jp;
|
1096
1096
|
int capa = 65536;
|
1097
|
-
char *format;
|
1097
|
+
const char *format;
|
1098
1098
|
char close = (argc > 0) ? ']' : '}';
|
1099
1099
|
bool do_positions = tde->next_position != NULL;
|
1100
1100
|
jp = json = ALLOC_N(char, capa);
|
data/ext/r_qparser.c
CHANGED
@@ -154,7 +154,6 @@ frb_qp_init(int argc, VALUE *argv, VALUE self)
|
|
154
154
|
VALUE roptions = Qnil;
|
155
155
|
VALUE rval;
|
156
156
|
Analyzer *analyzer = NULL;
|
157
|
-
bool has_options = false;
|
158
157
|
|
159
158
|
HashSet *all_fields = NULL;
|
160
159
|
HashSet *tkz_fields = NULL;
|
@@ -163,7 +162,6 @@ frb_qp_init(int argc, VALUE *argv, VALUE self)
|
|
163
162
|
|
164
163
|
if (rb_scan_args(argc, argv, "01", &roptions) > 0) {
|
165
164
|
if (TYPE(roptions) == T_HASH) {
|
166
|
-
has_options = true;
|
167
165
|
if (Qnil != (rval = rb_hash_aref(roptions, sym_default_field))) {
|
168
166
|
def_fields = frb_get_fields(rval);
|
169
167
|
}
|
@@ -253,7 +251,7 @@ frb_qp_init(int argc, VALUE *argv, VALUE self)
|
|
253
251
|
static VALUE
|
254
252
|
frb_qp_parse(VALUE self, VALUE rstr)
|
255
253
|
{
|
256
|
-
const char *msg = NULL;
|
254
|
+
const char *volatile msg = NULL;
|
257
255
|
volatile VALUE rq;
|
258
256
|
GET_QP;
|
259
257
|
rstr = rb_obj_as_string(rstr);
|
data/ext/r_search.c
CHANGED
@@ -197,7 +197,7 @@ frb_td_to_s(int argc, VALUE *argv, VALUE self)
|
|
197
197
|
VALUE rhits = rb_funcall(self, id_hits, 0);
|
198
198
|
Searcher *sea = (Searcher *)DATA_PTR(rb_funcall(self, id_searcher, 0));
|
199
199
|
const int len = RARRAY_LEN(rhits);
|
200
|
-
int capa = len * 64 + 100;
|
200
|
+
unsigned int capa = len * 64 + 100;
|
201
201
|
int p = 0;
|
202
202
|
char *str = ALLOC_N(char, len * 64 + 100);
|
203
203
|
Symbol field = fsym_id;
|
@@ -215,7 +215,7 @@ frb_td_to_s(int argc, VALUE *argv, VALUE self)
|
|
215
215
|
for (i = 0; i < len; i++) {
|
216
216
|
VALUE rhit = RARRAY_PTR(rhits)[i];
|
217
217
|
int doc_id = FIX2INT(rb_funcall(rhit, id_doc, 0));
|
218
|
-
char *value = "";
|
218
|
+
const char *value = "";
|
219
219
|
size_t value_len = 0;
|
220
220
|
LazyDoc *lzd = sea->get_lazy_doc(sea, doc_id);
|
221
221
|
LazyDocField *lzdf = lazy_doc_get(lzd, field);
|
@@ -923,7 +923,8 @@ static VALUE
|
|
923
923
|
frb_bc_to_s(VALUE self)
|
924
924
|
{
|
925
925
|
VALUE rstr;
|
926
|
-
char *qstr, *
|
926
|
+
char *qstr, *str;
|
927
|
+
const char *ostr = "";
|
927
928
|
int len;
|
928
929
|
GET_BC();
|
929
930
|
qstr = bc->query->to_s(bc->query, NULL);
|
@@ -2984,9 +2985,9 @@ frb_sea_highlight(int argc, VALUE *argv, VALUE self)
|
|
2984
2985
|
Query *query;
|
2985
2986
|
int excerpt_length = 150;
|
2986
2987
|
int num_excerpts = 2;
|
2987
|
-
char *pre_tag = "<b>";
|
2988
|
-
char *post_tag = "</b>";
|
2989
|
-
char *ellipsis = "...";
|
2988
|
+
const char *pre_tag = "<b>";
|
2989
|
+
const char *post_tag = "</b>";
|
2990
|
+
const char *ellipsis = "...";
|
2990
2991
|
char **excerpts;
|
2991
2992
|
|
2992
2993
|
rb_scan_args(argc, argv, "31", &rquery, &rdoc_id, &rfield, &roptions);
|
data/ext/r_store.c
CHANGED
@@ -75,6 +75,7 @@ frb_lock_obtain(int argc, VALUE *argv, VALUE self)
|
|
75
75
|
timeout = FIX2INT(rtimeout);
|
76
76
|
}
|
77
77
|
/* TODO: use the lock timeout */
|
78
|
+
(void)timeout;
|
78
79
|
if (!lock->obtain(lock)) {
|
79
80
|
rb_raise(cLockError, "could not obtain lock: #%s", lock->name);
|
80
81
|
}
|
@@ -105,6 +106,7 @@ frb_lock_while_locked(int argc, VALUE *argv, VALUE self)
|
|
105
106
|
if (rb_scan_args(argc, argv, "01", &rtimeout) > 0) {
|
106
107
|
timeout = FIX2INT(rtimeout);
|
107
108
|
}
|
109
|
+
(void)timeout;
|
108
110
|
if (!lock->obtain(lock)) {
|
109
111
|
rb_raise(cLockError, "could not obtain lock: #%s", lock->name);
|
110
112
|
}
|
data/ext/scanner.c
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
#line 1 "src/scanner.rl"
|
2
3
|
/* scanner.rl -*-C-*- */
|
3
4
|
#include <ctype.h>
|
@@ -15,11 +16,12 @@
|
|
15
16
|
goto ret; \
|
16
17
|
} while(0)
|
17
18
|
|
19
|
+
|
18
20
|
#line 28 "src/scanner.rl"
|
19
21
|
|
20
22
|
|
21
23
|
|
22
|
-
#line
|
24
|
+
#line 25 "src/scanner.c"
|
23
25
|
static const char _StdTok_actions[] = {
|
24
26
|
0, 1, 0, 1, 1, 1, 2, 1,
|
25
27
|
3, 1, 4, 1, 5, 1, 17, 1,
|
@@ -529,6 +531,7 @@ static const int StdTok_error = 0;
|
|
529
531
|
static const int StdTok_en_frt_tokenizer = 35;
|
530
532
|
static const int StdTok_en_main = 1;
|
531
533
|
|
534
|
+
|
532
535
|
#line 31 "src/scanner.rl"
|
533
536
|
|
534
537
|
void frt_std_scan(const char *in,
|
@@ -542,7 +545,7 @@ void frt_std_scan(const char *in,
|
|
542
545
|
char *ts = 0, *te = 0;
|
543
546
|
|
544
547
|
|
545
|
-
#line
|
548
|
+
#line 549 "src/scanner.c"
|
546
549
|
{
|
547
550
|
cs = StdTok_start;
|
548
551
|
top = 0;
|
@@ -550,6 +553,7 @@ void frt_std_scan(const char *in,
|
|
550
553
|
te = 0;
|
551
554
|
act = 0;
|
552
555
|
}
|
556
|
+
|
553
557
|
#line 43 "src/scanner.rl"
|
554
558
|
|
555
559
|
char *p = (char *)in, *pe = 0, *eof = pe;
|
@@ -562,7 +566,7 @@ void frt_std_scan(const char *in,
|
|
562
566
|
*token_size = 0;
|
563
567
|
|
564
568
|
|
565
|
-
#line
|
569
|
+
#line 570 "src/scanner.c"
|
566
570
|
{
|
567
571
|
int _klen;
|
568
572
|
unsigned int _trans;
|
@@ -580,10 +584,10 @@ _resume:
|
|
580
584
|
while ( _nacts-- > 0 ) {
|
581
585
|
switch ( *_acts++ ) {
|
582
586
|
case 4:
|
583
|
-
#line 1 "
|
587
|
+
#line 1 "NONE"
|
584
588
|
{ts = p;}
|
585
589
|
break;
|
586
|
-
#line
|
590
|
+
#line 591 "src/scanner.c"
|
587
591
|
}
|
588
592
|
}
|
589
593
|
|
@@ -605,7 +609,7 @@ _resume:
|
|
605
609
|
else if ( (*p) > *_mid )
|
606
610
|
_lower = _mid + 1;
|
607
611
|
else {
|
608
|
-
_trans += (_mid - _keys);
|
612
|
+
_trans += (unsigned int)(_mid - _keys);
|
609
613
|
goto _match;
|
610
614
|
}
|
611
615
|
}
|
@@ -628,7 +632,7 @@ _resume:
|
|
628
632
|
else if ( (*p) > _mid[1] )
|
629
633
|
_lower = _mid + 2;
|
630
634
|
else {
|
631
|
-
_trans += ((_mid - _keys)>>1);
|
635
|
+
_trans += (unsigned int)((_mid - _keys)>>1);
|
632
636
|
goto _match;
|
633
637
|
}
|
634
638
|
}
|
@@ -650,11 +654,11 @@ _eof_trans:
|
|
650
654
|
switch ( *_acts++ )
|
651
655
|
{
|
652
656
|
case 0:
|
653
|
-
#line 14 "src/
|
657
|
+
#line 14 "src/url.rl"
|
654
658
|
{ skip = p - ts; }
|
655
659
|
break;
|
656
660
|
case 1:
|
657
|
-
#line 26 "src/
|
661
|
+
#line 26 "src/url.rl"
|
658
662
|
{ trunc = 1; }
|
659
663
|
break;
|
660
664
|
case 2:
|
@@ -662,135 +666,135 @@ _eof_trans:
|
|
662
666
|
{ p--; {stack[top++] = cs; cs = 35; goto _again;} }
|
663
667
|
break;
|
664
668
|
case 5:
|
665
|
-
#line 1 "
|
669
|
+
#line 1 "NONE"
|
666
670
|
{te = p+1;}
|
667
671
|
break;
|
668
672
|
case 6:
|
669
|
-
#line 15 "src/scanner.
|
673
|
+
#line 15 "src/scanner.in"
|
670
674
|
{act = 2;}
|
671
675
|
break;
|
672
676
|
case 7:
|
673
|
-
#line 16 "src/scanner.
|
677
|
+
#line 16 "src/scanner.in"
|
674
678
|
{act = 3;}
|
675
679
|
break;
|
676
680
|
case 8:
|
677
|
-
#line 17 "src/scanner.
|
681
|
+
#line 17 "src/scanner.in"
|
678
682
|
{act = 4;}
|
679
683
|
break;
|
680
684
|
case 9:
|
681
|
-
#line 20 "src/scanner.
|
685
|
+
#line 20 "src/scanner.in"
|
682
686
|
{act = 5;}
|
683
687
|
break;
|
684
688
|
case 10:
|
685
|
-
#line 23 "src/scanner.
|
689
|
+
#line 23 "src/scanner.in"
|
686
690
|
{act = 6;}
|
687
691
|
break;
|
688
692
|
case 11:
|
689
|
-
#line 26 "src/scanner.
|
693
|
+
#line 26 "src/scanner.in"
|
690
694
|
{act = 7;}
|
691
695
|
break;
|
692
696
|
case 12:
|
693
|
-
#line 29 "src/scanner.
|
697
|
+
#line 29 "src/scanner.in"
|
694
698
|
{act = 8;}
|
695
699
|
break;
|
696
700
|
case 13:
|
697
|
-
#line 32 "src/scanner.
|
701
|
+
#line 32 "src/scanner.in"
|
698
702
|
{act = 9;}
|
699
703
|
break;
|
700
704
|
case 14:
|
701
|
-
#line 35 "src/scanner.
|
705
|
+
#line 35 "src/scanner.in"
|
702
706
|
{act = 10;}
|
703
707
|
break;
|
704
708
|
case 15:
|
705
|
-
#line 36 "src/scanner.
|
709
|
+
#line 36 "src/scanner.in"
|
706
710
|
{act = 11;}
|
707
711
|
break;
|
708
712
|
case 16:
|
709
|
-
#line 40 "src/scanner.
|
713
|
+
#line 40 "src/scanner.in"
|
710
714
|
{act = 13;}
|
711
715
|
break;
|
712
716
|
case 17:
|
713
|
-
#line 12 "src/scanner.
|
717
|
+
#line 12 "src/scanner.in"
|
714
718
|
{te = p+1;{ RET; }}
|
715
719
|
break;
|
716
720
|
case 18:
|
717
|
-
#line 29 "src/scanner.
|
721
|
+
#line 29 "src/scanner.in"
|
718
722
|
{te = p+1;{ RET; }}
|
719
723
|
break;
|
720
724
|
case 19:
|
721
|
-
#line 39 "src/scanner.
|
725
|
+
#line 39 "src/scanner.in"
|
722
726
|
{te = p+1;{ return; }}
|
723
727
|
break;
|
724
728
|
case 20:
|
725
|
-
#line 40 "src/scanner.
|
729
|
+
#line 40 "src/scanner.in"
|
726
730
|
{te = p+1;}
|
727
731
|
break;
|
728
732
|
case 21:
|
729
|
-
#line 12 "src/scanner.
|
733
|
+
#line 12 "src/scanner.in"
|
730
734
|
{te = p;p--;{ RET; }}
|
731
735
|
break;
|
732
736
|
case 22:
|
733
|
-
#line 15 "src/scanner.
|
737
|
+
#line 15 "src/scanner.in"
|
734
738
|
{te = p;p--;{ RET; }}
|
735
739
|
break;
|
736
740
|
case 23:
|
737
|
-
#line 16 "src/scanner.
|
741
|
+
#line 16 "src/scanner.in"
|
738
742
|
{te = p;p--;{ trunc = 1; RET; }}
|
739
743
|
break;
|
740
744
|
case 24:
|
741
|
-
#line 23 "src/scanner.
|
745
|
+
#line 23 "src/scanner.in"
|
742
746
|
{te = p;p--;{ RET; }}
|
743
747
|
break;
|
744
748
|
case 25:
|
745
|
-
#line 26 "src/scanner.
|
749
|
+
#line 26 "src/scanner.in"
|
746
750
|
{te = p;p--;{ RET; }}
|
747
751
|
break;
|
748
752
|
case 26:
|
749
|
-
#line 29 "src/scanner.
|
753
|
+
#line 29 "src/scanner.in"
|
750
754
|
{te = p;p--;{ RET; }}
|
751
755
|
break;
|
752
756
|
case 27:
|
753
|
-
#line 32 "src/scanner.
|
757
|
+
#line 32 "src/scanner.in"
|
754
758
|
{te = p;p--;{ STRIP('.'); }}
|
755
759
|
break;
|
756
760
|
case 28:
|
757
|
-
#line 35 "src/scanner.
|
761
|
+
#line 35 "src/scanner.in"
|
758
762
|
{te = p;p--;{ RET; }}
|
759
763
|
break;
|
760
764
|
case 29:
|
761
|
-
#line 36 "src/scanner.
|
765
|
+
#line 36 "src/scanner.in"
|
762
766
|
{te = p;p--;{ RET; }}
|
763
767
|
break;
|
764
768
|
case 30:
|
765
|
-
#line 40 "src/scanner.
|
769
|
+
#line 40 "src/scanner.in"
|
766
770
|
{te = p;p--;}
|
767
771
|
break;
|
768
772
|
case 31:
|
769
|
-
#line 12 "src/scanner.
|
773
|
+
#line 12 "src/scanner.in"
|
770
774
|
{{p = ((te))-1;}{ RET; }}
|
771
775
|
break;
|
772
776
|
case 32:
|
773
|
-
#line 15 "src/scanner.
|
777
|
+
#line 15 "src/scanner.in"
|
774
778
|
{{p = ((te))-1;}{ RET; }}
|
775
779
|
break;
|
776
780
|
case 33:
|
777
|
-
#line 23 "src/scanner.
|
781
|
+
#line 23 "src/scanner.in"
|
778
782
|
{{p = ((te))-1;}{ RET; }}
|
779
783
|
break;
|
780
784
|
case 34:
|
781
|
-
#line 29 "src/scanner.
|
785
|
+
#line 29 "src/scanner.in"
|
782
786
|
{{p = ((te))-1;}{ RET; }}
|
783
787
|
break;
|
784
788
|
case 35:
|
785
|
-
#line 35 "src/scanner.
|
789
|
+
#line 35 "src/scanner.in"
|
786
790
|
{{p = ((te))-1;}{ RET; }}
|
787
791
|
break;
|
788
792
|
case 36:
|
789
|
-
#line 40 "src/scanner.
|
793
|
+
#line 40 "src/scanner.in"
|
790
794
|
{{p = ((te))-1;}}
|
791
795
|
break;
|
792
796
|
case 37:
|
793
|
-
#line 1 "
|
797
|
+
#line 1 "NONE"
|
794
798
|
{ switch( act ) {
|
795
799
|
case 2:
|
796
800
|
{{p = ((te))-1;} RET; }
|
@@ -828,7 +832,7 @@ _eof_trans:
|
|
828
832
|
}
|
829
833
|
}
|
830
834
|
break;
|
831
|
-
#line
|
835
|
+
#line 836 "src/scanner.c"
|
832
836
|
}
|
833
837
|
}
|
834
838
|
|
@@ -838,10 +842,10 @@ _again:
|
|
838
842
|
while ( _nacts-- > 0 ) {
|
839
843
|
switch ( *_acts++ ) {
|
840
844
|
case 3:
|
841
|
-
#line 1 "
|
845
|
+
#line 1 "NONE"
|
842
846
|
{ts = 0;}
|
843
847
|
break;
|
844
|
-
#line
|
848
|
+
#line 849 "src/scanner.c"
|
845
849
|
}
|
846
850
|
}
|
847
851
|
|
@@ -860,6 +864,7 @@ _again:
|
|
860
864
|
|
861
865
|
_out: {}
|
862
866
|
}
|
867
|
+
|
863
868
|
#line 54 "src/scanner.rl"
|
864
869
|
|
865
870
|
if ( cs == StdTok_error )
|