@@ -7,6 +7,7 @@ DAT_DIR = data
7
7
CFLAGS = -O3 -I $(SRC_DIR )
8
8
RAGEL = $(ENG_DIR ) /ragel/ragel7
9
9
KLEENEX = $(ENG_DIR ) /kleenex/kexc
10
+ RE2C3 = $(ENG_DIR ) /re2c/re2c3
10
11
RE2C = $(top_builddir ) /re2c
11
12
RE2C_FLAGS_COMMON = --reusable --tags --no-generation-date --no-version
12
13
RE2C_FLAGS = $(RE2C_FLAGS_COMMON ) -I $(SRC_DIR ) /re2c/include
@@ -60,21 +61,23 @@ BIN_RAGEL = $(patsubst $(GEN_DIR)%.c, $(BIN_DIR)%, $(GEN_RAGEL))
60
61
61
62
COMMON_RAGEL = $(COMMON_SRC ) $(SRC_DIR ) /ragel/common.c
62
63
63
- GEN_RE2C_TDFA1 = $(patsubst % , $(GEN_DIR ) /re2c/% -tdfa1.c, $(BENCHMARKS ) )
64
- GEN_RE2C_TDFA0 = $(patsubst % , $(GEN_DIR ) /re2c/% -tdfa0.c, $(BENCHMARKS ) )
65
- GEN_RE2C_STADFA = $(patsubst % , $(GEN_DIR ) /re2c/% -stadfa.c, $(BENCHMARKS ) )
66
- GEN_RE2C_EOF_TDFA1 = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-tdfa1.c, $(BENCHMARKS ) )
67
- GEN_RE2C_EOF_TDFA0 = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-tdfa0.c, $(BENCHMARKS ) )
68
- GEN_RE2C_EOF_STADFA = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-stadfa.c, $(BENCHMARKS ) )
64
+ GEN_RE2C_TDFA1 = $(patsubst % , $(GEN_DIR ) /re2c/% -tdfa1.c, $(BENCHMARKS ) )
65
+ GEN_RE2C_TDFA0 = $(patsubst % , $(GEN_DIR ) /re2c/% -tdfa0.c, $(BENCHMARKS ) )
66
+ GEN_RE2C_EOF_TDFA1 = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-tdfa1.c, $(BENCHMARKS ) )
67
+ GEN_RE2C_EOF_TDFA0 = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-tdfa0.c, $(BENCHMARKS ) )
69
68
GEN_RE2C = \
70
69
$(GEN_RE2C_TDFA1 ) \
71
70
$(GEN_RE2C_TDFA0 ) \
72
- $(GEN_RE2C_STADFA ) \
73
71
$(GEN_RE2C_EOF_TDFA1 ) \
74
- $(GEN_RE2C_EOF_TDFA0 ) \
75
- $(GEN_RE2C_EOF_STADFA )
72
+ $(GEN_RE2C_EOF_TDFA0 )
76
73
77
- BIN_RE2C = $(patsubst $(GEN_DIR ) % .c, $(BIN_DIR ) % , $(GEN_RE2C ) )
74
+ GEN_RE2C3_STADFA = $(patsubst % , $(GEN_DIR ) /re2c/% -stadfa.c, $(BENCHMARKS ) )
75
+ GEN_RE2C3_EOF_STADFA = $(patsubst % , $(GEN_DIR ) /re2c/% -eof-stadfa.c, $(BENCHMARKS ) )
76
+ GEN_RE2C3 = \
77
+ $(GEN_RE2C3_STADFA ) \
78
+ $(GEN_RE2C3_EOF_STADFA )
79
+
80
+ BIN_RE2C = $(patsubst $(GEN_DIR ) % .c, $(BIN_DIR ) % , $(GEN_RE2C ) $(GEN_RE2C3 ) )
78
81
79
82
COMMON_RE2C = \
80
83
$(COMMON_SRC ) \
@@ -97,7 +100,7 @@ GEN_KLEENEX = $(patsubst %, $(GEN_DIR)/kleenex/%.c, \
97
100
98
101
BIN_KLEENEX = $(patsubst $(GEN_DIR ) % .c, $(BIN_DIR ) % , $(GEN_KLEENEX ) )
99
102
100
- GEN = $(GEN_RAGEL ) $(GEN_RE2C ) $(GEN_KLEENEX )
103
+ GEN = $(GEN_RAGEL ) $(GEN_RE2C ) $(GEN_RE2C3 ) $( GEN_KLEENEX )
101
104
102
105
BIN_ = $(BIN_RAGEL ) $(BIN_RE2C ) $(BIN_KLEENEX )
103
106
BIN_GCC = $(patsubst % , % -gcc, $(BIN_ ) )
@@ -113,7 +116,7 @@ DAT = $(patsubst %, $(DAT_DIR)/%/big, \
113
116
114
117
all-local : $(BIN ) $(DAT )
115
118
116
- # always regenerate re2c benchmarks
119
+ # always regenerate re2c benchmarks (except for deprecated algorithms)
117
120
118
121
$(GEN_RE2C_TDFA1 ) : $(GEN_DIR ) /% -tdfa1.c: $(SRC_DIR ) /% .re $(COMMON_RE2C ) $(RE2C )
119
122
$(AM_V_at ) mkdir -p $(@D )
@@ -135,19 +138,21 @@ $(GEN_RE2C_EOF_TDFA0): $(GEN_DIR)/%-eof-tdfa0.c: $(SRC_DIR)/%.re $(COMMON_RE2C)
135
138
$(AM_V_GEN )$(RE2C ) $(RE2C_FLAGS_EOF ) --no-lookahead $< -o $@
136
139
$(AM_V_at ) if ! cmp -s $@ $(PREGEN_DIR ) /re2c/$(@F ) ; then cp -f $@ $(PREGEN_DIR ) /re2c/$(@F ) ; fi
137
140
138
- $(GEN_RE2C_STADFA ) : $(GEN_DIR ) /% -stadfa.c: $(SRC_DIR ) /% .re $(COMMON_RE2C ) $(RE2C )
141
+ # optionally regenerate ragel, kleenex and re2c-3.0 benchmarks
142
+ # (staDFA algorithm was removed in re2c versions after 3.0)
143
+
144
+ if REGEN_BENCHMARKS
145
+
146
+ $(GEN_RE2C3_STADFA ) : $(GEN_DIR ) /% -stadfa.c: $(SRC_DIR ) /% .re $(COMMON_RE2C ) $(RE2C3 )
139
147
$(AM_V_at ) mkdir -p $(@D )
140
- $(AM_V_GEN )$(RE2C ) $(RE2C_FLAGS ) --stadfa $< -o $@
148
+ $(AM_V_GEN )$(RE2C3 ) $(RE2C_FLAGS ) --stadfa $< -o $@
141
149
$(AM_V_at ) if ! cmp -s $@ $(PREGEN_DIR ) /re2c/$(@F ) ; then cp -f $@ $(PREGEN_DIR ) /re2c/$(@F ) ; fi
142
150
143
- $(GEN_RE2C_EOF_STADFA ) : $(GEN_DIR ) /% -eof-stadfa.c: $(SRC_DIR ) /% .re $(COMMON_RE2C ) $(RE2C )
151
+ $(GEN_RE2C3_EOF_STADFA ) : $(GEN_DIR ) /% -eof-stadfa.c: $(SRC_DIR ) /% .re $(COMMON_RE2C ) $(RE2C3 )
144
152
$(AM_V_at ) mkdir -p $(@D )
145
- $(AM_V_GEN )$(RE2C ) $(RE2C_FLAGS_EOF ) --stadfa $< -o $@
153
+ $(AM_V_GEN )$(RE2C3 ) $(RE2C_FLAGS_EOF ) --stadfa $< -o $@
146
154
$(AM_V_at ) if ! cmp -s $@ $(PREGEN_DIR ) /re2c/$(@F ) ; then cp -f $@ $(PREGEN_DIR ) /re2c/$(@F ) ; fi
147
155
148
- # optionally regenerate ragel and kleenex benchmarks
149
- if REGEN_BENCHMARKS
150
-
151
156
$(GEN_RAGEL ) : $(GEN_DIR ) /% .c: $(SRC_DIR ) /% .rl $(COMMON_RAGEL ) $(RAGEL )
152
157
$(AM_V_at ) mkdir -p $(@D )
153
158
$(AM_V_GEN )$(RAGEL ) -G2 $< -o $@
@@ -160,7 +165,7 @@ $(GEN_KLEENEX): $(GEN_DIR)/%.c: $(SRC_DIR)/%.kex $(KLEENEX)
160
165
161
166
else
162
167
163
- $(GEN_RAGEL ) $(GEN_KLEENEX ) : $(GEN_DIR ) /% : $(PREGEN_DIR ) /%
168
+ $(GEN_RAGEL ) $(GEN_RE2C3 ) $( GEN_KLEENEX ) : $(GEN_DIR ) /% : $(PREGEN_DIR ) /%
164
169
$(AM_V_at ) mkdir -p $(@D )
165
170
$(AM_V_GEN ) cp -f $< $@
166
171
@@ -188,5 +193,9 @@ $(RAGEL):
188
193
$(AM_V_at ) mkdir -p $(@D ) && cp $(srcdir ) /engines/ragel/getragel7.sh $(@D )
189
194
$(AM_V_GEN ) ( cd $( @D) && ./getragel7.sh )
190
195
196
+ $(RE2C3 ) :
197
+ $(AM_V_at ) mkdir -p $(@D ) && cp $(srcdir ) /engines/re2c/getre2c3.sh $(@D )
198
+ $(AM_V_GEN ) ( cd $( @D) && ./getre2c3.sh )
199
+
191
200
clean-local :
192
201
$(AM_V_at ) rm -f $(GEN ) $(OBJ ) $(BIN ) $(DAT )
0 commit comments