forked from skvadrik/re2c
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
1109 lines (869 loc) · 37.5 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changelog
=========
----
1.2x
----
1.2.1 (2019-08-11)
~~~~~~~~~~~~~~~~~~
- Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_:
re2c should install unicode_categories.re somewhere.
- Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_:
Turn off re2c:eof = 0.
1.2 (2019-08-02)
~~~~~~~~~~~~~~~~
- Added EOF rule ``$`` and configuration ``re2c:eof``.
- Added ``/*!include:re2c ... */`` directive and ``-I`` option.
- Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives.
- Added ``--input-encoding <ascii | utf8>`` option.
+ `#237 <https://github.com/skvadrik/re2c/issues/237>`_:
Handle non-ASCII encoded characters in regular expressions
+ `#250 <https://github.com/skvadrik/re2c/issues/250>`_
UTF8 enoding
- Added include file with a list of definitions for Unicode character classes.
+ `#235 <https://github.com/skvadrik/re2c/issues/235>`_:
Unicode character classes
- Added ``--location-format <gnu | msvc>`` option.
+ `#195 <https://github.com/skvadrik/re2c/issues/195>`_:
Please consider using Gnu format for error messages
- Added ``--verbose`` option that prints "success" message if re2c exits
without errors.
- Added configurations for options:
+ ``-o --output`` (specify output file)
+ ``-t --type-header`` (specify header file)
- Removed configurations for internal/debug options.
- Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``,
``/*!use:re2c*/`` and ``/*!re2c*/`` blocks.
+ `#55 <https://github.com/skvadrik/re2c/issues/55>`_:
allow standard re2c blocks in reuse mode
- Fixed ``-F --flex-support`` option: parsing and operator precedence.
+ `#229 <https://github.com/skvadrik/re2c/issues/229>`_:
re2c option -F (flex syntax) broken
+ `#242 <https://github.com/skvadrik/re2c/issues/242>`_:
Operator precedence with --flex-syntax is broken
- Changed difference operator ``/`` to apply before encoding expansion of
operands.
+ `#236 <https://github.com/skvadrik/re2c/issues/236>`_:
Support range difference with variable-length encodings
- Changed output generation of output file to be atomic.
+ `#245 <https://github.com/skvadrik/re2c/issues/245>`_:
re2c output is not atomic
- Authored research paper "Efficient POSIX Submatch Extraction on NFA"
together with Dr Angelo Borsotti.
- Added experimental libre2c library (``--enable-libs`` configure option) with
the following algorithms:
+ TDFA with leftmost-greedy disambiguation
+ TDFA with POSIX disambiguation (Okui-Suzuki algorithm)
+ TNFA with leftmost-greedy disambiguation
+ TNFA with POSIX disambiguation (Okui-Suzuki algorithm)
+ TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm)
+ TNFA with POSIX disambiguation (Kuklewicz algorithm)
+ TNFA with POSIX disambiguation (Cox algorithm)
- Added debug subsystem (``--enable-debug`` configure option) and new debug
options:
+ ``-dump-cfg`` (dump control flow graph of tag variables)
+ ``-dump-interf`` (dump interference table of tag variables)
+ ``-dump-closure-stats`` (dump epsilon-closure statistics)
- Added internal options:
+ ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms
used for the construction of POSIX closure)
- Fixed a number of crashes found by American Fuzzy Lop fuzzer:
+ `#226 <https://github.com/skvadrik/re2c/issues/226>`_,
`#227 <https://github.com/skvadrik/re2c/issues/227>`_,
`#228 <https://github.com/skvadrik/re2c/issues/228>`_,
`#231 <https://github.com/skvadrik/re2c/issues/231>`_,
`#232 <https://github.com/skvadrik/re2c/issues/232>`_,
`#233 <https://github.com/skvadrik/re2c/issues/233>`_,
`#234 <https://github.com/skvadrik/re2c/issues/234>`_,
`#238 <https://github.com/skvadrik/re2c/issues/238>`_
- Fixed handling of newlines:
+ correctly parse multi-character newlines CR LF in ``#line`` directives
+ consistently convert all newlines in the generated file to Unix-style LF
- Changed default tarball format from .gz to .xz.
+ `#221 <https://github.com/skvadrik/re2c/issues/221>`_:
big source tarball
- Fixed a number of other bugs and resolved issues:
+ `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort
+ `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault
+ `#10 <https://github.com/skvadrik/re2c/issues/10>`_:
lessons/002_upn_calculator/calc_002 doesn't produce a useful example program
+ `#44 <https://github.com/skvadrik/re2c/issues/44>`_:
Access violation when translating the attached file
+ `#49 <https://github.com/skvadrik/re2c/issues/49>`_:
wildcard state \000 rules makes lexer behave weard
+ `#98 <https://github.com/skvadrik/re2c/issues/98>`_:
Transparent handling of #line directives in input files
+ `#104 <https://github.com/skvadrik/re2c/issues/104>`_:
Improve const-correctness
+ `#105 <https://github.com/skvadrik/re2c/issues/105>`_:
Conversion of pointer parameters into references
+ `#114 <https://github.com/skvadrik/re2c/issues/114>`_:
Possibility of fixing bug 2535084
+ `#120 <https://github.com/skvadrik/re2c/issues/120>`_:
condition consisting of default rule only is ignored
+ `#167 <https://github.com/skvadrik/re2c/issues/167>`_:
Add word boundary support
+ `#168 <https://github.com/skvadrik/re2c/issues/168>`_:
Wikipedia's article on re2c
+ `#180 <https://github.com/skvadrik/re2c/issues/180>`_:
Comment syntax?
+ `#182 <https://github.com/skvadrik/re2c/issues/182>`_:
yych being set by YYPEEK () and then not used
+ `#196 <https://github.com/skvadrik/re2c/issues/196>`_:
Implicit type conversion warnings
+ `#198 <https://github.com/skvadrik/re2c/issues/198>`_:
no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’
+ `#210 <https://github.com/skvadrik/re2c/issues/210>`_:
How to build re2c in windows?
+ `#215 <https://github.com/skvadrik/re2c/issues/215>`_:
A memory read overrun issue in s_to_n32_unsafe.cc
+ `#220 <https://github.com/skvadrik/re2c/issues/220>`_:
src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug
+ `#223 <https://github.com/skvadrik/re2c/issues/223>`_:
Fix typo
+ `#224 <https://github.com/skvadrik/re2c/issues/224>`_:
src/dfa/closure_posix.cc: pack() tweaks
+ `#225 <https://github.com/skvadrik/re2c/issues/225>`_:
Documentation link is broken in libre2c/README
+ `#230 <https://github.com/skvadrik/re2c/issues/230>`_:
Changes for upcoming Travis' infra migration
+ `#239 <https://github.com/skvadrik/re2c/issues/239>`_:
Push model example has wrong re2c invocation, breaks guide
+ `#241 <https://github.com/skvadrik/re2c/issues/241>`_:
Guidance on how to use re2c for full-duplex command & response protocol
+ `#243 <https://github.com/skvadrik/re2c/issues/243>`_:
A code generated for period (.) requires 4 bytes
+ `#246 <https://github.com/skvadrik/re2c/issues/246>`_:
Please add a license to this repo
+ `#247 <https://github.com/skvadrik/re2c/issues/247>`_:
Build failure on current Cygwin, probably caused by force-fed c++98 mode
+ `#248 <https://github.com/skvadrik/re2c/issues/248>`_:
distcheck still looks for README
+ `#251 <https://github.com/skvadrik/re2c/issues/251>`_:
Including what you use is find, but not without inclusion guards
- Updated documentation and website.
----
1.1x
----
1.1.1 (2018-08-30)
~~~~~~~~~~~~~~~~~~
- Fixed bug `#211 <https://github.com/skvadrik/re2c/issues/211>`_:
re2c ``-V`` throws ``std::out_of_range`` (version to vernum conversion).
1.1 (2018-08-27)
~~~~~~~~~~~~~~~~
- Replaced Kuklewicz POSIX disambiguation algorithm with Okui algorithm.
- Optimized GOR1 algorithm (computation of tagged epsilon-closure).
- Added option ``--conditions`` (an alias for ``-c --start-conditions``).
- Fixed bug `#201 <https://github.com/skvadrik/re2c/issues/201>`_:
Bugs with option: ``re2c:flags:no-debug-info``.
- Reworked first part of TDFA paper.
----
1.0x
----
1.0.3 (2017-11-08)
~~~~~~~~~~~~~~~~~~
- Fixed bug `#198 <https://github.com/skvadrik/re2c/issues/198>`_:
build error on MacOS with GCC-4.2.1
1.0.2 (2017-08-26)
~~~~~~~~~~~~~~~~~~
- Fixed bug `#194 <https://github.com/skvadrik/re2c/issues/194>`_:
Build with ``--enable-docs``
- Updated documentation.
1.0.1 (2017-08-11)
~~~~~~~~~~~~~~~~~~
- Fixed bug `#193 <https://github.com/skvadrik/re2c/issues/193>`_:
1.0 build failure on macOS: error: calling a private constructor of class
're2c::Rule'
- Added paper "Tagged Deterministic Finite Automata with Lookahead" to the
distribution files.
1.0 (2017-08-11)
~~~~~~~~~~~~~~~~
- Added options:
+ ``-P --posix-captures`` (POSIX-compliant capturing groups)
+ ``-T --tags`` (standalone tags with leftmost greedy disambiguation)
+ ``--no-lookahead``
+ ``--no-optimize-tags``
+ ``--eager-skip``
+ ``--dump-nfa``
+ ``--dump-dfa-raw``
+ ``--dump-dfa-det``
+ ``--dump-dfa-tagopt``
+ ``--dump-dfa-min``
+ ``--dump-adfa``
- Added new syntax:
+ ``@<stag>``
+ ``#<mtag>``
- Added new directives:
+ ``/*!stags:re2c ... */``
+ ``/*!mtags:re2c ... */``
+ ``/*!maxnmatch:re2c ... */``
- Added new API:
+ ``YYSTAGN (t)``
+ ``YYSTAGP (t)``
+ ``YYMTAGN (t)``
+ ``YYMTAGP (t)``
+ ``YYRESTORETAG (t)``
+ ``YYMAXNMATCH``
+ ``yynmatch``
+ ``yypmatch``
- Added inplace confgurations:
+ ``re2c:define:YYSTAGN``
+ ``re2c:define:YYSTAGP``
+ ``re2c:define:YYMTAGN``
+ ``re2c:define:YYMTAGP``
+ ``re2c:define:YYRESTORETAG``
+ ``re2c:flags:8`` or ``re2c:flags:utf-8````
+ ``re2c:flags:b`` or ``re2c:flags:bit-vectors``
+ ``re2c:flags:case-insensitive``
+ ``re2c:flags:case-inverted``
+ ``re2c:flags:d`` or ``re2c:flags:debug-output``
+ ``re2c:flags:dfa-minimization``
+ ``re2c:flags:eager-skip``
+ ``re2c:flags:e`` or ``re2c:flags:ecb``
+ ``re2c:flags:empty-class``
+ ``re2c:flags:encoding-policy``
+ ``re2c:flags:g`` or ``re2c:flags:computed-gotos``
+ ``re2c:flags:i`` or ``re2c:flags:no-debug-info``
+ ``re2c:flags:input``
+ ``re2c:flags:lookahead``
+ ``re2c:flags:optimize-tags``
+ ``re2c:flags:P`` or ``re2c:flags:posix-captures``
+ ``re2c:flags:s`` or ``re2c:flags:nested-ifs``
+ ``re2c:flags:T`` or ``re2c:flags:tags``
+ ``re2c:flags:u`` or ``re2c:flags:unicode``
+ ``re2c:flags:w`` or ``re2c:flags:wide-chars``
+ ``re2c:flags:x`` or ``re2c:flags:utf-16``
+ ``re2c:tags:expression``
+ ``re2c:tags:prefix``
- Added warning ``-Wnondeterministic-tags``.
- Added fuzz-testing scripts
- Added paper "Tagged Deterministic Finite Automata with Lookahead".
- Fixed bugs:
+ `#121 <https://github.com/skvadrik/re2c/issues/121>`_:
trailing contexts are fundamentally broken
+ `#135 <https://github.com/skvadrik/re2c/issues/135>`_:
In installation ``make check`` give syntax error
+ `#137 <https://github.com/skvadrik/re2c/issues/137>`_:
run_tests.sh fail when running configure script with absolute path
+ `#138 <https://github.com/skvadrik/re2c/issues/138>`_:
website improvement
+ `#141 <https://github.com/skvadrik/re2c/issues/141>`_:
Tests under Windows
+ `#142 <https://github.com/skvadrik/re2c/issues/142>`_:
segvault with null terminated input
+ `#145 <https://github.com/skvadrik/re2c/issues/145>`_:
Values for enum YYCONDTYPE are not generated when default rules with conditions are used
+ `#147 <https://github.com/skvadrik/re2c/issues/147>`_:
Please add symbol name to "can't find symbol" error message
+ `#152 <https://github.com/skvadrik/re2c/issues/152>`_:
Line number in #line directive after enum YYCONDTYPE is 0-based
+ `#156 <https://github.com/skvadrik/re2c/issues/156>`_:
Build with Visual Studio 14 2015: symbol name conflict
+ `#158 <https://github.com/skvadrik/re2c/issues/158>`_:
Inconsistent forward declaration of struct/class vs definition
+ `#160 <https://github.com/skvadrik/re2c/issues/160>`_:
Open text files with "wb" causes issues on Windows
+ `#162 <https://github.com/skvadrik/re2c/issues/162>`_:
Reading files with "rb" causes issues in Windows
+ `#165 <https://github.com/skvadrik/re2c/issues/165>`_:
Trailing context consumed if initial expression matches it
+ `#176 <https://github.com/skvadrik/re2c/issues/176>`_:
re2c help message is too wide for most terminals
+ `#184 <https://github.com/skvadrik/re2c/issues/184>`_:
Small documentation issue
+ `#186 <https://github.com/skvadrik/re2c/issues/186>`_:
Difference operator sometimes doesn't work with utf-8
- Merged pull requests:
+ `#131 <https://github.com/skvadrik/re2c/issues/131>`_:
Use bash-specific ``[[`` builtin
+ `#136 <https://github.com/skvadrik/re2c/issues/136>`_:
Added basic support for travis-ci.org integration
+ `#171 <https://github.com/skvadrik/re2c/issues/171>`_:
Typo fix
+ `#172 <https://github.com/skvadrik/re2c/issues/172>`_:
Grammar fixes in the docs
+ `#173 <https://github.com/skvadrik/re2c/issues/173>`_:
Grammar fixes in the manpage
+ `#174 <https://github.com/skvadrik/re2c/issues/174>`_:
more documentation fixes
+ `#175 <https://github.com/skvadrik/re2c/issues/175>`_:
more manpage fixes
+ `#177 <https://github.com/skvadrik/re2c/issues/177>`_:
sync --help output w/ manpage
+ `#178 <https://github.com/skvadrik/re2c/issues/178>`_:
Moves rts used in the manpage to master
+ `#179 <https://github.com/skvadrik/re2c/issues/179>`_:
compose manpage out of rsts from gh-pages-gen
+ `#189 <https://github.com/skvadrik/re2c/issues/189>`_:
Typo fix and small grammatical change
+ `#191 <https://github.com/skvadrik/re2c/issues/191>`_:
Makefile.am: create target directory before writing into it
-----
0.16x
-----
0.16 (2016-01-21)
~~~~~~~~~~~~~~~~~
- Fixed bug `#127 <https://github.com/skvadrik/re2c/issues/127>`_:
code generation error with wide chars and bitmaps (omitted ``goto`` statement)
- Added DFA minimization and option ``--dfa-minimization <table | moore>``
- Fixed bug `#128 <https://github.com/skvadrik/re2c/issues/128>`_:
very slow DFA construction (resulting in a very large DFA)
- Fixed bug `#132 <https://github.com/skvadrik/re2c/issues/132>`_:
test failure on big endian archs with 0.15.3
-----
0.15x
-----
0.15.3 (2015-12-02)
~~~~~~~~~~~~~~~~~~~
- Fixed bugs and applied patches:
+ `#122 <https://github.com/skvadrik/re2c/issues/122>`_:
clang does not compile re2c 0.15.x
+ `#124 <https://github.com/skvadrik/re2c/issues/124>`_:
Get rid of UINT32_MAX and friends
+ `#125 <https://github.com/skvadrik/re2c/issues/125>`_:
[OS X] git reports changes not staged for commit in newly cloned repository
- Added option ``--no-version`` that allows to omit version information.
- Reduced memory and time consumed with ``-Wundefined-control-flow``.
- Improved coverage of input data generated with ``-S --skeleton``.
0.15.2 (2015-11-23)
~~~~~~~~~~~~~~~~~~~
- Fixed build system: lexer depends on bison-generated header
(Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=566620)
0.15.1 (2015-11-22)
~~~~~~~~~~~~~~~~~~~
- Fixed test failures caused by locale-sensitive 'sort'.
0.15 (2015-11-22)
~~~~~~~~~~~~~~~~~
- Updated website http://re2c.org:
+ added examples
+ updated docs
+ added news
+ added web feed (Atom 1.0)
- Added options:
+ ``-S, --skeleton``
+ ``--empty-class <match-empty | match-none | error>``
- Added warnings:
+ ``-W``
+ ``-Werror``
+ ``-W<warning>``
+ ``-Wno-<warning>``
+ ``-Werror-<warning>``
+ ``-Wno-error-<warning>``
- Added specific warnings:
+ ``-Wundefined-control-flow``
+ ``-Wunreachable-rules``
+ ``-Wcondition-order``
+ ``-Wuseless-escape``
+ ``-Wempty-character-class``
+ ``-Wswapped-range``
+ ``-Wmatch-empty-string``
- Fixed options:
+ ``--`` (interpret remaining arguments as non-options)
- Deprecated options:
+ ``-1 --single-pass`` (single pass is the default now)
- Reduced size of the generated ``.dot`` files.
- Fixed bugs:
+ `#27 <https://github.com/skvadrik/re2c/issues/27>`_:
re2c crashes reading files containing ``%{ %}`` (patch by Rui)
+ `#51 <https://github.com/skvadrik/re2c/issues/51>`_:
default rule doesn't work in reuse mode
+ `#52 <https://github.com/skvadrik/re2c/issues/52>`_:
eliminate multiple passes
+ `#59 <https://github.com/skvadrik/re2c/issues/59>`_:
bogus ``yyaccept`` in ``-c`` mode
+ `#60 <https://github.com/skvadrik/re2c/issues/60>`_:
redundant use of ``YYMARKER``
+ `#61 <https://github.com/skvadrik/re2c/issues/61>`_:
empty character class ``[]`` matches empty string
+ `#115 <https://github.com/skvadrik/re2c/issues/115>`_:
flex-style named definitions cause ambiguity in re2c grammar
+ `#119 <https://github.com/skvadrik/re2c/issues/119>`_:
``-f`` with ``-b``/``-g`` generates incorrect dispatch on fill labels
+ `#116 <https://github.com/skvadrik/re2c/issues/116>`_:
empty string with non-empty trailing context consumes code units
- Added test options:
+ ``-j``, ``-j <N>`` (run tests in ``N`` threads, defaults to the number of CPUs)
+ ``--wine`` (test windows builds using ``wine``)
+ ``--skeleton`` (generate skeleton programs, compile and execute them)
+ ``--keep-tmp-files`` (don't delete intermediate files for successful tests)
- Updated build system:
+ support out of source builds
+ support ```make distcheck```
+ added ```make bootstrap``` (rebuild re2c after building with precompiled
``.re`` files)
+ added ```make tests``` (run tests with ``-j``)
+ added ```make vtests``` (run tests with ``--valgrind -j``)
+ added ```make wtests``` (run tests with ``--wine -j 1``)
+ added Autoconf tests for ``CXXFLAGS``. By default try the following options:
``-W -Wall -Wextra -Weffc++ -pedantic -Wformat=2 -Wredundant-decls
-Wsuggest-attribute=format -Wconversion -Wsign-conversion -O2 -Weverything``),
respect user-defined ``CXXFLAGS``
+ support Mingw builds: ```configure -host i686-w64-mingw32```
+ structured source files
+ removed old MSVC files
- Moved development to github (https://github.com/skvadrik/re2c),
keep a mirror on sourceforge.
-----
0.14x
-----
0.14.3 (2015-05-20)
~~~~~~~~~~~~~~~~~~~
- applied patch `#27 <https://github.com/skvadrik/re2c/issues/27>`_:
re2c crashes reading files containing %{ %}
- dropped distfiles for MSVC (they are broken anyway)
0.14.2 (2015-03-25)
~~~~~~~~~~~~~~~~~~~
- fixed `#57 <https://github.com/skvadrik/re2c/issues/57>`_:
Wrong result only if another rule is present
0.14.1 (2015-02-27)
~~~~~~~~~~~~~~~~~~~
- fixed `#55 <https://github.com/skvadrik/re2c/issues/55>`_:
re2c-0.14: re2c -V outputs null byte
0.14 (2015-02-23)
~~~~~~~~~~~~~~~~~
- Added generic input API
+ `#21 <https://github.com/skvadrik/re2c/issues/21>`_:
Support to configure how re2c code interfaced with the symbol buffer?"
- fixed `#46 <https://github.com/skvadrik/re2c/issues/46>`_:
re2c generates an infinite loop, depends on existence of previous parser
- fixed `#47 <https://github.com/skvadrik/re2c/issues/47>`_:
Dot output label escaped characters
-----
0.13x
-----
0.13.7.5 (2014-08-22)
~~~~~~~~~~~~~~~~~~~~~
- Fixed `Gentoo bug with PHP lexer <https://bugs.gentoo.org/show_bug.cgi?id=518904>`_
0.13.7.4 (2014-07-29)
~~~~~~~~~~~~~~~~~~~~~
- Enabled ``make docs`` only if configured with ``--enable-docs``
- Disallowed to use yacc/byacc instead of bison to build parser
- Removed non-portable sed feature in script that runs tests
0.13.7.3 (2014-07-27)
~~~~~~~~~~~~~~~~~~~~~
- Fixed CXX warning
- Got rid of asciidoc build-time dependency
0.13.7.2 (2014-07-27)
~~~~~~~~~~~~~~~~~~~~~
- Included man page into dist, respect users CXXFLAGS.
0.13.7.1 (2014-07-26)
~~~~~~~~~~~~~~~~~~~~~
- Added missing files to tarball
0.13.7 (2014-07-25)
~~~~~~~~~~~~~~~~~~~
- Added UTF-8 support
- Added UTF-16 support
- Added default rule
- Added option to control ill-formed Unicode
0.13.6 (2013-07-04)
~~~~~~~~~~~~~~~~~~~
- Fixed #2535084 uint problem with Sun C 5.8
- #3308400: allow Yacc-style ``%{`` code brackets ``}%``
- #2506253: allow C++ ``//`` comments
- Fixed inplace configuration in ``-e`` mode.
- Applied #2482572 Typos in error messages.
- Applied #2482561 Error in manual section on ``-r`` mode.
- Fixed #2478216 Wrong ``start_label`` in ``-c`` mode.
- Fixed #2186718 Unescaped backslash in file name of ``#line`` directive.
- Fixed #2102138 Duplicate case labels on EBCDIC.
- Fixed #2088583 Compile problem on AIX.
- Fixed #2038610 Ebcdic problem.
- improve dot support: make char intervals (e.g. ``[A-Z]``) instead of one edge
per char
0.13.5 (2008-05-25)
~~~~~~~~~~~~~~~~~~~
- Fixed #1952896 Segfault in ``re2c::Scanner::scan``.
- Fixed #1952842 Regression.
0.13.4 (2008-04-05)
~~~~~~~~~~~~~~~~~~~
- Added transparent handling of ``#line`` directives in input files.
- Added ``re2c:yyfill:check`` inplace configuration.
- Added ``re2c:define:YYSETSTATE:naked`` inplace configuration.
- Added ``re2c:flags:w`` and ``re2c:flags:u`` inplace configurations.
- Added the ability to add rules in ``use:re2c`` blocks.
- Changed ``-r`` flag to accept only ``rules:re2c`` and ``use:re2c`` blocks.
0.13.3 (2008-03-14)
~~~~~~~~~~~~~~~~~~~
- Added ``-r`` flag to allow reuse of scanner definitions.
- Added ``-F`` flag to support flex syntax in rules.
- Fixed SEGV in scanner that occurs with very large blocks.
- Fixed issue with unused ``yybm``.
- Partial support for flex syntax.
- Changed to allow ``/*`` comments with ``-c`` switch.
- Added flag ``-D/--emit-dot``.
0.13.2 (2008-02-14)
~~~~~~~~~~~~~~~~~~~
- Added flag ``--case-inverted``.
- Added flag ``--case-insensitive``.
- Added support for ``<!...>`` to enable rule setup.
- Added support for ``=>`` style rules.
- Added support for ``:=`` style rules.
- Added support for ``:=>`` style rules.
- Added ``re2c:cond:divider`` and ``re2c:cond:goto`` inplace configuration.
- Fixed code generation to emit space after ``if``.
0.13.1 (2007-08-24)
~~~~~~~~~~~~~~~~~~~
- Added custom build rules for Visual Studio 2005 (``re2c.rules``).
(William Swanson)
- Fixed issue with some compilers.
- Fixed #1776177 Build on AIX.
- Fixed #1743180 ``fwrite`` with 0 length crashes on OS X.
0.13.0 (2007-06-24)
~~~~~~~~~~~~~~~~~~~
- Added ``-c`` and ``-t`` to generate scanners with (f)lex-like condition
support.
- Fixed issue with short form of switches and parameter if not first switch.
- Fixed #1708378 segfault ``in actions.cc``.
-----
0.12x
-----
0.12.3 (2007-08-24)
~~~~~~~~~~~~~~~~~~~
- Fixed issue with some compilers.
- Fixed #1776177 Build on AIX.
- Fixed #1743180 ``fwrite`` with 0 length crashes on OS X.
0.12.2 (2007-06-26)
~~~~~~~~~~~~~~~~~~~
- Fixed #1743180 ``fwrite`` with 0 length crashes on OS X.
0.12.1 (2007-05-23)
~~~~~~~~~~~~~~~~~~~
- Fixed #1711240 problem with ``"`` and ``7F`` on EBCDIC plattforms.
0.12.0 (2007-05-01)
~~~~~~~~~~~~~~~~~~~
- Re-release of 0.11.3 as new stable branch.
- Fixed issue with short form of switches and parameter if not first switch.
- Fixed #1708378 segfault in ``actions.cc``.
- re2c 0.12.0 has been tested with the following compilers:
+ gcc version 4.1.2 (Gentoo 4.1.2)
+ gcc version 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1)
+ gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
+ gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)
+ gcc version 4.1.0 (SUSE Linux 10)
+ gcc version 4.0.3 (4.0.3-0.20060215.2mdk for Mandriva Linux release 2006.1)
+ gcc version 4.0.2 20050901 (prerelease) (SUSE Linux) (32 + 64 bit)
+ MacPPC, gcc version 4.0.1 (Apple Computer, Inc. build 5367)
+ MacIntel, gcc version 4.0.1 (Apple Computer, Inc. build 5250)
+ gcc version 3.4.4 [FreeBSD] 20050518 (32 + 64 bit)
+ gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
+ gcc version 3.4.2 [FreeBSD]
+ gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)
+ gcc version 3.3.3 (PPC, 32 + 64 bit)
+ Microsoft (R) C/C++ Optimizing Compiler Version 14.00.50727.762 for x64 (64 bit)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 (Microsoft Visual C++ 2005)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86 (Mictosoft Visual C++ 2003)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 (Microsoft Visual C++ 2002)
+ Intel(R) C++ Compiler for 32-bit applications, Version 9.1 Build 20070322Z Package ID: W_CC_C_9.1.037
+ Intel(R) C++ Compiler for Intel(R) EM64T-based applications, Version 9.1 (64 bit)
+ icpcbin (ICC) 9.1 20070215
+ CC: Sun C++ 5.8 2005/10/13 (``CXXFLAGS='-library=stlport4'``)
+ MIPSpro Compilers: Version 7.4.4m (32 + 64 bit)
+ aCC: HP C/aC++ B3910B A.06.15 [Mar 28 2007] (HP-UX IA64)
-----
0.11x
-----
0.11.3 (2007-04-01)
~~~~~~~~~~~~~~~~~~~
- Added support for underscores in named definitions.
- Added new option ``--no-generation-date``.
- Fixed issue with long form of switches.
0.11.2 (2007-03-01)
~~~~~~~~~~~~~~~~~~~
- Added inplace configuration ``re2c:yyfill:parameter``.
- Added inplace configuration ``re2c:yych:conversion``.
- Fixed ``-u`` switch code generation.
- Added ability to avoid defines and overwrite generated variable names.
0.11.1 (2007-02-20)
~~~~~~~~~~~~~~~~~~~
- Applied #1647875 Add ``const`` to ``yybm`` vector.
0.11.0 (2007-01-01)
~~~~~~~~~~~~~~~~~~~
- Added ``-u`` switch to support unicode.
-----
0.10x
-----
0.10.8 (2007-04-01)
~~~~~~~~~~~~~~~~~~~
- Fixed issue with long form of switches.
0.10.7 (2007-02-20)
~~~~~~~~~~~~~~~~~~~
- Applied #1647875 Add ``const`` to ``yybm`` vector.
0.10.6 (2006-08-05)
~~~~~~~~~~~~~~~~~~~
- Fixed #1529351 Segv bug on unterminated code blocks.
- Fixed #1528269 Invalid code generation.
0.10.5 (2006-06-11)
~~~~~~~~~~~~~~~~~~~
- Fixed long form of ``-1`` switch to ``--single-pass`` as noted in man page
and help.
- Added MSVC 2003 project files and renamed old 2002 ones.
0.10.4 (2006-06-01)
~~~~~~~~~~~~~~~~~~~
- Fix whitespace in generated code.
0.10.3 (2006-05-14)
~~~~~~~~~~~~~~~~~~~
- Fixed issue with ``-wb`` and ``-ws``.
- Added ``-g`` switch to support gcc's computed goto's.
- Changed to use nested ``if``'s instead of ``switch(yyaccept)`` in ``-s`` mode.
0.10.2 (2006-05-01)
~~~~~~~~~~~~~~~~~~~
- Changed to generate ``YYMARKER`` only when needed or in single pass mode.
- Added ``-1`` switch to force single pass generation and make two pass the
default.
- Fixed ``-i`` switch.
- Added configuration ``yyfill:enable`` to allow suppression of ``YYFILL()``
blocks.
- Added tutorial like lessons to re2c.
- Added ``/*!ignore:re2c */`` to support documenting of re2c source.
- Fixed issue with multiline re2c comments (``/*!max:re2c ... */`` and alike).
- Fixed generation of ``YYDEBUG()`` when using ``-d`` switch.
- Added ``/*!getstate:re2c */`` which triggers generation of the
``YYGETSTATE()`` block.
- Added configuration ``state:abort``.
- Changed to not generate ``yyNext`` unless configuration ``state:nextlabel`` is
used.
- Changed to not generate ``yyaccept`` code unless needed.
- Changed to use ``if`` instead of ``switch`` expression when ``yyaccpt`` has
only one case.
- Added docu, examples and tests to ``.src.zip`` package (0.10.1 zip was
repackaged).
- Fixed #1479044 incorrect code generated when using ``-b``.
- Fixed #1472770 re2c creates an infinite loop.
- Fixed #1454253 Piece of code saving a backtracking point not generated.
- Fixed #1463639 Missing forward declaration.
- Implemented #1187127 savable state support for multiple re2c blocks.
- re2c 0.10.2 has been tested with the following compilers:
+ gcc (GCC) 4.1.0 (Gentoo 4.1.0)
+ gcc version 4.0.3 (4.0.3-0.20060215.2mdk for Mandriva Linux release 2006.1)
+ gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
+ gcc (GCC) 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)
+ gcc version 3.4.4 [FreeBSD] 20050518
+ gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
+ gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
+ gcc-Version 3.3.5 (Debian 1:3.3.5-13)
+ gcc-Version 3.3.0 (mips-sgi-irix6.5/3.3.0/specs)
+ MIPSpro Compilers: Version 7.4.4m
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for
80x86 (Microsoft Visual C++ 2005)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
(Mictosoft Visual C++ 2003)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
(Microsoft Visual C++ 2002)
+ Intel(R) C++ Compiler for Intel(R) EM64T-based applications, Version 9.0
Build 20050430 Package ID: l_cc_p_9.0.021
+ CC: Sun C++ 5.8 2005/10/13 (``CXXFLAGS='-library=stlport4'``)
+ bison 2.1, 1.875d, 1.875b, 1.875
0.10.1 (2006-02-28)
~~~~~~~~~~~~~~~~~~~
- Added support for Solaris and native SUN compiler.
- Applied #1438160 expose ``YYCTXMARKER``.
- re2c 0.10.1 has been tested with the following compilers:
+ gcc version 4.0.3 (4.0.3-0.20060215.2mdk for Mandriva Linux release 2006.1)
+ gcc version 4.0.2 (4.0.2-1mdk for Mandriva Linux release 2006.1)
+ gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
+ gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
+ gcc-Version 3.3.5 (Debian 1:3.3.5-13)
+ gcc-Version 3.3.0 (mips-sgi-irix6.5/3.3.0/specs)
+ MIPSpro Compilers: Version 7.4.4m
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for
80x86 (Microsoft Visual C 2005)
+ Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
(Microsoft Visual C 2002)
+ Intel(R) C++ Compiler for 32-bit applications, Version 9.0 Build 20051130Z
Package ID: W_CC_C_9.0.028
+ CC: Sun C++ 5.8 2005/10/13 (``CXXFLAGS='-compat5 -library=stlport4'``)
+ bison 2.1, 1.875d, 1.875b, 1.875
0.10.0 (2006-02-18)
~~~~~~~~~~~~~~~~~~~
- Added make target ``zip`` to create windows source packages as zip files.
- Added ``re2c:startlabel`` configuration.
- Fixed code generation to not generate unreachable code for initial state.
- Added support for c/c++ compatible ``\u`` and ``\U`` unicode notation.
- Added ability to control indendation.
- Made scanner error out in case an ambiguous ``/*`` is found.
- Fixed indendation of generated code.
- Added support for DOS line endings.
- Added experimental unicode support.
- Added ``config_w32.h`` to build out of the box on windows (using msvc 2002+).
- Added Microsoft Visual C .NET 2005 build files.
- Applied #1411087 variable length trailing context.
- Applied #1408326 do not generate ``goto`` next state.
- Applied #1408282 ``CharSet`` initialization fix.
- Applied #1408278 ``readsome`` with MSVC.
- Applied #1307467 Unicode patch for 0.9.7.
----
0.9x
----
0.9.12 (2005-12-28)
~~~~~~~~~~~~~~~~~~~
- Fixed bug #1390174 re2c cannot accept ``{0,}``.
0.9.11 (2005-12-18)
~~~~~~~~~~~~~~~~~~~
- Fixed #1313083 ``-e`` (EBCDIC cross compile) broken.
- Fixed #1297658 underestimation of ``n`` in ``YYFILL(n)``.
- Applied #1339483 Avoid rebuilds of re2c when running subtargets.
- Implemented #1335305 symbol table reimplementation, just slightly modifed.
0.9.10 (2005-09-04)
~~~~~~~~~~~~~~~~~~~
- Add ``-i`` switch to avoid generating ``#line`` information.
- Fixed bug #1251653 re2c generate some invalid ``#line`` on WIN32.
0.9.9 (2005-07-21)
~~~~~~~~~~~~~~~~~~~
- Implemented #1232777 negated char classes ``[^...]`` and the dot operator ``.``.
- Added hexadecimal character definitions.
- Added consistency check for octal character definitions.
0.9.8 (2005-06-26)
~~~~~~~~~~~~~~~~~~~
- Fixed code generation for ``-b`` switch.
- Added Microsoft Visual C .NET build files.
0.9.7 (2005-04-30)
~~~~~~~~~~~~~~~~~~~
- Applied #1181535 storable state patch.
- Added ``-d`` flag which outputs a debugable parser.
- Fixed generation of ``#line`` directives (according to ISO-C99).
- Fixed bug #1187785 Re2c fails to generate valid code.
- Fixed bug #1187452 unused variable ``yyaccept``.
0.9.6 (2005-04-14)
~~~~~~~~~~~~~~~~~~~
- Fix build with gcc >= 3.4.
0.9.5 (2005-04-08)
~~~~~~~~~~~~~~~~~~~
- Added ``/*!max:re2c */`` which emits ``#define YYMAXFILL <max>``
line. This allows to define buffers of the minimum required length.
Occurence must follow ``/*re2c */`` and cannot preceed it.
- Changed re2c to two pass generation to output warning free code.
- Fixed bug #1163046 re2c hangs when processing valid re-file.
- Fixed bug #1022799 re2c scanner has buffering bug.
0.9.4 (2005-03-12)
~~~~~~~~~~~~~~~~~~~
- Added ``--vernum`` support.
- Fixed bug #1054496 incorrect code generated with ``-b`` option.
- Fixed bug #1012748 re2c does not emit last line if ``\n`` missing.
- Fixed bug #999104 ``--output=output`` option does not work as documented.
- Fixed bug #999103 Invalid options prefixed with two dashes cause program
crash.
0.9.3 (2004-05-26)
~~~~~~~~~~~~~~~~~~~
- Fixes one small possible bug in the generated output. ``ych`` instead of
``yych`` is output in certain circumstances.
0.9.2 (2004-05-26)
~~~~~~~~~~~~~~~~~~~
- Added ``-o`` option to specify the output file which also will set the
``#line`` directives to something useful.
- Print version to ``cout`` instead of ``cerr``.
- Added ``-h`` and ``--`` style options.
- Moved development to http://sourceforge.net/projects/re2c
- Fixed bug #960144 minor cosmetic problem.
- Fixed bug #953181 cannot compile with.
- Fixed bug #939277 Windows support.
- Fixed bug #914462 automake build patch
- Fixed bug #891940 braced quantifiers: ``{\d+(,|,\d+)?}`` style.
- Fixed bug #869298 Add case insensitive string literals.
- Fixed bug #869297 Input buffer overrun.
0.9.1 (2003-12-13)
~~~~~~~~~~~~~~~~~~~
- Removed rcs comments in source files.
-------------------------
re2c adopted (2003-12-09)
-------------------------
- Version 0.9.1 README::
Originally written by Peter Bumbulis ([email protected])
Currently maintained by Brian Young ([email protected])
The re2c distribution can be found at:
http://www.tildeslash.org/re2c/index.html
The source distribution is available from:
http://www.tildeslash.org/re2c/re2c-0.9.1.tar.gz