Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8baaca5774 | ||
|
|
bdf3e8958a | ||
|
|
ee033adfb6 | ||
|
|
d3db8a17a5 | ||
|
|
28cb6b8572 | ||
|
|
5d4b79275b | ||
|
|
bbf1cb2604 | ||
|
|
6b67aac3e9 | ||
|
|
cca3ca4151 | ||
|
|
de8bf67c32 | ||
|
|
ca18e43710 | ||
|
|
17d7d8c618 | ||
|
|
ec64527e36 | ||
|
|
7e25fb759f | ||
|
|
ba31855356 | ||
|
|
6c0d89a238 | ||
|
|
705a029b8f | ||
|
|
7c5eac5982 | ||
|
|
f2e6668e9a | ||
|
|
0e97d4917b | ||
|
|
5a9be34734 | ||
|
|
71517f1bf9 | ||
|
|
787a7a306a | ||
|
|
e2a2eca01b | ||
|
|
596c3d9484 | ||
|
|
a65419d89a | ||
|
|
f52b642f8e | ||
|
|
b8406137d6 | ||
|
|
4fedb068c1 | ||
|
|
c1537de331 | ||
|
|
f3dc6fe0e9 | ||
|
|
19d771fd3d | ||
|
|
4afd9776dc | ||
|
|
41411f5c8a | ||
|
|
543aaab356 | ||
|
|
814a544eff | ||
|
|
5fa1dbd576 | ||
|
|
90bd3158e1 | ||
|
|
2b80343e4d | ||
|
|
972d7874e2 | ||
|
|
83b135699f | ||
|
|
2ecbbce7d9 | ||
|
|
e2d249f839 | ||
|
|
54d0eaa4b5 | ||
|
|
cf302ed2bd | ||
|
|
32e11d9904 | ||
|
|
2fc1f0b0bc | ||
|
|
4d5f6d6722 | ||
|
|
bec027b7ae | ||
|
|
a780025238 | ||
|
|
05298b1210 | ||
|
|
70409e3966 | ||
|
|
c65b9766ac | ||
|
|
6aa98843c7 | ||
|
|
0b7be55aec | ||
|
|
436a6cbeaa | ||
|
|
9cfb87edaf | ||
|
|
170ffa39b8 | ||
|
|
e5cb9a1ebd | ||
|
|
1357b3c3d9 | ||
|
|
61c88fbf5a | ||
|
|
162b9c5a8b | ||
|
|
5eb464f8e8 | ||
|
|
e1148b4a7b | ||
|
|
3a40b3d4bb | ||
|
|
a75eb2b3fd | ||
|
|
5cea17c8fe | ||
|
|
b4dc9f69b1 | ||
|
|
92c3ae5a99 | ||
|
|
a1c42047da | ||
|
|
b8a4cddf80 | ||
|
|
7f26edd716 | ||
|
|
cf7e2c7639 | ||
|
|
555331f6e7 | ||
|
|
efc527c2ac | ||
|
|
a5e37dcb8a | ||
|
|
bce5d21288 | ||
|
|
d85f08ac1f | ||
|
|
01b78d8db7 | ||
|
|
91f265b9f3 | ||
|
|
61c14ce5e5 | ||
|
|
c4e779cab5 | ||
|
|
a2d5361545 | ||
|
|
0dfc64d6ff | ||
|
|
59bec481e3 | ||
|
|
cffecf2bc5 | ||
|
|
04eb0ae86d | ||
|
|
2228e8f6d0 | ||
|
|
d85e7e97fd | ||
|
|
2bbd803796 | ||
|
|
1a050e0eb8 | ||
|
|
8571400c7f | ||
|
|
a73bb4cddd | ||
|
|
181bfe95cc | ||
|
|
73637f91a8 | ||
|
|
d6c2a60f88 | ||
|
|
48435b5a1b | ||
|
|
103271952c | ||
|
|
27e0855534 | ||
|
|
cec1803ac0 | ||
|
|
06c0ffa90d | ||
|
|
960cd7dee5 | ||
|
|
f3f3194a35 | ||
|
|
25b3626c38 | ||
|
|
9218113a8e | ||
|
|
f3ecbb16ae | ||
|
|
fea7f92b2a | ||
|
|
2c5c5003e8 | ||
|
|
85f7d36227 | ||
|
|
77735b9f67 | ||
|
|
d7c0cc09bc | ||
|
|
2b349129eb | ||
|
|
2027021c1a | ||
|
|
650c4bc0c2 | ||
|
|
77eb8fbaa1 | ||
|
|
ff9f27c6f7 | ||
|
|
b6803c4a88 | ||
|
|
f310f6d635 | ||
|
|
db1a4d6951 | ||
|
|
c03459572b | ||
|
|
0936b3aa72 | ||
|
|
c641280e1c | ||
|
|
a543138bd1 | ||
|
|
3f0f46ff75 | ||
|
|
c8e8ab51dd | ||
|
|
7aba30555d | ||
|
|
95dde201b8 | ||
|
|
10bd44025e | ||
|
|
5c84dfc5aa | ||
|
|
ddb1add809 | ||
|
|
dfae2f2361 | ||
|
|
08ce33838b | ||
|
|
409dcabf7d | ||
|
|
da97854a4a | ||
|
|
eac735f66d | ||
|
|
5a4afb1bfb | ||
|
|
5830f0387e | ||
|
|
da5e4c947c | ||
|
|
4103ae3737 | ||
|
|
e045138660 | ||
|
|
0d25d42c03 | ||
|
|
a0c1968ede | ||
|
|
8c3d145276 | ||
|
|
4bcbd2a60a | ||
|
|
1d8320afe2 | ||
|
|
319da16127 | ||
|
|
d885f95f23 | ||
|
|
e4566bc7ce | ||
|
|
0f79acd852 | ||
|
|
98f2a41393 | ||
|
|
11b400ac0e | ||
|
|
377758aa1e | ||
|
|
399be1f9df | ||
|
|
205ad4e098 | ||
|
|
223dbc9599 | ||
|
|
aca50bb123 | ||
|
|
d539bc3da2 | ||
|
|
5fc38030e1 | ||
|
|
6246dbde8f | ||
|
|
d360fb41e8 | ||
|
|
87a031fc85 | ||
|
|
497fedc5c9 | ||
|
|
a3f619e6ab | ||
|
|
e256f5012e | ||
|
|
ed0f2124ff | ||
|
|
1b5ae59fa5 | ||
|
|
ffb70cfa47 | ||
|
|
675e94eaf7 | ||
|
|
82e91b6646 | ||
|
|
2d773639be | ||
|
|
8e9bfda737 | ||
|
|
1fb357c20f | ||
|
|
0efd012137 | ||
|
|
9714371ecb | ||
|
|
67e2f080b0 | ||
|
|
c76135cd6b | ||
|
|
7fd5ec66fb | ||
|
|
29d5c87957 | ||
|
|
e7de8841fd | ||
|
|
da8d553052 | ||
|
|
1f644a0438 | ||
|
|
02a133fba1 | ||
|
|
13249489b2 | ||
|
|
fff50f785f | ||
|
|
39f1becb62 | ||
|
|
b609e814b3 | ||
|
|
7dfe119353 | ||
|
|
bf61e090d3 | ||
|
|
f06c17ef32 | ||
|
|
f2395c2998 | ||
|
|
d4df07f7ce | ||
|
|
1c27fd45d4 | ||
|
|
940349f50a | ||
|
|
a5e547794e | ||
|
|
dd7a7a2044 | ||
|
|
d3f727cd8c | ||
|
|
11075509c6 | ||
|
|
ba9cfabc49 | ||
|
|
f6c7f3a8e3 | ||
|
|
d3b83eb329 | ||
|
|
e64c45ba83 | ||
|
|
b2e11e1e64 | ||
|
|
7e924d6e9b | ||
|
|
8197f6d5b8 | ||
|
|
d1732352f1 | ||
|
|
8a632a3d69 | ||
|
|
7ef8e672e2 | ||
|
|
49c5388b2f | ||
|
|
a33065033d | ||
|
|
fbd5a8621e | ||
|
|
2e3a312466 | ||
|
|
7dddb5843a | ||
|
|
c5493a3e4d | ||
|
|
a3c9b1963d | ||
|
|
77503713d3 | ||
|
|
a65cde175a | ||
|
|
a44f902312 | ||
|
|
2cb7706148 | ||
|
|
9aa7766037 | ||
|
|
608910d419 | ||
|
|
ab8a5f0098 | ||
|
|
7df5fe0994 | ||
|
|
d2a7b9320b | ||
|
|
736f608e3e | ||
|
|
1d931b7a23 | ||
|
|
7d0e7a725f | ||
|
|
6b93da5c82 | ||
|
|
066e2b7d7e | ||
|
|
753ffe4622 | ||
|
|
07f7532567 | ||
|
|
7c16c52239 | ||
|
|
99c5a7a3a6 | ||
|
|
b53103c9d4 | ||
|
|
60ba7d8ec0 | ||
|
|
74e510800a | ||
|
|
457092c89a | ||
|
|
cd4e9be142 | ||
|
|
9d5091b3e3 | ||
|
|
8e3f03cdb9 | ||
|
|
8a51834851 | ||
|
|
44a091a18f | ||
|
|
a12eb0f5c6 | ||
|
|
e67b1afb2e | ||
|
|
b1b797a866 | ||
|
|
7e316e1b8a | ||
|
|
0ad6a8205c | ||
|
|
49faa46c38 | ||
|
|
b27dbc9be7 | ||
|
|
653bb7440e | ||
|
|
d1424e57bd | ||
|
|
1a1ce4bf3b | ||
|
|
a6e8bca983 | ||
|
|
9b9d762de6 | ||
|
|
60b167b710 | ||
|
|
9415c7ab1b | ||
|
|
637110ada6 | ||
|
|
2a4b846696 | ||
|
|
b0f43dec71 | ||
|
|
fb450d3054 | ||
|
|
c536ef0770 | ||
|
|
1311331e0a | ||
|
|
0bb4569f33 | ||
|
|
73fb142345 | ||
|
|
b4537dbed3 | ||
|
|
c27f521f3d | ||
|
|
197ff08f00 | ||
|
|
42b50636d3 | ||
|
|
c0721980e1 | ||
|
|
9703f0088b | ||
|
|
c5b5ed735e | ||
|
|
1da9c2eb64 | ||
|
|
c490dfda00 | ||
|
|
47527697e7 | ||
|
|
321e57917f | ||
|
|
8f1f11def4 | ||
|
|
8592b84deb | ||
|
|
ff3350e51a | ||
|
|
2703a077d6 | ||
|
|
85d8b5b560 | ||
|
|
a3b9f460ca | ||
|
|
76b3938ddc | ||
|
|
a4545f966c | ||
|
|
89d1fa1767 | ||
|
|
3d2c1c2c07 | ||
|
|
a84087bc02 | ||
|
|
5dc4461d04 | ||
|
|
5ed9d68cda | ||
|
|
aff269bc12 | ||
|
|
5ef3d700b2 | ||
|
|
c8bacb2dc0 | ||
|
|
80030878f9 | ||
|
|
07b0148337 | ||
|
|
5afd992238 | ||
|
|
283d970655 | ||
|
|
62cb5b2cdd | ||
|
|
4b149addab | ||
|
|
ebbf84f9f3 | ||
|
|
e3670059f6 | ||
|
|
04725305d2 | ||
|
|
231bc8e25a | ||
|
|
364fed920f | ||
|
|
abf813d324 | ||
|
|
c418aa1717 | ||
|
|
a3deb57658 | ||
|
|
688565f922 | ||
|
|
d015911fb7 | ||
|
|
3631e7ed3a | ||
|
|
a664f57331 | ||
|
|
52ce445326 | ||
|
|
1840d22061 | ||
|
|
8072b3acc6 | ||
|
|
751358f5cf | ||
|
|
ca01df5bde | ||
|
|
621f29c918 | ||
|
|
42fe7163cb | ||
|
|
892359a77c | ||
|
|
2d575a3907 | ||
|
|
883b7008ba | ||
|
|
ef86a22304 | ||
|
|
e0c1fffee6 | ||
|
|
b7597813e9 | ||
|
|
977b0a2c52 | ||
|
|
46882167bc | ||
|
|
8aed8322e8 | ||
|
|
3aadda2292 | ||
|
|
df692885a9 | ||
|
|
1ad3831c4d | ||
|
|
e509ed1cc7 | ||
|
|
895c3f33fe | ||
|
|
0a8629dbf0 | ||
|
|
71294d38f6 | ||
|
|
2c4e48aa4b | ||
|
|
90cc00e333 | ||
|
|
a793a3f59d | ||
|
|
0f29e41d45 | ||
|
|
739c509ac6 | ||
|
|
891b109abf | ||
|
|
ad1d82bd26 | ||
|
|
8ab63d0805 | ||
|
|
17a435e953 | ||
|
|
a522ee160f | ||
|
|
7a53cb2a73 | ||
|
|
af618f6481 | ||
|
|
5a341e25a9 | ||
|
|
bc6c23c02f | ||
|
|
163d32b6e3 | ||
|
|
fee0446b48 | ||
|
|
63c77e8528 | ||
|
|
42c93b3684 | ||
|
|
fbd146465e | ||
|
|
9a3904265f | ||
|
|
15ea590914 | ||
|
|
da4a307a96 | ||
|
|
6b16784a25 | ||
|
|
67620440d3 | ||
|
|
af410c7065 | ||
|
|
e1878caf9f | ||
|
|
01e9d8adab | ||
|
|
8013918c11 | ||
|
|
b9f9872990 | ||
|
|
e0ad5b1218 | ||
|
|
e46f998c95 | ||
|
|
c00ea29161 | ||
|
|
271746cdbe | ||
|
|
279c4e20f3 | ||
|
|
e6057e22b5 | ||
|
|
4e330457e7 | ||
|
|
82577ce06d | ||
|
|
7e43200796 | ||
|
|
b1a7a11d28 | ||
|
|
b2701c7f4c | ||
|
|
c30fe1e7b7 | ||
|
|
2aaf2b329a | ||
|
|
472373796c | ||
|
|
62afc3674d | ||
|
|
2f6c71a38c | ||
|
|
67f6680ce5 | ||
|
|
0d5fe165b3 | ||
|
|
0621b973ed | ||
|
|
762ced0a3c | ||
|
|
d6e2ca3316 | ||
|
|
4f7ad682f5 | ||
|
|
cf1b735fdb | ||
|
|
a08cdec815 | ||
|
|
39cfb282e9 | ||
|
|
7ddb79a70a | ||
|
|
539c99ea2a | ||
|
|
20ff170efb | ||
|
|
2b7945a75e | ||
|
|
776397ccb0 | ||
|
|
f013593448 | ||
|
|
02bae836a2 | ||
|
|
0872f12815 | ||
|
|
d535fee6ed | ||
|
|
1ba6cdd6a5 | ||
|
|
b51d2b67ab | ||
|
|
06f72154ef | ||
|
|
8ac61bb6d9 | ||
|
|
215ef38d7f | ||
|
|
320f319faa | ||
|
|
8428bfa82d | ||
|
|
911cfa494d | ||
|
|
91dee4a860 | ||
|
|
d51775c857 | ||
|
|
09ffa6a3ab | ||
|
|
2c70bf5da2 | ||
|
|
f83f3903e0 | ||
|
|
c3bb892add | ||
|
|
752c499714 | ||
|
|
b684f22fd0 | ||
|
|
305b0d497a | ||
|
|
0ea51ba272 | ||
|
|
994d4ae525 | ||
|
|
3e274664b8 | ||
|
|
15a5971468 | ||
|
|
f85fa16c4b | ||
|
|
3645616065 | ||
|
|
f5f559df8b | ||
|
|
bb0bfa189f | ||
|
|
a65d0ad67b | ||
|
|
9e0cf884bb | ||
|
|
a5531ecd7b | ||
|
|
7f40ae1780 | ||
|
|
bdc040e986 | ||
|
|
4812be8b9f | ||
|
|
f143b2dc1c | ||
|
|
af3c3ca319 | ||
|
|
88e2223326 | ||
|
|
8a219d3d7b | ||
|
|
ce8f4a7b5b | ||
|
|
0bb7705981 | ||
|
|
872d601c42 | ||
|
|
e027b25abd | ||
|
|
0bd9783532 | ||
|
|
5f90615f63 | ||
|
|
cac96326a3 | ||
|
|
5f8b5a443b | ||
|
|
a9988c4e46 | ||
|
|
03d110f45d | ||
|
|
e5a0fe4880 | ||
|
|
fd26a6e16b | ||
|
|
d3ffadb7bf | ||
|
|
9b3c4e3af9 | ||
|
|
0aba0ed97c | ||
|
|
cffdfd3e87 | ||
|
|
90142297ff | ||
|
|
9ccd146f79 | ||
|
|
94db280d2b | ||
|
|
88d33f439a | ||
|
|
48b05810c3 | ||
|
|
d4c186b642 | ||
|
|
1bbcf89767 | ||
|
|
6f6c0fba7b | ||
|
|
be6f7e2a23 | ||
|
|
074250e210 | ||
|
|
97fa5ad3e9 | ||
|
|
41c563c50b | ||
|
|
1ebe649de8 | ||
|
|
2fb4f360a3 | ||
|
|
66e08da942 | ||
|
|
8c24b9a09f | ||
|
|
ca2e0ce183 | ||
|
|
0cdd39e79c | ||
|
|
3885b0da1b | ||
|
|
4a05f11eb6 | ||
|
|
1dcbfee713 | ||
|
|
eebdfddb57 | ||
|
|
1b878f6682 | ||
|
|
0f27e43f24 | ||
|
|
b30bccb4d3 | ||
|
|
80e6339242 | ||
|
|
045752dc73 | ||
|
|
4e955f25aa | ||
|
|
8cc3315138 | ||
|
|
5acb29fea4 | ||
|
|
30fa370ee1 | ||
|
|
c9c3dc699e | ||
|
|
652f7e3a6d | ||
|
|
1f5ec6cad7 | ||
|
|
a760f723e7 | ||
|
|
4fbf0847dc | ||
|
|
6841306953 | ||
|
|
671fc0bc08 | ||
|
|
75fa3dbef8 | ||
|
|
08d414b8b2 | ||
|
|
0fe50b3165 | ||
|
|
15f503c97f | ||
|
|
9885ee7119 | ||
|
|
1655c7f9a3 | ||
|
|
1630149d14 | ||
|
|
bfa77bc471 | ||
|
|
0ea38276d5 | ||
|
|
22721f0b0e | ||
|
|
0b6d0b510e |
@@ -1,2 +1,3 @@
|
||||
* text=auto
|
||||
test/newlines/** -text
|
||||
test/codegen/python/indentation_sensitive_crlf.re -text
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
version: 2
|
||||
updates:
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
commit-message:
|
||||
include: "scope"
|
||||
prefix: "Actions"
|
||||
directory: "/"
|
||||
labels:
|
||||
- "enhancement"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
@@ -33,15 +33,15 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.8'
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v3
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '11'
|
||||
@@ -71,8 +71,16 @@ jobs:
|
||||
cmake -S . -B .build \
|
||||
-G "Unix Makefiles" \
|
||||
-DRE2C_BUILD_LIBS=ON \
|
||||
-DRE2C_BUILD_RE2D=OFF \
|
||||
-DRE2C_BUILD_RE2GO=OFF \
|
||||
-DRE2C_BUILD_RE2HS=OFF \
|
||||
-DRE2C_BUILD_RE2JAVA=OFF \
|
||||
-DRE2C_BUILD_RE2JS=OFF \
|
||||
-DRE2C_BUILD_RE2OCAML=OFF \
|
||||
-DRE2C_BUILD_RE2PY=OFF \
|
||||
-DRE2C_BUILD_RE2RUST=OFF \
|
||||
-DRE2C_BUILD_RE2V=OFF \
|
||||
-DRE2C_BUILD_RE2ZIG=OFF \
|
||||
-DRE2C_BUILD_BENCHMARKS=ON \
|
||||
-DCMAKE_CXX_FLAGS="-O3"
|
||||
|
||||
@@ -80,20 +88,20 @@ jobs:
|
||||
run: cmake --build .build
|
||||
|
||||
- name: Run submatch DFA AOT benchmark
|
||||
working-directory: .build/benchmarks/submatch_dfa_aot
|
||||
working-directory: .build/benchmarks/c
|
||||
run: |
|
||||
./run.py --quickverify \
|
||||
&& ./run.py --repetitions 5 --output results.json \
|
||||
./run.py --verify \
|
||||
&& ./run.py --output results.json \
|
||||
&& cat results.json
|
||||
|
||||
- name: Run submatch DFA JIT benchmark
|
||||
working-directory: .build/benchmarks/submatch_dfa_jit
|
||||
run: ./bench_submatch_dfa_jit
|
||||
working-directory: .build/benchmarks/c/libre2c/jit
|
||||
run: ./bench_submatch_jit
|
||||
|
||||
- name: Run submatch Java benchmark (ReTdfa)
|
||||
working-directory: .build/benchmarks/submatch_java
|
||||
working-directory: .build/benchmarks/c/libre2c/java
|
||||
run: ./run.py
|
||||
|
||||
- name: Run submatch NFA benchmark
|
||||
working-directory: .build/benchmarks/submatch_nfa
|
||||
working-directory: .build/benchmarks/c/libre2c/nfa
|
||||
run: ./bench_submatch_nfa
|
||||
|
||||
@@ -36,11 +36,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup apt cache (Linux)
|
||||
if: startsWith(runner.os, 'Linux')
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /var/cache/apt
|
||||
key: ${{ runner.os }}-apt-cache-${{ matrix.os }}-${{ github.sha }}
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
esac
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.x
|
||||
architecture: x64
|
||||
@@ -146,7 +146,7 @@ jobs:
|
||||
- name: Archive test artifacts
|
||||
# Run this step only if tests failed (otherwise there is nothing to upload).
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# To ensure that jobs don't overwrite existing artifacts,
|
||||
# use a different name per job.
|
||||
|
||||
@@ -62,11 +62,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup chocolatey Cache (Windows)
|
||||
if: startsWith(runner.os, 'Windows')
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
|
||||
key: ${{ runner.os }}-chocolatey-${{ matrix.os }}-${{ github.sha }}
|
||||
@@ -76,7 +76,7 @@ jobs:
|
||||
|
||||
- name: Setup apt cache (Linux)
|
||||
if: startsWith(runner.os, 'Linux')
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /var/cache/apt
|
||||
key: ${{ runner.os }}-apt-cache-${{ matrix.os }}-${{ github.sha }}
|
||||
@@ -105,7 +105,7 @@ jobs:
|
||||
esac
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.x
|
||||
architecture: x64
|
||||
@@ -135,9 +135,9 @@ jobs:
|
||||
id: build-info
|
||||
run: |
|
||||
if echo "${{ matrix.name }}" | grep -q "ootree"; then
|
||||
BUILD_DIR="$(pwd)/.build/${{ matrix.name }}-full"
|
||||
BUILD_DIR="${{ github.workspace }}/.build/${{ matrix.name }}-full"
|
||||
else
|
||||
BUILD_DIR="$(pwd)"
|
||||
BUILD_DIR="${{ github.workspace }}"
|
||||
fi
|
||||
echo "BUILD_DIR=$BUILD_DIR" >> $GITHUB_OUTPUT
|
||||
|
||||
@@ -165,13 +165,17 @@ jobs:
|
||||
- name: Archive test artifacts
|
||||
# Run this step only if tests failed (otherwise there is nothing to upload).
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# To ensure that jobs don't overwrite existing artifacts,
|
||||
# use a different name per job.
|
||||
name: test-${{ matrix.name }}
|
||||
# Tests run in a temporary directory that has a name test_<timestamp>.
|
||||
path: ${{ steps.build-info.outputs.BUILD_DIR }}/test_[0-9]*
|
||||
# Provide both relative and absolute paths. Absolute path should work for all builds,
|
||||
# but it doesn't work on Windows. Relative path works for in-tree Windows builds.
|
||||
path: |
|
||||
test_[0-9]*
|
||||
${{ steps.build-info.outputs.BUILD_DIR }}/test_[0-9]*
|
||||
# Artifacts are retained for 90 days by default.
|
||||
# In fact, we don't need such long period.
|
||||
retention-days: 30
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
[submodule "benchmarks/submatch_java/REgen"]
|
||||
path = benchmarks/submatch_java/REgen
|
||||
[submodule "benchmarks/c/libre2c/java/REgen"]
|
||||
path = benchmarks/c/libre2c/java/REgen
|
||||
url = https://github.com/skvadrik/REgen.git
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package(default_visibility = ["//visibility:private"])
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
|
||||
|
||||
genrule(
|
||||
name = "re2c_config",
|
||||
@@ -31,7 +32,7 @@ cc_library(
|
||||
srcs = glob([
|
||||
"bootstrap/src/**/*.cc",
|
||||
"src/**/*.cc",
|
||||
]),
|
||||
], exclude = ["src/test/**/*.cc"]),
|
||||
deps = [
|
||||
"re2c_config_cc", # Needed for 're2c_config_cc' data files
|
||||
],
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
How to build
|
||||
============
|
||||
Build & install
|
||||
===============
|
||||
|
||||
|
||||
If you want to install re2c from a prebuilt package, skip to the bottom of the
|
||||
page for a list of all packages available on different systems. Below is a guide
|
||||
how to build re2c from source code.
|
||||
|
||||
|
||||
Dependencies
|
||||
@@ -45,12 +50,36 @@ The configure script has many options (to see them all, run
|
||||
* `--enable-debug`
|
||||
Enable debug checks in the re2c source code. Also enables debug options.
|
||||
|
||||
* `--enable-dlang`
|
||||
Build re2d (identical to `re2c --lang d`). This is on by default.
|
||||
|
||||
* `--enable-golang`
|
||||
Build re2go (identical to `re2c --lang go`). This is on by default.
|
||||
|
||||
* `--enable-haskell`
|
||||
Build re2hs (identical to `re2c --lang haskell`). This is on by default.
|
||||
|
||||
* `--enable-java`
|
||||
Build re2java (identical to `re2c --lang java`). This is on by default.
|
||||
|
||||
* `--enable-js`
|
||||
Build re2js (identical to `re2c --lang js`). This is on by default.
|
||||
|
||||
* `--enable-ocaml`
|
||||
Build re2ocaml (identical to `re2c --lang ocaml`). This is on by default.
|
||||
|
||||
* `--enable-python`
|
||||
Build re2py (identical to `re2c --lang python`). This is on by default.
|
||||
|
||||
* `--enable-rust`
|
||||
Build re2rust (identical to `re2c --lang rust`). This is on by default.
|
||||
|
||||
* `--enable-vlang`
|
||||
Build re2v (identical to `re2c --lang v`). This is on by default.
|
||||
|
||||
* `--enable-zig`
|
||||
Build re2zig (identical to `re2c --lang zig`). This is on by default.
|
||||
|
||||
* `--enable-lexers`
|
||||
Enable regeneration of lexers from *.re* files (as opposed to using
|
||||
pre-generated bootstrap files). This requires setting `RE2C_FOR_BUILD` to
|
||||
@@ -60,6 +89,10 @@ The configure script has many options (to see them all, run
|
||||
Enable regeneration of parsers from *.ypp* files with bison (as opposed to
|
||||
using pre-generated bootstrap files).
|
||||
|
||||
* `--enable-syntax`
|
||||
Enable regeneration of default syntax files from the ones provided in
|
||||
include/ directory (as opposed to using pre-generated bootstrap files).
|
||||
|
||||
* `--enable-docs`
|
||||
Enable regeneration of documentation (requires Python 3 Docutils).
|
||||
|
||||
@@ -148,13 +181,41 @@ A simple build (objects are generated in a separate build directory):
|
||||
CMake supports a lot of configuration options. Here is the list of options
|
||||
specific to re2c:
|
||||
|
||||
* `-DRE2C_BUILD_RE2D=yes`
|
||||
Build re2d executable (an alias to `re2c --lang d`). Enabled by default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2GO=yes`
|
||||
Build re2go executable (an alias to `re2c --lang go`). Enabled by default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2HS=yes`
|
||||
Build re2hs executable (an alias to `re2c --lang haskell`). Enabled by
|
||||
default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2JAVA=yes`
|
||||
Build re2java executable (an alias to `re2c --lang java`). Enabled by
|
||||
default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2JS=yes`
|
||||
Build re2js executable (an alias to `re2c --lang js`). Enabled by default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2OCAML=yes`
|
||||
Build re2ocaml executable (an alias to `re2c --lang ocaml`). Enabled by
|
||||
default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2PY=yes`
|
||||
Build re2py executable (an alias to `re2c --lang python`). Enabled by
|
||||
default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2RUST=yes`
|
||||
Build re2rust executable (an alias to `re2c --lang rust`). Enabled by
|
||||
default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2V=yes`
|
||||
Build re2v executable (an alias to `re2c --lang v`). Enabled by default.
|
||||
|
||||
* `-DRE2C_BUILD_RE2ZIG=yes`
|
||||
Build re2zig executable (an alias to `re2c --lang zig`). Enabled by default.
|
||||
|
||||
* `-DRE2C_REBUILD_LEXERS=yes`
|
||||
Enable regeneration of lexers from *.re* files (as opposed to using
|
||||
pre-generated bootstrap files). This requires setting `-DRE2C_FOR_BUILD` to
|
||||
@@ -164,6 +225,10 @@ specific to re2c:
|
||||
Enable regeneration of parsers from *.ypp* files with bison (as opposed to
|
||||
using pre-generated bootstrap files).
|
||||
|
||||
* `-DRE2C_REBUILD_SYNTAX=yes`
|
||||
Enable regeneration of default syntax files from the ones provided in
|
||||
include/ directory (as opposed to using pre-generated bootstrap files).
|
||||
|
||||
* `-DRE2C_REBUILD_DOCS=yes`
|
||||
Enable regeneration of documentation (requires Python 3 Docutils).
|
||||
|
||||
@@ -224,3 +289,11 @@ fuzz-testing Haskell scripts in the *fuzz* subdirectory; they are based on the
|
||||
QuickCheck library and can be easily modified to fuzz-test various aspects of
|
||||
re2c by comparing current re2c version against older versions or against other
|
||||
regular expression libraries.
|
||||
|
||||
Packages
|
||||
--------
|
||||
|
||||
[Repology](https://repology.org/project/re2c/versions)
|
||||
has a list of re2c packages for different systems:
|
||||
|
||||

|
||||
|
||||
@@ -2,6 +2,315 @@ Changelog
|
||||
=========
|
||||
|
||||
|
||||
----
|
||||
4.0x
|
||||
----
|
||||
|
||||
4.1 (2025-02-16)
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Added new syntax for actions
|
||||
(`#521 <https://github.com/skvadrik/re2c/issues/521>`_).
|
||||
|
||||
- Added entry, pre-rule and post-rule actions
|
||||
(`#521 <https://github.com/skvadrik/re2c/issues/521>`_):
|
||||
|
||||
+ ``!entry`` action binds code at the start of the current finite state machine
|
||||
+ ``!pre_rule`` action prepernds code to semantic actions of all rules in the
|
||||
current block or condiiton.
|
||||
+ ``!post_rule`` action appernds code to semantic actions of all rules in the
|
||||
current block or condiiton.
|
||||
|
||||
- Added syntax file option ``special_escapes`` that describes allowed escape
|
||||
sequences (`#516 <https://github.com/skvadrik/re2c/issues/516>`_).
|
||||
|
||||
- Fixed bugs:
|
||||
|
||||
+ `#518 <https://github.com/skvadrik/re2c/issues/518>`_
|
||||
(allow using lookahead operator with captures).
|
||||
|
||||
+ `#519 <https://github.com/skvadrik/re2c/issues/519>`_
|
||||
(integer overflow caused a very long loop when generating tag names).
|
||||
|
||||
+ `#522 <https://github.com/skvadrik/re2c/issues/522>`_
|
||||
(segfault on ``!use`` directive in a block with conditions).
|
||||
|
||||
+ `#523 <https://github.com/skvadrik/re2c/issues/523>`_
|
||||
(regression with bit-vector optimization).
|
||||
|
||||
+ `#529 <https://github.com/skvadrik/re2c/issues/529>`_
|
||||
(failure to recognize escaped double quotes in character literals).
|
||||
|
||||
- OCaml backend now uses ``unsafe_get`` instead of ``get`` as the default ``YYPEEK``
|
||||
implementation.
|
||||
|
||||
- Zig backend now uses ``const`` for ``yych`` declaration in
|
||||
``--recursive-functions`` mode.
|
||||
|
||||
- Benchmarks (C/C++):
|
||||
|
||||
+ Reimplemented benchmarks using google-benchmark library.
|
||||
+ Added simple variants without buffer refill.
|
||||
+ Removed Kleenex benchmarks.
|
||||
+ Removed deprecated TDFA(0) and StaDFA algorithms.
|
||||
+ Updated benchmark results.
|
||||
|
||||
- Build system:
|
||||
|
||||
+ Migrated to Bazel 8 using bzlmod.
|
||||
|
||||
|
||||
4.0.2 (2024-12-11)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- CMake build system: fixed bug
|
||||
`#515 <https://github.com/skvadrik/re2c/issues/515>`_ where language-specific
|
||||
binaries erroneously defaulted to generating code for C.
|
||||
|
||||
- Playground: address bar now reflects navigation between examples, editors use
|
||||
a more high-contrast CSS theme.
|
||||
|
||||
|
||||
4.0.1 (2024-11-25)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Added missing doc sources to the distribution tarball
|
||||
(`#503 <https://github.com/skvadrik/re2c/issues/503>`_)
|
||||
|
||||
- Reworked C/C++ examples to avoid using new configuration aliases until the
|
||||
world has updated to re2c 4.0, made them compatible with C.
|
||||
|
||||
- A few build system changes: increased CMake minimum required version to 3.15,
|
||||
added missing dependencies on doc sources in Makefile.am.
|
||||
|
||||
- Fixed typos in docs.
|
||||
|
||||
|
||||
4.0 (2024-11-19)
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Added a generic technique for describing language backends based on the idea
|
||||
of syntax files (`#450 <https://github.com/skvadrik/re2c/issues/450>`_).
|
||||
|
||||
- Added support for new languages: D, Haskell, Java, JavaScript, OCaml, Python,
|
||||
V, Zig.
|
||||
|
||||
- Added new record API for all languages (enabled with ``--api record``,
|
||||
``re2c:api = record``) and made it the default API for Haskell and OCaml.
|
||||
|
||||
- Renamed former "default API" to "simple API", implemented it for all backends
|
||||
except Haskell and OCaml, and enabled by default API for C, D, Java,
|
||||
JavaScript, Python, V and Zig.
|
||||
|
||||
- Added new code generation model - recursive functions (enabled with
|
||||
``--recursive-functions``), primarily to be used for functional languages.
|
||||
|
||||
- Added options:
|
||||
|
||||
+ ``--syntax <file>``
|
||||
+ ``--api simple``
|
||||
+ ``--api generic``
|
||||
+ ``--api record``
|
||||
+ ``--goto-label``
|
||||
+ ``--recursive-functions``
|
||||
+ ``--lang none``
|
||||
+ ``--lang d``
|
||||
+ ``--lang haskell``
|
||||
+ ``--lang java``
|
||||
+ ``--lang js``
|
||||
+ ``--lang ocaml``
|
||||
+ ``--lang python``
|
||||
+ ``--lang v``
|
||||
+ ``--lang zig``
|
||||
+ ``--leftmost-captvars``
|
||||
+ ``--posix-captvars``
|
||||
+ ``--captvars`` (alias for ``--leftmost-captvars``)
|
||||
+ ``--captures`` (alias for ``--leftmost-captures``)
|
||||
|
||||
- Added configurations:
|
||||
|
||||
+ ``re2c:api = simple`` (alias for ``re2c:api = default``)
|
||||
+ ``re2c:api = generic`` (alias for ``re2c:api = custom``)
|
||||
+ ``re2c:api = record``
|
||||
+ ``re2c:computed-gotos`` (alias for ``re2c:cgoto``)
|
||||
+ ``re2c:cond:abort``
|
||||
+ ``re2c:tags:negative``
|
||||
+ ``re2c:leftmost-captvars``
|
||||
+ ``re2c:posix-captvars``
|
||||
+ ``re2c:captvars`` (alias for ``re2c:leftmost-captvars``)
|
||||
+ ``re2c:captures`` (alias for ``re2c:leftmost-captures``)
|
||||
+ ``re2c:monadic``
|
||||
+ ``re2c:fn:sep``
|
||||
+ ``re2c:[define:]YYFN``
|
||||
+ ``re2c:[define:]YYINPUT``
|
||||
+ ``re2c:[define:]YYGETACCEPT``
|
||||
+ ``re2c:[define:]YYSETACCEPT``
|
||||
+ ``re2c:[define:]YYCOPYSTAG``
|
||||
+ ``re2c:[define:]YYCOPYMTAG``
|
||||
+ ``re2c:[define:]YYGETCOND`` (alias for ``re2c:[define:]YYGETCONDITION``)
|
||||
+ ``re2c:[define:]YYSETCOND`` (alias for ``re2c:[define:]YYSETCONDITION``)
|
||||
+ ``re2c:[variable:]yyfill``
|
||||
+ ``re2c:[variable:]yynmatch``
|
||||
+ ``re2c:[variable:]yypmatch``
|
||||
+ ``re2c:[variable:]yych:literals``
|
||||
|
||||
- All configurations that have ``define:`` or ``variable:`` part in their name
|
||||
now have an alias without this part.
|
||||
|
||||
- Added new block types:
|
||||
|
||||
+ ``/*!svars:re2c ... */``
|
||||
+ ``/*!mvars:re2c ... */``
|
||||
|
||||
- Flex-style opening/closing braces ``%{`` and ``%}`` for block start/end
|
||||
markers now work for all block types.
|
||||
|
||||
- Added syntax file feature lists:
|
||||
|
||||
+ ``supported_apis`` with values from the list:
|
||||
``simple``, ``generic``, ``record``
|
||||
|
||||
+ ``supported_api_styles`` with values from the list:
|
||||
``free-form``, ``functions``
|
||||
|
||||
+ ``supported_code_models`` with values from the list:
|
||||
``goto-label``, ``loop-switch``, ``recursive-functions``
|
||||
|
||||
+ ``supported_targets`` with values from the list:
|
||||
``code``, ``dot``, ``skeleton``
|
||||
|
||||
+ ``supported_features`` with values from the list:
|
||||
``nested-ifs``, ``bitmaps``, ``computed-gotos``, ``case-ranges``,
|
||||
``tags``, ``captures``, ``captvars``, ``monadic``, ``unsafe``
|
||||
|
||||
- Added syntax file language-specific options:
|
||||
|
||||
+ ``semicolons``
|
||||
+ ``backtick_quoted_strings``
|
||||
+ ``single_quoted_strings``
|
||||
+ ``indentation_sensitive``
|
||||
+ ``wrap_blocks_in_braces``
|
||||
|
||||
- Added syntax file code templates:
|
||||
|
||||
+ ``code:var_local``
|
||||
+ ``code:var_global``
|
||||
+ ``code:const_local``
|
||||
+ ``code:const_global``
|
||||
+ ``code:array_local``
|
||||
+ ``code:array_global``
|
||||
+ ``code:array_elem``
|
||||
+ ``code:enum``
|
||||
+ ``code:enum_elem``
|
||||
+ ``code:assign``
|
||||
+ ``code:type_int``
|
||||
+ ``code:type_uint``
|
||||
+ ``code:type_cond_enum``
|
||||
+ ``code:type_yybm``
|
||||
+ ``code:type_yytarget``
|
||||
+ ``code:cmp_eq``
|
||||
+ ``code:cmp_ne``
|
||||
+ ``code:cmp_lt``
|
||||
+ ``code:cmp_gt``
|
||||
+ ``code:cmp_le``
|
||||
+ ``code:cmp_ge``
|
||||
+ ``code:if_then_else``
|
||||
+ ``code:if_then_else_oneline``
|
||||
+ ``code:switch``
|
||||
+ ``code:switch_cases``
|
||||
+ ``code:switch_cases_oneline``
|
||||
+ ``code:switch_case_range``
|
||||
+ ``code:switch_case_default``
|
||||
+ ``code:loop``
|
||||
+ ``code:continue``
|
||||
+ ``code:goto``
|
||||
+ ``code:fndecl``
|
||||
+ ``code:fndef``
|
||||
+ ``code:fncall``
|
||||
+ ``code:tailcall``
|
||||
+ ``code:recursive_functions``
|
||||
+ ``code:fingerprint``
|
||||
+ ``code:line_info``
|
||||
+ ``code:abort``
|
||||
+ ``code:yydebug``
|
||||
+ ``code:yypeek``
|
||||
+ ``code:yyskip``
|
||||
+ ``code:yybackup``
|
||||
+ ``code:yybackupctx``
|
||||
+ ``code:yyskip_yypeek``
|
||||
+ ``code:yypeek_yyskip``
|
||||
+ ``code:yyskip_yybackup``
|
||||
+ ``code:yybackup_yyskip``
|
||||
+ ``code:yybackup_yypeek``
|
||||
+ ``code:yyskip_yybackup_yypeek``
|
||||
+ ``code:yybackup_yypeek_yyskip``
|
||||
+ ``code:yyrestore``
|
||||
+ ``code:yyrestorectx``
|
||||
+ ``code:yyrestoretag``
|
||||
+ ``code:yyshift``
|
||||
+ ``code:yyshiftstag``
|
||||
+ ``code:yyshiftmtag``
|
||||
+ ``code:yystagp``
|
||||
+ ``code:yymtagp``
|
||||
+ ``code:yystagn``
|
||||
+ ``code:yymtagn``
|
||||
+ ``code:yycopystag``
|
||||
+ ``code:yycopymtag``
|
||||
+ ``code:yygetaccept``
|
||||
+ ``code:yysetaccept``
|
||||
+ ``code:yygetcond``
|
||||
+ ``code:yysetcond``
|
||||
+ ``code:yygetstate``
|
||||
+ ``code:yysetstate``
|
||||
+ ``code:yylessthan``
|
||||
+ ``code:yybm_filter``
|
||||
+ ``code:yybm_match``
|
||||
|
||||
- Added global variables in syntax files:
|
||||
|
||||
+ ``nl``
|
||||
+ ``indent``
|
||||
+ ``dedent``
|
||||
+ ``topindent``
|
||||
|
||||
- Added global conditionals in syntax files:
|
||||
|
||||
+ ``.api.simple``
|
||||
+ ``.api.generic``
|
||||
+ ``.api.record``
|
||||
+ ``.api_style.functions``
|
||||
+ ``.api_style.freeform``
|
||||
+ ``.case_ranges``
|
||||
+ ``.code_model.goto_label``
|
||||
+ ``.code_model.loop_switch``
|
||||
+ ``.code_model.recursive_functions``
|
||||
+ ``.date``
|
||||
+ ``.loop_label``
|
||||
+ ``.monadic``
|
||||
+ ``.start_conditions``
|
||||
+ ``.storable_state``
|
||||
+ ``.unsafe``
|
||||
+ ``.version``
|
||||
|
||||
- Added warning ``-Wundefined-syntax-config``.
|
||||
|
||||
- Warnings that indicate serious issues are now turned on by default
|
||||
(and can be disabled with ``-Wno-<warning>`` options.
|
||||
|
||||
- Added configure options:
|
||||
|
||||
+ ``--enable-syntax`` (Autoconf)
|
||||
+ ``RE2C_REBUILD_SYNTAX`` (CMake)
|
||||
|
||||
- Dropped support for function-like API style for Rust.
|
||||
(it was hard to use, if at all possible)
|
||||
|
||||
- Added online playground that allows one to run re2c in a web browser:
|
||||
https://re2c.org/playground.
|
||||
|
||||
- Infra work on Github Actions CI.
|
||||
|
||||
|
||||
----
|
||||
3.0x
|
||||
----
|
||||
|
||||
+286
-170
@@ -1,17 +1,25 @@
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
project(re2c VERSION 3.1 HOMEPAGE_URL "https://re2c.org/")
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(re2c VERSION 4.1 HOMEPAGE_URL "https://re2c.org/")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(Re2cAutotoolsHelpers)
|
||||
include(Re2cBootstrapLexer)
|
||||
include(Re2cBootstrapParser)
|
||||
include(Re2cBootstrapSyntax)
|
||||
include(Re2cBuildType)
|
||||
include(Re2cGenDocs)
|
||||
include(Re2cCompilerFlags)
|
||||
|
||||
ac_subst(PACKAGE_VERSION "${PROJECT_VERSION}")
|
||||
|
||||
# check whether re2c is the root project
|
||||
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
set(RE2C_IS_ROOT_PROJECT TRUE)
|
||||
else()
|
||||
set(RE2C_IS_ROOT_PROJECT FALSE)
|
||||
endif()
|
||||
|
||||
option(RE2C_REBUILD_LEXERS "Regenerate lexers" OFF)
|
||||
if(RE2C_REBUILD_LEXERS AND NOT RE2C_FOR_BUILD)
|
||||
message(FATAL_ERROR "option RE2C_FOR_BUILD is required for RE2C_REBUILD_LEXERS")
|
||||
@@ -22,22 +30,32 @@ if(RE2C_REBUILD_PARSERS AND NOT RE2C_FOR_BUILD)
|
||||
find_package(BISON REQUIRED)
|
||||
endif()
|
||||
|
||||
option(RE2C_REBUILD_SYNTAX "Regenerate default syntax files" OFF)
|
||||
option(RE2C_REBUILD_DOCS "Regenerate manpage" OFF)
|
||||
option(RE2C_BUILD_LIBS "Build libraries" OFF)
|
||||
|
||||
|
||||
option(RE2C_BUILD_RE2D "Build re2d executable (an alias for `re2c --lang d`)" ON)
|
||||
option(RE2C_BUILD_RE2GO "Build re2go executable (an alias for `re2c --lang go`)" ON)
|
||||
option(RE2C_BUILD_RE2HS "Build re2hs executable (an alias for `re2c --lang haskell`)" ON)
|
||||
option(RE2C_BUILD_RE2JAVA "Build re2java executable (an alias for `re2c --lang java`)" ON)
|
||||
option(RE2C_BUILD_RE2JS "Build re2js executable (an alias for `re2c --lang js`)" ON)
|
||||
option(RE2C_BUILD_RE2OCAML "Build re2ocaml executable (an alias for `re2c --lang ocaml`)" ON)
|
||||
option(RE2C_BUILD_RE2PY "Build re2py executable (an alias for `re2c --lang python`)" ON)
|
||||
option(RE2C_BUILD_RE2RUST "Build re2rust executable (an alias for `re2c --lang rust`)" ON)
|
||||
option(RE2C_BUILD_RE2V "Build re2v executable (an alias for `re2c --lang v`)" ON)
|
||||
option(RE2C_BUILD_RE2ZIG "Build re2zig executable (an alias for `re2c --lang zig`)" ON)
|
||||
|
||||
option(RE2C_BUILD_BENCHMARKS "Build benchmarks" OFF)
|
||||
option(RE2C_REGEN_BENCHMARKS "Regenerate C code for benchmarks" OFF)
|
||||
|
||||
# test targets are enabled by default only if re2c is the root project
|
||||
option(RE2C_BUILD_TESTS "Build tests" "${RE2C_IS_ROOT_PROJECT}")
|
||||
|
||||
# checks for programs
|
||||
find_package(Python3 COMPONENTS Interpreter)
|
||||
# starting from cmake 3.19 find_package can do version check, but we are on 3.12
|
||||
if(Python3_VERSION VERSION_LESS 3.7)
|
||||
message(FATAL_ERROR "python version 3.7 or higher is required")
|
||||
if(RE2C_REBUILD_DOCS OR RE2C_BUILD_TESTS OR RE2C_BUILD_BENCHMARKS)
|
||||
find_package(Python3 3.7 REQUIRED COMPONENTS Interpreter)
|
||||
endif()
|
||||
|
||||
if(RE2C_REBUILD_DOCS)
|
||||
execute_process(
|
||||
COMMAND "${Python3_EXECUTABLE}" -c "import docutils"
|
||||
@@ -65,26 +83,50 @@ ac_check_headers("unistd.h")
|
||||
ac_check_headers("io.h")
|
||||
|
||||
# docs (manpages and help)
|
||||
set(re2c_manpage_source "${CMAKE_CURRENT_BINARY_DIR}/doc/manpage.rst")
|
||||
set(re2c_help_source "${CMAKE_CURRENT_BINARY_DIR}/doc/help.rst")
|
||||
set(re2c_manpage_bootstrap_c "${CMAKE_CURRENT_SOURCE_DIR}/bootstrap/doc/re2c.1")
|
||||
set(re2c_manpage_bootstrap_go "${CMAKE_CURRENT_SOURCE_DIR}/bootstrap/doc/re2go.1")
|
||||
set(re2c_manpage_bootstrap_rust "${CMAKE_CURRENT_SOURCE_DIR}/bootstrap/doc/re2rust.1")
|
||||
set(re2c_help_bootstrap "${CMAKE_CURRENT_SOURCE_DIR}/bootstrap/src/msg/help.cc")
|
||||
set(re2c_manpage_c "${CMAKE_CURRENT_BINARY_DIR}/doc/re2c.1")
|
||||
set(re2c_manpage_go "${CMAKE_CURRENT_BINARY_DIR}/doc/re2go.1")
|
||||
set(re2c_manpage_rust "${CMAKE_CURRENT_BINARY_DIR}/doc/re2rust.1")
|
||||
set(re2c_help "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help.cc")
|
||||
set(re2c_rst2man "${CMAKE_CURRENT_SOURCE_DIR}/build/rst2man.py")
|
||||
set(re2c_rst2txt "${CMAKE_CURRENT_SOURCE_DIR}/build/rst2txt.py")
|
||||
set(re2c_splitman "${CMAKE_CURRENT_SOURCE_DIR}/build/split_man.py")
|
||||
set(re2c_manpage_source "${CMAKE_CURRENT_BINARY_DIR}/doc/manpage.rst")
|
||||
set(re2c_help_source "${CMAKE_CURRENT_BINARY_DIR}/doc/help.rst")
|
||||
set(re2c_manpage_c "${CMAKE_CURRENT_BINARY_DIR}/doc/re2c.1")
|
||||
set(re2c_manpage_d "${CMAKE_CURRENT_BINARY_DIR}/doc/re2d.1")
|
||||
set(re2c_manpage_go "${CMAKE_CURRENT_BINARY_DIR}/doc/re2go.1")
|
||||
set(re2c_manpage_haskell "${CMAKE_CURRENT_BINARY_DIR}/doc/re2hs.1")
|
||||
set(re2c_manpage_java "${CMAKE_CURRENT_BINARY_DIR}/doc/re2java.1")
|
||||
set(re2c_manpage_js "${CMAKE_CURRENT_BINARY_DIR}/doc/re2js.1")
|
||||
set(re2c_manpage_ocaml "${CMAKE_CURRENT_BINARY_DIR}/doc/re2ocaml.1")
|
||||
set(re2c_manpage_python "${CMAKE_CURRENT_BINARY_DIR}/doc/re2py.1")
|
||||
set(re2c_manpage_rust "${CMAKE_CURRENT_BINARY_DIR}/doc/re2rust.1")
|
||||
set(re2c_manpage_v "${CMAKE_CURRENT_BINARY_DIR}/doc/re2v.1")
|
||||
set(re2c_manpage_zig "${CMAKE_CURRENT_BINARY_DIR}/doc/re2zig.1")
|
||||
set(re2c_help_c "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2c.cc")
|
||||
set(re2c_help_d "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2d.cc")
|
||||
set(re2c_help_go "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2go.cc")
|
||||
set(re2c_help_haskell "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2hs.cc")
|
||||
set(re2c_help_java "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2java.cc")
|
||||
set(re2c_help_js "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2js.cc")
|
||||
set(re2c_help_ocaml "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2ocaml.cc")
|
||||
set(re2c_help_python "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2py.cc")
|
||||
set(re2c_help_rust "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2rust.cc")
|
||||
set(re2c_help_v "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2v.cc")
|
||||
set(re2c_help_zig "${CMAKE_CURRENT_BINARY_DIR}/src/msg/help_re2zig.cc")
|
||||
set(re2c_rst2man "${CMAKE_CURRENT_SOURCE_DIR}/build/rst2man.py")
|
||||
set(re2c_rst2txt "${CMAKE_CURRENT_SOURCE_DIR}/build/rst2txt.py")
|
||||
set(re2c_splitman "${CMAKE_CURRENT_SOURCE_DIR}/build/split_man.py")
|
||||
set(re2c_docs
|
||||
"${re2c_help}"
|
||||
"${re2c_manpage_c}"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2D}>:${re2c_manpage_d}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2GO}>:${re2c_manpage_go}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2HS}>:${re2c_manpage_haskell}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2JAVA}>:${re2c_manpage_java}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2JS}>:${re2c_manpage_js}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2OCAML}>:${re2c_manpage_ocaml}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2PY}>:${re2c_manpage_python}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2RUST}>:${re2c_manpage_rust}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2V}>:${re2c_manpage_v}>"
|
||||
"$<$<BOOL:${RE2C_BUILD_RE2ZIG}>:${re2c_manpage_zig}>"
|
||||
)
|
||||
|
||||
# syntax files
|
||||
set(re2c_stx2cpp "${CMAKE_CURRENT_SOURCE_DIR}/build/stx2cpp.py")
|
||||
|
||||
set(top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(top_builddir "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
set(PYTHON "${Python3_EXECUTABLE}")
|
||||
@@ -92,10 +134,12 @@ set(PYTHON "${Python3_EXECUTABLE}")
|
||||
configure_file(doc/manpage.rst.in doc/manpage.rst @ONLY)
|
||||
configure_file(doc/help.rst.in doc/help.rst @ONLY)
|
||||
|
||||
configure_file(run_tests.py.in run_tests.py @ONLY)
|
||||
set(RE2C_RUN_TESTS "${CMAKE_CURRENT_BINARY_DIR}/run_tests.py")
|
||||
if(CMAKE_HOST_UNIX)
|
||||
execute_process(COMMAND chmod +x "${RE2C_RUN_TESTS}")
|
||||
if(RE2C_BUILD_TESTS)
|
||||
configure_file(run_tests.py.in run_tests.py @ONLY)
|
||||
set(RE2C_RUN_TESTS "${CMAKE_CURRENT_BINARY_DIR}/run_tests.py")
|
||||
if(CMAKE_HOST_UNIX)
|
||||
execute_process(COMMAND chmod +x "${RE2C_RUN_TESTS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
ac_config_headers("config.h")
|
||||
@@ -113,12 +157,25 @@ include_directories(. "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
# WARNING: custom target that depends on autogenerated sources won't do here
|
||||
# as its dependencies get built multiple times, which ruins parallel builds.
|
||||
add_library(re2c_objects_autogen OBJECT
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/options/parse_opts.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/lexer.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/lexer.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/parser.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/parser.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/lex.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/lex.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/lex_conf.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/options/parse_opts.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/conf_lexer.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/conf_parser.cc"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/parse/conf_parser.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_c.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_d.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_go.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_haskell.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_java.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_js.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_ocaml.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_python.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_rust.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_v.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/src/default_syntax_zig.h"
|
||||
"${re2c_docs}"
|
||||
)
|
||||
add_library(re2c_objects_autogen_ver_to_vernum OBJECT
|
||||
@@ -189,156 +246,207 @@ set(re2c_sources
|
||||
$<TARGET_OBJECTS:re2c_objects_autogen_ver_to_vernum>
|
||||
)
|
||||
|
||||
re2c_bootstrap_lexer("src/msg/ver_to_vernum.re" "src/msg/ver_to_vernum.cc")
|
||||
re2c_bootstrap_lexer("src/options/parse_opts.re" "src/options/parse_opts.cc")
|
||||
re2c_bootstrap_lexer("src/parse/lexer.re" "src/parse/lexer.cc" "src/parse/lexer.h")
|
||||
re2c_bootstrap_parser("src/parse/parser.ypp" "src/parse/parser.cc" "src/parse/parser.h")
|
||||
re2c_bootstrap_lexer("src/parse/conf_lexer.re" "src/parse/conf_lexer.cc")
|
||||
re2c_bootstrap_parser("src/parse/conf_parser.ypp" "src/parse/conf_parser.cc" "src/parse/conf_parser.h")
|
||||
|
||||
re2c_bootstrap_syntax("include/syntax/c" "src/default_syntax_c.h")
|
||||
re2c_bootstrap_syntax("include/syntax/d" "src/default_syntax_d.h")
|
||||
re2c_bootstrap_syntax("include/syntax/go" "src/default_syntax_go.h")
|
||||
re2c_bootstrap_syntax("include/syntax/haskell" "src/default_syntax_haskell.h")
|
||||
re2c_bootstrap_syntax("include/syntax/java" "src/default_syntax_java.h")
|
||||
re2c_bootstrap_syntax("include/syntax/js" "src/default_syntax_js.h")
|
||||
re2c_bootstrap_syntax("include/syntax/ocaml" "src/default_syntax_ocaml.h")
|
||||
re2c_bootstrap_syntax("include/syntax/python" "src/default_syntax_python.h")
|
||||
re2c_bootstrap_syntax("include/syntax/rust" "src/default_syntax_rust.h")
|
||||
re2c_bootstrap_syntax("include/syntax/v" "src/default_syntax_v.h")
|
||||
re2c_bootstrap_syntax("include/syntax/zig" "src/default_syntax_zig.h")
|
||||
|
||||
# docs
|
||||
file(GLOB_RECURSE re2c_docs_sources CONFIGURE_DEPENDS
|
||||
"examples/*"
|
||||
"doc/manual/*"
|
||||
"${re2c_manpage_source}"
|
||||
)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_c}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_c}")
|
||||
add_custom_target(docs DEPENDS "${re2c_docs}")
|
||||
|
||||
# re2c
|
||||
add_executable(re2c ${re2c_sources})
|
||||
add_executable(re2c ${re2c_sources} "${re2c_help_c}")
|
||||
|
||||
# re2d
|
||||
if (RE2C_BUILD_RE2D)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_d}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_d}")
|
||||
add_executable(re2d ${re2c_sources} "${re2c_help_d}")
|
||||
target_compile_definitions(re2d PUBLIC
|
||||
"RE2C_LANG=Lang::D"
|
||||
"RE2C_PROG=\"re2d\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2go
|
||||
if (RE2C_BUILD_RE2GO)
|
||||
add_executable(re2go ${re2c_sources})
|
||||
target_compile_definitions(re2go PUBLIC "RE2C_LANG=Lang::GO")
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_go}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_go}")
|
||||
add_executable(re2go ${re2c_sources} "${re2c_help_go}")
|
||||
target_compile_definitions(re2go PUBLIC
|
||||
"RE2C_LANG=Lang::GO"
|
||||
"RE2C_PROG=\"re2go\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2hs
|
||||
if (RE2C_BUILD_RE2HS)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_haskell}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_haskell}")
|
||||
add_executable(re2hs ${re2c_sources} "${re2c_help_haskell}")
|
||||
target_compile_definitions(re2hs PUBLIC
|
||||
"RE2C_LANG=Lang::HASKELL"
|
||||
"RE2C_PROG=\"re2hs\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2java
|
||||
if (RE2C_BUILD_RE2JAVA)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_java}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_java}")
|
||||
add_executable(re2java ${re2c_sources} "${re2c_help_java}")
|
||||
target_compile_definitions(re2java PUBLIC
|
||||
"RE2C_LANG=Lang::JAVA"
|
||||
"RE2C_PROG=\"re2java\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2js
|
||||
if (RE2C_BUILD_RE2JS)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_js}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_js}")
|
||||
add_executable(re2js ${re2c_sources} "${re2c_help_js}")
|
||||
target_compile_definitions(re2js PUBLIC
|
||||
"RE2C_LANG=Lang::JS"
|
||||
"RE2C_PROG=\"re2js\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2ocaml
|
||||
if (RE2C_BUILD_RE2OCAML)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_ocaml}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_ocaml}")
|
||||
add_executable(re2ocaml ${re2c_sources} "${re2c_help_ocaml}")
|
||||
target_compile_definitions(re2ocaml PUBLIC
|
||||
"RE2C_LANG=Lang::OCAML"
|
||||
"RE2C_PROG=\"re2ocaml\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2py
|
||||
if (RE2C_BUILD_RE2PY)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_python}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_python}")
|
||||
add_executable(re2py ${re2c_sources} "${re2c_help_python}")
|
||||
target_compile_definitions(re2py PUBLIC
|
||||
"RE2C_LANG=Lang::PYTHON"
|
||||
"RE2C_PROG=\"re2py\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# re2rust
|
||||
if (RE2C_BUILD_RE2RUST)
|
||||
add_executable(re2rust ${re2c_sources})
|
||||
target_compile_definitions(re2rust PUBLIC "RE2C_LANG=Lang::RUST")
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_rust}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_rust}")
|
||||
add_executable(re2rust ${re2c_sources} "${re2c_help_rust}")
|
||||
target_compile_definitions(re2rust PUBLIC
|
||||
"RE2C_LANG=Lang::RUST"
|
||||
"RE2C_PROG=\"re2rust\""
|
||||
)
|
||||
endif()
|
||||
|
||||
re2c_bootstrap_lexer("src/parse/lex.re" "src/parse/lex.cc" "src/parse/lex.h")
|
||||
re2c_bootstrap_lexer("src/parse/lex_conf.re" "src/parse/lex_conf.cc")
|
||||
re2c_bootstrap_lexer("src/options/parse_opts.re" "src/options/parse_opts.cc")
|
||||
re2c_bootstrap_lexer("src/msg/ver_to_vernum.re" "src/msg/ver_to_vernum.cc")
|
||||
re2c_bootstrap_parser("src/parse/parser.ypp" "src/parse/parser.cc" "src/parse/parser.h")
|
||||
# re2v
|
||||
if (RE2C_BUILD_RE2V)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_v}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_v}")
|
||||
add_executable(re2v ${re2c_sources} "${re2c_help_v}")
|
||||
target_compile_definitions(re2v PUBLIC
|
||||
"RE2C_LANG=Lang::V"
|
||||
"RE2C_PROG=\"re2v\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# docs
|
||||
set(re2c_docs_sources
|
||||
"${re2c_manpage_source}"
|
||||
"doc/manual/api/interface.rst_"
|
||||
"doc/manual/conditions/blocks.rst_"
|
||||
"doc/manual/conditions/conditions.rst_"
|
||||
"doc/manual/configurations/configurations.rst_"
|
||||
"doc/manual/directives/directives.rst_"
|
||||
"doc/manual/dot/dot.rst_"
|
||||
"doc/manual/encodings/encodings.rst_"
|
||||
"doc/manual/eof/01_sentinel.rst_"
|
||||
"doc/manual/eof/02_bounds_checking.rst_"
|
||||
"doc/manual/eof/03_eof_rule.rst_"
|
||||
"doc/manual/eof/04_generic_api.rst_"
|
||||
"doc/manual/eof/eof.rst_"
|
||||
"doc/manual/fill/01_fill.rst_"
|
||||
"doc/manual/fill/02_fill.rst_"
|
||||
"doc/manual/fill/fill.rst_"
|
||||
"doc/manual/headers/headers.rst_"
|
||||
"doc/manual/includes/includes.rst_"
|
||||
"doc/manual/options/debug.rst_"
|
||||
"doc/manual/options/internal.rst_"
|
||||
"doc/manual/options/options.rst_"
|
||||
"doc/manual/regexps/regular_expressions.rst_"
|
||||
"doc/manual/reuse/reuse.rst_"
|
||||
"doc/manual/skeleton/skeleton.rst_"
|
||||
"doc/manual/state/state.rst_"
|
||||
"doc/manual/submatch/submatch_example_mtags.rst_"
|
||||
"doc/manual/submatch/submatch_example_posix.rst_"
|
||||
"doc/manual/submatch/submatch_example_stags_fill.rst_"
|
||||
"doc/manual/submatch/submatch_example_stags.rst_"
|
||||
"doc/manual/submatch/submatch.rst_"
|
||||
"doc/manual/synopsis.rst_"
|
||||
"doc/manual/syntax/api1.rst_"
|
||||
"doc/manual/syntax/api2_c.rst_"
|
||||
"doc/manual/syntax/api2_go.rst_"
|
||||
"doc/manual/syntax/api2_rust.rst_"
|
||||
"doc/manual/syntax/api3.rst_"
|
||||
"doc/manual/syntax/intro.rst_"
|
||||
"doc/manual/syntax/syntax.rst_"
|
||||
"doc/manual/warnings/warnings_general.rst_"
|
||||
"doc/manual/warnings/warnings_list.rst_"
|
||||
"examples/c/01_basic.re"
|
||||
"examples/c/01_basic.c"
|
||||
"examples/c/conditions/parse_u32_blocks.re"
|
||||
"examples/c/conditions/parse_u32_conditions.re"
|
||||
"examples/c/encodings/unicode_identifier.re"
|
||||
"examples/c/eof/01_sentinel.re"
|
||||
"examples/c/eof/02_bounds_checking.re"
|
||||
"examples/c/eof/03_eof_rule.re"
|
||||
"examples/c/eof/05_generic_api_eof_rule.re"
|
||||
"examples/c/fill/01_fill.re"
|
||||
"examples/c/fill/02_fill.re"
|
||||
"examples/c/headers/header.re"
|
||||
"examples/c/headers/lexer/state.h"
|
||||
"examples/c/includes/include.re"
|
||||
"examples/c/includes/definitions.h"
|
||||
"examples/c/reuse/reuse.re"
|
||||
"examples/c/reuse/usedir.re"
|
||||
"examples/c/state/push.re"
|
||||
"examples/c/submatch/01_stags_fill.re"
|
||||
"examples/c/submatch/01_stags.re"
|
||||
"examples/c/submatch/02_mtags.re"
|
||||
"examples/c/submatch/03_posix.re"
|
||||
"examples/go/01_basic.re"
|
||||
"examples/go/01_basic.go"
|
||||
"examples/go/conditions/parse_u32_blocks.re"
|
||||
"examples/go/conditions/parse_u32_conditions.re"
|
||||
"examples/go/encodings/unicode_identifier.re"
|
||||
"examples/go/eof/01_sentinel.re"
|
||||
"examples/go/eof/02_bounds_checking.re"
|
||||
"examples/go/eof/03_eof_rule.re"
|
||||
"examples/go/eof/05_generic_api_eof_rule.re"
|
||||
"examples/go/fill/01_fill.re"
|
||||
"examples/go/fill/02_fill.re"
|
||||
"examples/go/headers/header.re"
|
||||
"examples/go/headers/lexer/state.go"
|
||||
"examples/go/includes/include.re"
|
||||
"examples/go/includes/definitions.go"
|
||||
"examples/go/reuse/reuse.re"
|
||||
"examples/go/reuse/usedir.re"
|
||||
"examples/go/state/push.re"
|
||||
"examples/go/submatch/01_stags_fill.re"
|
||||
"examples/go/submatch/01_stags.re"
|
||||
"examples/go/submatch/02_mtags.re"
|
||||
"examples/go/submatch/03_posix.re"
|
||||
"examples/rust/01_basic.re"
|
||||
"examples/rust/01_basic.rs"
|
||||
"examples/rust/conditions/parse_u32_blocks.re"
|
||||
"examples/rust/conditions/parse_u32_conditions.re"
|
||||
"examples/rust/encodings/unicode_identifier.re"
|
||||
"examples/rust/eof/01_sentinel.re"
|
||||
"examples/rust/eof/02_bounds_checking.re"
|
||||
"examples/rust/eof/03_eof_rule.re"
|
||||
"examples/rust/eof/05_generic_api_eof_rule.re"
|
||||
"examples/rust/fill/01_fill.re"
|
||||
"examples/rust/fill/02_fill.re"
|
||||
"examples/rust/headers/header.re"
|
||||
"examples/rust/headers/lexer/state.rs"
|
||||
"examples/rust/includes/include.re"
|
||||
"examples/rust/includes/definitions.rs"
|
||||
"examples/rust/reuse/reuse.re"
|
||||
"examples/rust/reuse/usedir.re"
|
||||
"examples/rust/state/push.re"
|
||||
"examples/rust/submatch/01_stags_fill.re"
|
||||
"examples/rust/submatch/01_stags.re"
|
||||
"examples/rust/submatch/02_mtags.re"
|
||||
"examples/rust/submatch/03_posix.re"
|
||||
)
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_c}" "${re2c_manpage_bootstrap_c}" "c")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_go}" "${re2c_manpage_bootstrap_go}" "go")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_rust}" "${re2c_manpage_bootstrap_rust}" "rust")
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help}" "${re2c_help_bootstrap}")
|
||||
add_custom_target(docs DEPENDS "${re2c_docs}")
|
||||
# re2zig
|
||||
if (RE2C_BUILD_RE2ZIG)
|
||||
re2c_gen_help("${re2c_help_source}" "${re2c_help_zig}")
|
||||
re2c_gen_manpage("${re2c_manpage_source}" "${re2c_manpage_zig}")
|
||||
add_executable(re2zig ${re2c_sources} "${re2c_help_zig}")
|
||||
target_compile_definitions(re2zig PUBLIC
|
||||
"RE2C_LANG=Lang::ZIG"
|
||||
"RE2C_PROG=\"re2zig\""
|
||||
)
|
||||
endif()
|
||||
|
||||
# install and test targets are enabled only if re2c is the root project
|
||||
if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
# install targets are enabled only if re2c is the root project
|
||||
if(RE2C_IS_ROOT_PROJECT)
|
||||
# install
|
||||
install(TARGETS re2c RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_c}" DESTINATION "share/man/man1")
|
||||
if(RE2C_BUILD_RE2D)
|
||||
install(TARGETS re2d RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_d}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2GO)
|
||||
install(TARGETS re2go RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_go}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2HS)
|
||||
install(TARGETS re2hs RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_haskell}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2JAVA)
|
||||
install(TARGETS re2java RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_java}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2JS)
|
||||
install(TARGETS re2js RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_js}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2OCAML)
|
||||
install(TARGETS re2ocaml RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_ocaml}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2PY)
|
||||
install(TARGETS re2py RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_python}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2RUST)
|
||||
install(TARGETS re2rust RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_rust}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
install(FILES include/unicode_categories.re DESTINATION "${RE2C_STDLIB_DIR}")
|
||||
if(RE2C_BUILD_RE2V)
|
||||
install(TARGETS re2v RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_v}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
if(RE2C_BUILD_RE2ZIG)
|
||||
install(TARGETS re2zig RUNTIME DESTINATION bin)
|
||||
install(FILES "${re2c_manpage_zig}" DESTINATION "share/man/man1")
|
||||
endif()
|
||||
install(FILES
|
||||
include/syntax/c
|
||||
include/syntax/d
|
||||
include/syntax/go
|
||||
include/syntax/haskell
|
||||
include/syntax/java
|
||||
include/syntax/js
|
||||
include/syntax/ocaml
|
||||
include/syntax/python
|
||||
include/syntax/rust
|
||||
include/syntax/v
|
||||
include/syntax/zig
|
||||
include/unicode_categories.re
|
||||
DESTINATION "${RE2C_STDLIB_DIR}")
|
||||
|
||||
# rebuild all re2c sources using newly built re2c
|
||||
add_custom_target(bootstrap
|
||||
@@ -346,7 +454,9 @@ if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove_directory "doc"
|
||||
COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(RE2C_BUILD_TESTS)
|
||||
# tests
|
||||
add_custom_target(tests
|
||||
DEPENDS "${RE2C_RUN_TESTS}"
|
||||
@@ -366,6 +476,9 @@ if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
COMMAND "${Python3_EXECUTABLE}" "${RE2C_RUN_TESTS}" --wine -j1
|
||||
)
|
||||
add_dependencies(wtests re2c)
|
||||
add_executable(re2c_test_list
|
||||
src/test/list/test.cc
|
||||
)
|
||||
add_executable(re2c_test_range
|
||||
src/test/range/test-impl.h
|
||||
src/test/range/test.cc
|
||||
@@ -383,9 +496,9 @@ if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
)
|
||||
add_executable(re2c_test_argsubst
|
||||
src/test/argsubst/test.cc
|
||||
src/codegen/helpers.cc
|
||||
)
|
||||
add_custom_target(check_re2c
|
||||
COMMAND ./re2c_test_list
|
||||
COMMAND ./re2c_test_range
|
||||
COMMAND ./re2c_test_s_to_n32_unsafe
|
||||
COMMAND ./re2c_test_ver_to_vernum
|
||||
@@ -510,29 +623,32 @@ if (RE2C_BUILD_LIBS)
|
||||
endif()
|
||||
|
||||
# libre2c test
|
||||
add_executable(test_libre2c lib/test.cc)
|
||||
target_link_libraries(test_libre2c libre2c)
|
||||
target_link_libraries(test_libre2c test_libre2c_objects_autogen)
|
||||
add_custom_target(check_libre2c
|
||||
COMMAND ./test_libre2c
|
||||
)
|
||||
if(RE2C_BUILD_TESTS)
|
||||
add_executable(test_libre2c lib/test.cc)
|
||||
target_link_libraries(test_libre2c libre2c)
|
||||
target_link_libraries(test_libre2c test_libre2c_objects_autogen)
|
||||
add_custom_target(check_libre2c
|
||||
COMMAND ./test_libre2c
|
||||
)
|
||||
endif()
|
||||
|
||||
if(RE2C_BUILD_BENCHMARKS)
|
||||
add_subdirectory(benchmarks/submatch_nfa)
|
||||
add_subdirectory(benchmarks/submatch_dfa_jit)
|
||||
add_subdirectory(benchmarks/submatch_java)
|
||||
add_subdirectory(benchmarks/c/libre2c/nfa)
|
||||
add_subdirectory(benchmarks/c/libre2c/jit)
|
||||
add_subdirectory(benchmarks/c/libre2c/java)
|
||||
endif()
|
||||
else()
|
||||
# empty check target
|
||||
add_custom_target(check_libre2c)
|
||||
if(RE2C_BUILD_TESTS)
|
||||
add_custom_target(check_libre2c)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(RE2C_BUILD_BENCHMARKS)
|
||||
add_subdirectory(benchmarks/submatch_dfa_aot)
|
||||
add_subdirectory(benchmarks/c)
|
||||
endif()
|
||||
|
||||
# only add check target if toplevel project
|
||||
if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
if(RE2C_BUILD_TESTS)
|
||||
add_custom_target(check)
|
||||
add_dependencies(check check_re2c check_libre2c)
|
||||
endif()
|
||||
|
||||
+107
-11
@@ -11,8 +11,16 @@
|
||||
"hidden": true,
|
||||
"installDir": "${sourceDir}/install-2",
|
||||
"cacheVariables": {
|
||||
"RE2C_BUILD_RE2D": true,
|
||||
"RE2C_BUILD_RE2GO": true,
|
||||
"RE2C_BUILD_RE2HS": true,
|
||||
"RE2C_BUILD_RE2JAVA": true,
|
||||
"RE2C_BUILD_RE2JS": true,
|
||||
"RE2C_BUILD_RE2OCAML": true,
|
||||
"RE2C_BUILD_RE2PY": true,
|
||||
"RE2C_BUILD_RE2RUST": true,
|
||||
"RE2C_BUILD_RE2V": true,
|
||||
"RE2C_BUILD_RE2ZIG": true,
|
||||
"RE2C_BUILD_LIBS": true,
|
||||
"RE2C_REBUILD_LEXERS": true,
|
||||
"RE2C_REBUILD_DOCS": true,
|
||||
@@ -48,8 +56,16 @@
|
||||
"CMAKE_BUILD_TYPE": "Ubsan",
|
||||
"CMAKE_C_FLAGS": "-O2",
|
||||
"CMAKE_CXX_FLAGS": "-O2",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -67,8 +83,16 @@
|
||||
"CMAKE_BUILD_TYPE": "Asan",
|
||||
"CMAKE_C_FLAGS": "-O2",
|
||||
"CMAKE_CXX_FLAGS": "-O2",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -86,8 +110,16 @@
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_C_FLAGS": "-O2",
|
||||
"CMAKE_CXX_FLAGS": "-O2",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -111,8 +143,16 @@
|
||||
"CMAKE_CXX_FLAGS": "-O2 -m32",
|
||||
"CMAKE_EXE_LINKER_FLAGS": "-m32",
|
||||
"CMAKE_SHARED_LINKER_FLAGS": "-m32",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -128,8 +168,16 @@
|
||||
"installDir": "${sourceDir}/install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -177,8 +225,16 @@
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_C_FLAGS": "-O2",
|
||||
"CMAKE_CXX_FLAGS": "-O2",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -196,8 +252,16 @@
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_C_FLAGS": "-O2",
|
||||
"CMAKE_CXX_FLAGS": "-O2",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -213,8 +277,16 @@
|
||||
"installDir": "${sourceDir}/install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -250,8 +322,16 @@
|
||||
"installDir": "${sourceDir}/install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -267,8 +347,16 @@
|
||||
"installDir": "${sourceDir}/install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -284,8 +372,16 @@
|
||||
"installDir": "${sourceDir}/install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"RE2C_BUILD_RE2D": false,
|
||||
"RE2C_BUILD_RE2GO": false,
|
||||
"RE2C_BUILD_RE2RUST": false
|
||||
"RE2C_BUILD_RE2HS": false,
|
||||
"RE2C_BUILD_RE2JAVA": false,
|
||||
"RE2C_BUILD_RE2JS": false,
|
||||
"RE2C_BUILD_RE2OCAML": false,
|
||||
"RE2C_BUILD_RE2PY": false,
|
||||
"RE2C_BUILD_RE2RUST": false,
|
||||
"RE2C_BUILD_RE2V": false,
|
||||
"RE2C_BUILD_RE2ZIG": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -47,6 +47,10 @@ with options `--enable-parsers` (Autotools) or `-DRE2C_REBUILD_PARSERS=ON`
|
||||
(CMake). In this case `bison` must be installed on the system. Otherwise
|
||||
Autoconf or CMake will fail at configuration stage.
|
||||
|
||||
For changes that affect syntax files, regeneration mode is configured
|
||||
with options `--enable-syntax` (Autotools) or `-DRE2C_REBUILD_SYNTAX=ON`
|
||||
(CMake).
|
||||
|
||||
For changes that update documentation, it is necessary to rebuild the bootstrap
|
||||
manpages by reconfiguring and rebuilding re2c with options `--enable-docs`
|
||||
(Autotools) or `-DRE2C_REBUILD_DOCS=ON` (CMake).
|
||||
|
||||
@@ -41,6 +41,6 @@ requires some research. Does TDFA present any special difficulties?
|
||||
## Location support
|
||||
|
||||
It would be good to have something like Bison locations (automatic tracking of
|
||||
line/column/filename inforamtion). This is primarily useful for tokenizers and
|
||||
line/column/filename information). This is primarily useful for tokenizers and
|
||||
large lexers.
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
module(
|
||||
name = "re2c",
|
||||
version = "4.0.2",
|
||||
compatibility_level = 4,
|
||||
bazel_compatibility = [">=7.0.0"]
|
||||
)
|
||||
|
||||
bazel_dep(name = "bazel_skylib", version = "1.7.1")
|
||||
bazel_dep(name = "rules_cc", version = "0.0.17")
|
||||
+492
-142
@@ -130,146 +130,340 @@ re2c_SOURCES = \
|
||||
$(re2c_SRC)
|
||||
|
||||
# autogenerated sources
|
||||
re2c_GEN_HELP = src/msg/help.cc
|
||||
re2c_GEN_LEX = src/parse/lex.cc
|
||||
re2c_GEN_PARSER = src/parse/parser.cc
|
||||
re2c_GEN_PARSER_HDR = src/parse/parser.h
|
||||
re2c_GEN_VER_TO_VERNUM = src/msg/ver_to_vernum.cc
|
||||
re2c_GEN_SRC = \
|
||||
$(re2c_GEN_HELP) \
|
||||
$(re2c_GEN_LEX) \
|
||||
$(re2c_GEN_PARSER) \
|
||||
$(re2c_GEN_VER_TO_VERNUM) \
|
||||
src/parse/lex_conf.cc \
|
||||
src/options/parse_opts.cc
|
||||
src/msg/ver_to_vernum.cc \
|
||||
src/options/parse_opts.cc \
|
||||
src/parse/lexer.cc \
|
||||
src/parse/parser.cc \
|
||||
src/parse/conf_lexer.cc \
|
||||
src/parse/conf_parser.cc
|
||||
re2c_GEN_HDR = \
|
||||
src/parse/lex.h \
|
||||
$(re2c_GEN_PARSER_HDR)
|
||||
src/parse/parser.h \
|
||||
src/parse/conf_parser.h \
|
||||
src/parse/lexer.h
|
||||
re2c_GEN_STX = \
|
||||
src/default_syntax_c.h \
|
||||
src/default_syntax_d.h \
|
||||
src/default_syntax_go.h \
|
||||
src/default_syntax_haskell.h \
|
||||
src/default_syntax_java.h \
|
||||
src/default_syntax_js.h \
|
||||
src/default_syntax_ocaml.h \
|
||||
src/default_syntax_python.h \
|
||||
src/default_syntax_rust.h \
|
||||
src/default_syntax_v.h \
|
||||
src/default_syntax_zig.h
|
||||
re2c_GEN = \
|
||||
$(re2c_GEN_SRC) \
|
||||
$(re2c_GEN_HDR)
|
||||
nodist_re2c_SOURCES = $(re2c_GEN)
|
||||
$(re2c_GEN_HDR) \
|
||||
$(re2c_GEN_STX)
|
||||
nodist_re2c_SOURCES = \
|
||||
$(re2c_GEN) \
|
||||
src/msg/help_re2c.cc
|
||||
|
||||
# custom rules create headers and must go before normal rules
|
||||
BUILT_SOURCES = $(re2c_GEN_SRC)
|
||||
BUILT_SOURCES = $(re2c_GEN_SRC) $(re2c_GEN_STX)
|
||||
|
||||
# bootstrap sources
|
||||
re2c_BOOT_PARSER = bootstrap/src/parse/parser.cc
|
||||
re2c_BOOT_PARSER_HDR = bootstrap/src/parse/parser.h
|
||||
re2c_BOOT_DOC_C = bootstrap/doc/re2c.1
|
||||
re2c_BOOT_DOC_GO = bootstrap/doc/re2go.1
|
||||
re2c_BOOT_DOC_RUST = bootstrap/doc/re2rust.1
|
||||
re2c_BOOT_HELP = bootstrap/src/msg/help.cc
|
||||
re2c_BOOT = \
|
||||
$(re2c_BOOT_DOC_C) \
|
||||
$(re2c_BOOT_DOC_GO) \
|
||||
$(re2c_BOOT_DOC_RUST) \
|
||||
$(re2c_BOOT_HELP) \
|
||||
$(re2c_BOOT_PARSER) \
|
||||
$(re2c_BOOT_PARSER_HDR) \
|
||||
bootstrap/src/parse/lex.cc \
|
||||
bootstrap/src/parse/lex.h \
|
||||
bootstrap/src/parse/lex_conf.cc \
|
||||
bootstrap/doc/re2c.1 \
|
||||
bootstrap/doc/re2d.1 \
|
||||
bootstrap/doc/re2go.1 \
|
||||
bootstrap/doc/re2hs.1 \
|
||||
bootstrap/doc/re2java.1 \
|
||||
bootstrap/doc/re2js.1 \
|
||||
bootstrap/doc/re2ocaml.1 \
|
||||
bootstrap/doc/re2py.1 \
|
||||
bootstrap/doc/re2rust.1 \
|
||||
bootstrap/doc/re2v.1 \
|
||||
bootstrap/doc/re2zig.1 \
|
||||
bootstrap/src/default_syntax_c.h \
|
||||
bootstrap/src/default_syntax_d.h \
|
||||
bootstrap/src/default_syntax_go.h \
|
||||
bootstrap/src/default_syntax_haskell.h \
|
||||
bootstrap/src/default_syntax_java.h \
|
||||
bootstrap/src/default_syntax_js.h \
|
||||
bootstrap/src/default_syntax_ocaml.h \
|
||||
bootstrap/src/default_syntax_python.h \
|
||||
bootstrap/src/default_syntax_rust.h \
|
||||
bootstrap/src/default_syntax_v.h \
|
||||
bootstrap/src/default_syntax_zig.h \
|
||||
bootstrap/src/msg/help_re2c.cc \
|
||||
bootstrap/src/msg/help_re2d.cc \
|
||||
bootstrap/src/msg/help_re2go.cc \
|
||||
bootstrap/src/msg/help_re2hs.cc \
|
||||
bootstrap/src/msg/help_re2java.cc \
|
||||
bootstrap/src/msg/help_re2js.cc \
|
||||
bootstrap/src/msg/help_re2ocaml.cc \
|
||||
bootstrap/src/msg/help_re2py.cc \
|
||||
bootstrap/src/msg/help_re2rust.cc \
|
||||
bootstrap/src/msg/help_re2v.cc \
|
||||
bootstrap/src/msg/help_re2zig.cc \
|
||||
bootstrap/src/msg/ver_to_vernum.cc \
|
||||
bootstrap/src/options/parse_opts.cc \
|
||||
bootstrap/src/msg/ver_to_vernum.cc
|
||||
bootstrap/src/parse/lexer.cc \
|
||||
bootstrap/src/parse/lexer.h \
|
||||
bootstrap/src/parse/parser.cc \
|
||||
bootstrap/src/parse/parser.h \
|
||||
bootstrap/src/parse/conf_lexer.cc \
|
||||
bootstrap/src/parse/conf_parser.h \
|
||||
bootstrap/src/parse/conf_parser.cc
|
||||
|
||||
# custom sources
|
||||
re2c_CUSTOM_PARSER = src/parse/parser.ypp
|
||||
re2c_CUSTOM_HELP = doc/help.rst
|
||||
re2c_CUSTOM = \
|
||||
$(re2c_CUSTOM_PARSER) \
|
||||
$(re2c_CUSTOM_HELP) \
|
||||
src/parse/lex.re \
|
||||
src/parse/lex_conf.re \
|
||||
src/msg/ver_to_vernum.re \
|
||||
src/options/parse_opts.re \
|
||||
src/msg/ver_to_vernum.re
|
||||
src/parse/lexer.re \
|
||||
src/parse/parser.ypp \
|
||||
src/parse/conf_lexer.re \
|
||||
src/parse/conf_parser.ypp
|
||||
|
||||
# docs
|
||||
re2c_SRC_DOC = doc/manpage.rst
|
||||
# To build the list of examples for all backends, run:
|
||||
# find examples -regex '.*\.re\|.*\(state\|01_basic\|definitions\)\..*' -printf '\t%p \\\n' | sort
|
||||
re2c_SRC_DOC_EXT = \
|
||||
doc/manual/api/interface.rst_ \
|
||||
doc/manual/conditions/blocks.rst_ \
|
||||
doc/manual/conditions/conditions.rst_ \
|
||||
doc/manual/configurations/configurations.rst_ \
|
||||
doc/manual/directives/directives.rst_ \
|
||||
doc/manual/dot/dot.rst_ \
|
||||
doc/manual/encodings/encodings.rst_ \
|
||||
doc/manual/basics/api/api1.rst_ \
|
||||
doc/manual/basics/api/api2_c.rst_ \
|
||||
doc/manual/basics/api/api2_d.rst_ \
|
||||
doc/manual/basics/api/api2_go.rst_ \
|
||||
doc/manual/basics/api/api2_haskell.rst_ \
|
||||
doc/manual/basics/api/api2_java.rst_ \
|
||||
doc/manual/basics/api/api2_js.rst_ \
|
||||
doc/manual/basics/api/api2_ocaml.rst_ \
|
||||
doc/manual/basics/api/api2_python.rst_ \
|
||||
doc/manual/basics/api/api2_rust.rst_ \
|
||||
doc/manual/basics/api/api2_v.rst_ \
|
||||
doc/manual/basics/api/api2_zig.rst_ \
|
||||
doc/manual/basics/api/api3.rst_ \
|
||||
doc/manual/basics/actions.rst_ \
|
||||
doc/manual/basics/blocks.rst_ \
|
||||
doc/manual/basics/directives.rst_ \
|
||||
doc/manual/basics/configurations.rst_ \
|
||||
doc/manual/basics/regular_expressions.rst_ \
|
||||
doc/manual/basics/syntax.rst_ \
|
||||
doc/manual/basics/syntax_files.rst_ \
|
||||
doc/manual/basics/options/debug.rst_ \
|
||||
doc/manual/basics/options/internal.rst_ \
|
||||
doc/manual/basics/options/options.rst_ \
|
||||
doc/manual/basics/warnings/warnings_general.rst_ \
|
||||
doc/manual/basics/warnings/warnings_list.rst_ \
|
||||
doc/manual/eof/01_sentinel.rst_ \
|
||||
doc/manual/eof/02_bounds_checking.rst_ \
|
||||
doc/manual/eof/03_eof_rule.rst_ \
|
||||
doc/manual/eof/04_generic_api.rst_ \
|
||||
doc/manual/eof/04_fake_sentinel.rst_ \
|
||||
doc/manual/eof/eof.rst_ \
|
||||
doc/manual/features/conditions/blocks.rst_ \
|
||||
doc/manual/features/conditions/conditions.rst_ \
|
||||
doc/manual/features/dot/dot.rst_ \
|
||||
doc/manual/features/encodings/encodings.rst_ \
|
||||
doc/manual/features/headers/headers.rst_ \
|
||||
doc/manual/features/includes/includes.rst_ \
|
||||
doc/manual/features/reuse/reuse.rst_ \
|
||||
doc/manual/features/skeleton/skeleton.rst_ \
|
||||
doc/manual/features/state/state.rst_ \
|
||||
doc/manual/features/submatch/submatch_example_mtags.rst_ \
|
||||
doc/manual/features/submatch/submatch_example_captures.rst_ \
|
||||
doc/manual/features/submatch/submatch_example_stags_fill.rst_ \
|
||||
doc/manual/features/submatch/submatch_example_stags.rst_ \
|
||||
doc/manual/features/submatch/submatch.rst_ \
|
||||
doc/manual/fill/01_fill.rst_ \
|
||||
doc/manual/fill/02_fill.rst_ \
|
||||
doc/manual/fill/fill.rst_ \
|
||||
doc/manual/headers/headers.rst_ \
|
||||
doc/manual/includes/includes.rst_ \
|
||||
doc/manual/options/debug.rst_ \
|
||||
doc/manual/options/internal.rst_ \
|
||||
doc/manual/options/options.rst_ \
|
||||
doc/manual/regexps/regular_expressions.rst_ \
|
||||
doc/manual/reuse/reuse.rst_ \
|
||||
doc/manual/skeleton/skeleton.rst_ \
|
||||
doc/manual/state/state.rst_ \
|
||||
doc/manual/submatch/submatch_example_mtags.rst_ \
|
||||
doc/manual/submatch/submatch_example_posix.rst_ \
|
||||
doc/manual/submatch/submatch_example_stags_fill.rst_ \
|
||||
doc/manual/submatch/submatch_example_stags.rst_ \
|
||||
doc/manual/submatch/submatch.rst_ \
|
||||
doc/manual/authors.rst_ \
|
||||
doc/manual/intro.rst_ \
|
||||
doc/manual/synopsis.rst_ \
|
||||
doc/manual/syntax/api1.rst_ \
|
||||
doc/manual/syntax/api2_c.rst_ \
|
||||
doc/manual/syntax/api2_go.rst_ \
|
||||
doc/manual/syntax/api2_rust.rst_ \
|
||||
doc/manual/syntax/api3.rst_ \
|
||||
doc/manual/syntax/intro.rst_ \
|
||||
doc/manual/syntax/syntax.rst_ \
|
||||
doc/manual/warnings/warnings_general.rst_ \
|
||||
doc/manual/warnings/warnings_list.rst_ \
|
||||
examples/c/01_basic.re \
|
||||
examples/c/01_basic.c \
|
||||
examples/c/01_basic.re \
|
||||
examples/c/conditions/parse_u32_blocks.re \
|
||||
examples/c/conditions/parse_u32_conditions.re \
|
||||
examples/c/encodings/unicode_identifier.re \
|
||||
examples/c/eof/01_sentinel.re \
|
||||
examples/c/eof/02_bounds_checking.re \
|
||||
examples/c/eof/03_eof_rule.re \
|
||||
examples/c/eof/05_generic_api_eof_rule.re \
|
||||
examples/c/eof/04_fake_sentinel.re \
|
||||
examples/c/eof/05_fake_sentinel_eof_rule.re \
|
||||
examples/c/fill/01_fill.re \
|
||||
examples/c/fill/02_fill.re \
|
||||
examples/c/generic_api/ifstream.re \
|
||||
examples/c/headers/header.re \
|
||||
examples/c/headers/lexer/state.h \
|
||||
examples/c/includes/include.re \
|
||||
examples/c/includes/definitions.h \
|
||||
examples/c/includes/include.re \
|
||||
examples/c/real_world/cxx98.re \
|
||||
examples/c/reuse/braille.re \
|
||||
examples/c/reuse/reuse.re \
|
||||
examples/c/reuse/usedir.re \
|
||||
examples/c/state/push.re \
|
||||
examples/c/submatch/01_stags_fill.re \
|
||||
examples/c/submatch/01_stags.re \
|
||||
examples/c/submatch/02_mtags.re \
|
||||
examples/c/submatch/03_posix.re \
|
||||
examples/go/01_basic.re \
|
||||
examples/c/submatch/03_captures.re \
|
||||
examples/c/submatch/04_posix_captures.re \
|
||||
examples/c/submatch/http_rfc7230.re \
|
||||
examples/c/submatch/parse_etc_passwd.re \
|
||||
examples/c/submatch/parse_options.re \
|
||||
examples/c/submatch/parse_records.re \
|
||||
examples/c/submatch/uri_rfc3986.re \
|
||||
examples/d/01_basic.d \
|
||||
examples/d/01_basic.re \
|
||||
examples/d/conditions/parse_u32_blocks.re \
|
||||
examples/d/conditions/parse_u32_conditions.re \
|
||||
examples/d/encodings/unicode_identifier.re \
|
||||
examples/d/eof/01_sentinel.re \
|
||||
examples/d/eof/02_bounds_checking.re \
|
||||
examples/d/eof/03_eof_rule.re \
|
||||
examples/d/eof/04_fake_sentinel.re \
|
||||
examples/d/fill/01_fill.re \
|
||||
examples/d/fill/02_fill.re \
|
||||
examples/d/headers/header.re \
|
||||
examples/d/headers/lexer/state.d \
|
||||
examples/d/includes/definitions.d \
|
||||
examples/d/includes/include.re \
|
||||
examples/d/reuse/reuse.re \
|
||||
examples/d/reuse/usedir.re \
|
||||
examples/d/state/push.re \
|
||||
examples/d/submatch/01_stags_fill.re \
|
||||
examples/d/submatch/01_stags.re \
|
||||
examples/d/submatch/02_mtags.re \
|
||||
examples/d/submatch/03_captures.re \
|
||||
examples/d/submatch/04_posix_captures.re \
|
||||
examples/go/01_basic.go \
|
||||
examples/go/01_basic.re \
|
||||
examples/go/conditions/parse_u32_blocks.re \
|
||||
examples/go/conditions/parse_u32_conditions.re \
|
||||
examples/go/encodings/unicode_identifier.re \
|
||||
examples/go/eof/01_sentinel.re \
|
||||
examples/go/eof/02_bounds_checking.re \
|
||||
examples/go/eof/03_eof_rule.re \
|
||||
examples/go/eof/05_generic_api_eof_rule.re \
|
||||
examples/go/eof/04_fake_sentinel.re \
|
||||
examples/go/fill/01_fill.re \
|
||||
examples/go/fill/02_fill.re \
|
||||
examples/go/headers/header.re \
|
||||
examples/go/headers/lexer/state.go \
|
||||
examples/go/includes/include.re \
|
||||
examples/go/includes/definitions.go \
|
||||
examples/go/includes/include.re \
|
||||
examples/go/reuse/reuse.re \
|
||||
examples/go/reuse/usedir.re \
|
||||
examples/go/state/push.re \
|
||||
examples/go/submatch/01_stags_fill.re \
|
||||
examples/go/submatch/01_stags.re \
|
||||
examples/go/submatch/02_mtags.re \
|
||||
examples/go/submatch/03_posix.re \
|
||||
examples/go/submatch/03_captures.re \
|
||||
examples/go/submatch/04_posix_captures.re \
|
||||
examples/haskell/01_basic.hs \
|
||||
examples/haskell/01_basic.re \
|
||||
examples/haskell/conditions/parse_u32_blocks.re \
|
||||
examples/haskell/conditions/parse_u32_conditions.re \
|
||||
examples/haskell/encodings/unicode_identifier.re \
|
||||
examples/haskell/eof/01_sentinel.re \
|
||||
examples/haskell/eof/02_bounds_checking.re \
|
||||
examples/haskell/eof/03_eof_rule.re \
|
||||
examples/haskell/eof/04_fake_sentinel.re \
|
||||
examples/haskell/fill/01_fill.re \
|
||||
examples/haskell/fill/02_fill.re \
|
||||
examples/haskell/headers/header.re \
|
||||
examples/haskell/headers/lexer/state.hs \
|
||||
examples/haskell/includes/definitions.hs \
|
||||
examples/haskell/includes/include.re \
|
||||
examples/haskell/reuse/reuse.re \
|
||||
examples/haskell/reuse/usedir.re \
|
||||
examples/haskell/state/push.re \
|
||||
examples/haskell/submatch/01_stags_fill.re \
|
||||
examples/haskell/submatch/01_stags.re \
|
||||
examples/haskell/submatch/02_mtags.re \
|
||||
examples/haskell/submatch/03_captures.re \
|
||||
examples/java/01_basic.java \
|
||||
examples/java/01_basic.re \
|
||||
examples/java/conditions/parse_u32_blocks.re \
|
||||
examples/java/conditions/parse_u32_conditions.re \
|
||||
examples/java/encodings/unicode_identifier.re \
|
||||
examples/java/eof/01_sentinel.re \
|
||||
examples/java/eof/02_bounds_checking.re \
|
||||
examples/java/eof/03_eof_rule.re \
|
||||
examples/java/eof/04_fake_sentinel.re \
|
||||
examples/java/fill/01_fill.re \
|
||||
examples/java/fill/02_fill.re \
|
||||
examples/java/headers/header.re \
|
||||
examples/java/headers/lexer/state.java \
|
||||
examples/java/includes/definitions.java \
|
||||
examples/java/includes/include.re \
|
||||
examples/java/reuse/reuse.re \
|
||||
examples/java/reuse/usedir.re \
|
||||
examples/java/state/push.re \
|
||||
examples/java/submatch/01_stags_fill.re \
|
||||
examples/java/submatch/01_stags.re \
|
||||
examples/java/submatch/02_mtags.re \
|
||||
examples/java/submatch/03_captures.re \
|
||||
examples/java/submatch/04_posix_captures.re \
|
||||
examples/js/01_basic.js \
|
||||
examples/js/01_basic.re \
|
||||
examples/js/conditions/parse_u32_blocks.re \
|
||||
examples/js/conditions/parse_u32_conditions.re \
|
||||
examples/js/encodings/unicode_identifier.re \
|
||||
examples/js/eof/01_sentinel.re \
|
||||
examples/js/eof/02_bounds_checking.re \
|
||||
examples/js/eof/03_eof_rule.re \
|
||||
examples/js/eof/04_fake_sentinel.re \
|
||||
examples/js/fill/01_fill.re \
|
||||
examples/js/fill/02_fill.re \
|
||||
examples/js/headers/header.re \
|
||||
examples/js/headers/lexer/state.js \
|
||||
examples/js/includes/definitions.js \
|
||||
examples/js/includes/include.re \
|
||||
examples/js/reuse/reuse.re \
|
||||
examples/js/reuse/usedir.re \
|
||||
examples/js/state/push.re \
|
||||
examples/js/submatch/01_stags_fill.re \
|
||||
examples/js/submatch/01_stags.re \
|
||||
examples/js/submatch/02_mtags.re \
|
||||
examples/js/submatch/03_captures.re \
|
||||
examples/js/submatch/04_posix_captures.re \
|
||||
examples/ocaml/01_basic.ml \
|
||||
examples/ocaml/01_basic.re \
|
||||
examples/ocaml/conditions/parse_u32_blocks.re \
|
||||
examples/ocaml/conditions/parse_u32_conditions.re \
|
||||
examples/ocaml/encodings/unicode_identifier.re \
|
||||
examples/ocaml/eof/01_sentinel.re \
|
||||
examples/ocaml/eof/02_bounds_checking.re \
|
||||
examples/ocaml/eof/03_eof_rule.re \
|
||||
examples/ocaml/eof/04_fake_sentinel.re \
|
||||
examples/ocaml/fill/01_fill.re \
|
||||
examples/ocaml/fill/02_fill.re \
|
||||
examples/ocaml/headers/header.re \
|
||||
examples/ocaml/headers/lexer/state.ml \
|
||||
examples/ocaml/includes/definitions.ml \
|
||||
examples/ocaml/includes/include.re \
|
||||
examples/ocaml/reuse/reuse.re \
|
||||
examples/ocaml/reuse/usedir.re \
|
||||
examples/ocaml/state/push.re \
|
||||
examples/ocaml/submatch/01_stags_fill.re \
|
||||
examples/ocaml/submatch/01_stags.re \
|
||||
examples/ocaml/submatch/02_mtags.re \
|
||||
examples/ocaml/submatch/03_captures.re \
|
||||
examples/ocaml/submatch/04_posix_captures.re \
|
||||
examples/python/01_basic.py \
|
||||
examples/python/01_basic.re \
|
||||
examples/python/conditions/parse_u32_blocks.re \
|
||||
examples/python/conditions/parse_u32_conditions.re \
|
||||
examples/python/encodings/unicode_identifier.re \
|
||||
examples/python/eof/01_sentinel.re \
|
||||
examples/python/eof/02_bounds_checking.re \
|
||||
examples/python/eof/03_eof_rule.re \
|
||||
examples/python/eof/04_fake_sentinel.re \
|
||||
examples/python/fill/01_fill.re \
|
||||
examples/python/fill/02_fill.re \
|
||||
examples/python/headers/header.re \
|
||||
examples/python/headers/lexer/state.py \
|
||||
examples/python/includes/definitions.py \
|
||||
examples/python/includes/include.re \
|
||||
examples/python/reuse/reuse.re \
|
||||
examples/python/reuse/usedir.re \
|
||||
examples/python/state/push.re \
|
||||
examples/python/submatch/01_stags_fill.re \
|
||||
examples/python/submatch/01_stags.re \
|
||||
examples/python/submatch/02_mtags.re \
|
||||
examples/python/submatch/03_captures.re \
|
||||
examples/python/submatch/04_posix_captures.re \
|
||||
examples/rust/01_basic.re \
|
||||
examples/rust/01_basic.rs \
|
||||
examples/rust/conditions/parse_u32_blocks.re \
|
||||
@@ -278,38 +472,129 @@ re2c_SRC_DOC_EXT = \
|
||||
examples/rust/eof/01_sentinel.re \
|
||||
examples/rust/eof/02_bounds_checking.re \
|
||||
examples/rust/eof/03_eof_rule.re \
|
||||
examples/rust/eof/05_generic_api_eof_rule.re \
|
||||
examples/rust/eof/04_fake_sentinel.re \
|
||||
examples/rust/fill/01_fill.re \
|
||||
examples/rust/fill/02_fill.re \
|
||||
examples/rust/headers/header.re \
|
||||
examples/rust/headers/lexer/state.rs \
|
||||
examples/rust/includes/include.re \
|
||||
examples/rust/includes/definitions.rs \
|
||||
examples/rust/includes/include.re \
|
||||
examples/rust/real_world/c.re \
|
||||
examples/rust/reuse/reuse.re \
|
||||
examples/rust/reuse/usedir.re \
|
||||
examples/rust/state/push.re \
|
||||
examples/rust/submatch/01_stags_fill.re \
|
||||
examples/rust/submatch/01_stags.re \
|
||||
examples/rust/submatch/02_mtags.re \
|
||||
examples/rust/submatch/03_posix.re
|
||||
|
||||
DOC_C = doc/re2c.1
|
||||
DOCS = $(DOC_C)
|
||||
examples/rust/submatch/03_captures.re \
|
||||
examples/rust/submatch/04_posix_captures.re \
|
||||
examples/v/01_basic.re \
|
||||
examples/v/01_basic.v \
|
||||
examples/v/conditions/parse_u32_blocks.re \
|
||||
examples/v/conditions/parse_u32_conditions.re \
|
||||
examples/v/encodings/unicode_identifier.re \
|
||||
examples/v/eof/01_sentinel.re \
|
||||
examples/v/eof/02_bounds_checking.re \
|
||||
examples/v/eof/03_eof_rule.re \
|
||||
examples/v/eof/04_fake_sentinel.re \
|
||||
examples/v/fill/01_fill.re \
|
||||
examples/v/fill/02_fill.re \
|
||||
examples/v/headers/header.re \
|
||||
examples/v/headers/lexer/state.v \
|
||||
examples/v/includes/definitions.v \
|
||||
examples/v/includes/include.re \
|
||||
examples/v/reuse/reuse.re \
|
||||
examples/v/reuse/usedir.re \
|
||||
examples/v/state/push.re \
|
||||
examples/v/submatch/01_stags_fill.re \
|
||||
examples/v/submatch/01_stags.re \
|
||||
examples/v/submatch/02_mtags.re \
|
||||
examples/v/submatch/03_captures.re \
|
||||
examples/v/submatch/04_posix_captures.re \
|
||||
examples/zig/01_basic.re \
|
||||
examples/zig/01_basic.zig \
|
||||
examples/zig/conditions/parse_u32_blocks.re \
|
||||
examples/zig/conditions/parse_u32_conditions.re \
|
||||
examples/zig/encodings/unicode_identifier.re \
|
||||
examples/zig/eof/01_sentinel.re \
|
||||
examples/zig/eof/02_bounds_checking.re \
|
||||
examples/zig/eof/03_eof_rule.re \
|
||||
examples/zig/eof/04_fake_sentinel.re \
|
||||
examples/zig/fill/01_fill.re \
|
||||
examples/zig/fill/02_fill.re \
|
||||
examples/zig/headers/header.re \
|
||||
examples/zig/headers/lexer/state.zig \
|
||||
examples/zig/includes/definitions.zig \
|
||||
examples/zig/includes/include.re \
|
||||
examples/zig/reuse/reuse.re \
|
||||
examples/zig/reuse/usedir.re \
|
||||
examples/zig/state/push.re \
|
||||
examples/zig/submatch/01_stags_fill.re \
|
||||
examples/zig/submatch/01_stags.re \
|
||||
examples/zig/submatch/02_mtags.re \
|
||||
examples/zig/submatch/03_captures.re \
|
||||
examples/zig/submatch/04_posix_captures.re
|
||||
|
||||
DOCS = doc/re2c.1
|
||||
HELP = src/msg/help_re2c.cc
|
||||
if WITH_DLANG
|
||||
DOCS += doc/re2d.1
|
||||
HELP += src/msg/help_re2d.cc
|
||||
endif
|
||||
if WITH_GOLANG
|
||||
DOC_GO = doc/re2go.1
|
||||
DOCS += $(DOC_GO)
|
||||
DOCS += doc/re2go.1
|
||||
HELP += src/msg/help_re2go.cc
|
||||
endif
|
||||
if WITH_HASKELL
|
||||
DOCS += doc/re2hs.1
|
||||
HELP += src/msg/help_re2hs.cc
|
||||
endif
|
||||
if WITH_JAVA
|
||||
DOCS += doc/re2java.1
|
||||
HELP += src/msg/help_re2java.cc
|
||||
endif
|
||||
if WITH_JS
|
||||
DOCS += doc/re2js.1
|
||||
HELP += src/msg/help_re2js.cc
|
||||
endif
|
||||
if WITH_OCAML
|
||||
DOCS += doc/re2ocaml.1
|
||||
HELP += src/msg/help_re2ocaml.cc
|
||||
endif
|
||||
if WITH_PYTHON
|
||||
DOCS += doc/re2py.1
|
||||
HELP += src/msg/help_re2py.cc
|
||||
endif
|
||||
|
||||
if WITH_RUST
|
||||
DOC_RUST = doc/re2rust.1
|
||||
DOCS += $(DOC_RUST)
|
||||
DOCS += doc/re2rust.1
|
||||
HELP += src/msg/help_re2rust.cc
|
||||
endif
|
||||
if WITH_VLANG
|
||||
DOCS += doc/re2v.1
|
||||
HELP += src/msg/help_re2v.cc
|
||||
endif
|
||||
if WITH_ZIG
|
||||
DOCS += doc/re2zig.1
|
||||
HELP += src/msg/help_re2zig.cc
|
||||
endif
|
||||
BUILT_SOURCES += $(HELP)
|
||||
|
||||
man_MANS = $(DOCS)
|
||||
|
||||
# include files (stdlib)
|
||||
dist_stdlib_DATA = include/unicode_categories.re
|
||||
dist_stdlib_DATA = \
|
||||
include/syntax/c \
|
||||
include/syntax/d \
|
||||
include/syntax/go \
|
||||
include/syntax/haskell \
|
||||
include/syntax/java \
|
||||
include/syntax/js \
|
||||
include/syntax/ocaml \
|
||||
include/syntax/python \
|
||||
include/syntax/rust \
|
||||
include/syntax/v \
|
||||
include/syntax/zig \
|
||||
include/unicode_categories.re
|
||||
|
||||
BAZELFILES := \
|
||||
BUILD.bazel \
|
||||
@@ -342,14 +627,31 @@ EXTRA_DIST = \
|
||||
|
||||
CLEANFILES = \
|
||||
$(re2c_GEN) \
|
||||
$(DOCS)
|
||||
$(re2c_GEN_HELP) \
|
||||
$(DOCS) \
|
||||
$(HELP)
|
||||
|
||||
if REBUILD_SYNTAX
|
||||
STX2CPP = $(top_srcdir)/build/stx2cpp.py
|
||||
# generate C++ sources from syntax configs and update bootstrap files
|
||||
.stx.h:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(PYTHON) $(STX2CPP) $< $@
|
||||
$(AM_V_GEN)cp -f $@ $(top_srcdir)/bootstrap/$@
|
||||
else
|
||||
# copy bootstrap files
|
||||
.stx.h:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/bootstrap/$@ $(@D)
|
||||
$(AM_V_at)echo "Reconfigure with --enable-syntax to regenerate $@"
|
||||
endif
|
||||
|
||||
if REBUILD_LEXERS
|
||||
# generate lexer and update bootstrap files
|
||||
.re.cc:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(RE2C_FOR_BUILD) $(RE2CFLAGS) -o $@ $<
|
||||
$(AM_V_GEN)cp $(@:cc=[ch]*) $(top_srcdir)/bootstrap/$(@D);
|
||||
$(AM_V_GEN)cp $(@:cc=[ch]*) $(top_srcdir)/bootstrap/$(@D)
|
||||
else
|
||||
# copy bootstrap files
|
||||
.re.cc:
|
||||
@@ -363,17 +665,18 @@ if REBUILD_PARSERS
|
||||
.ypp.cc:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(BISON) --warnings --output=$@ --defines=$(@:cc=h) $<
|
||||
$(AM_V_GEN)cp $@ $(@:cc=h) $(top_srcdir)/bootstrap/$(@D);
|
||||
$(AM_V_GEN)cp $@ $(@:cc=h) $(top_srcdir)/bootstrap/$(@D)
|
||||
else
|
||||
# copy bootstrap files
|
||||
.ypp.cc:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/bootstrap/$(@:cc=*) $(@D);
|
||||
$(AM_V_GEN)cp $(top_srcdir)/bootstrap/$(@:cc=*) $(@D)
|
||||
$(AM_V_at)echo "Reconfigure with --enable-parsers to regenerate $@"
|
||||
endif
|
||||
|
||||
# lexer depends on bison-generated header
|
||||
$(re2c_GEN_LEX): $(re2c_GEN_PARSER)
|
||||
# re2c-generated lexer depends on bison-generated parser header (generated by the parser rule)
|
||||
src/parse/lexer.cc : src/parse/parser.cc
|
||||
src/parse/conf_lexer.cc : src/parse/conf_parser.cc
|
||||
|
||||
# rebuild all re2c sources using newly built re2c
|
||||
.PHONY: bootstrap
|
||||
@@ -383,55 +686,34 @@ bootstrap: all
|
||||
|
||||
.PHONY: docs
|
||||
if REBUILD_DOCS
|
||||
docs: $(DOCS) $(re2c_GEN_HELP)
|
||||
RST2TXT = $(top_srcdir)/build/rst2txt.py
|
||||
RST2MAN = $(top_srcdir)/build/rst2man.py
|
||||
SPLITMAN = $(top_srcdir)/build/split_man.py
|
||||
# generate manpage for C
|
||||
$(DOC_C): $(re2c_SRC_DOC) $(re2c_SRC_DOC_EXT) $(SPLITMAN) $(RST2MAN)
|
||||
docs: $(DOCS) $(HELP)
|
||||
$(DOCS) $(HELP) : $(re2c_SRC_DOC_EXT) $(SPLITMAN) $(RST2MAN) $(RST2TXT)
|
||||
# generate manpage
|
||||
.rst.1:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(PYTHON) $(SPLITMAN) $(top_builddir)/$(re2c_SRC_DOC) $(top_builddir)/$(re2c_SRC_DOC).c c \
|
||||
&& $(PYTHON) $(RST2MAN) --tab-width=4 $(top_builddir)/$(re2c_SRC_DOC).c > $@ \
|
||||
&& cp $@ $(top_srcdir)/$(re2c_BOOT_DOC_C) \
|
||||
&& rm $(top_builddir)/$(re2c_SRC_DOC).c
|
||||
# generate manpage for Go
|
||||
$(DOC_GO): $(re2c_SRC_DOC) $(re2c_SRC_DOC_EXT) $(SPLITMAN) $(RST2MAN)
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(PYTHON) $(SPLITMAN) $(top_builddir)/$(re2c_SRC_DOC) $(top_builddir)/$(re2c_SRC_DOC).go go \
|
||||
&& $(PYTHON) $(RST2MAN) --tab-width=4 $(top_builddir)/$(re2c_SRC_DOC).go > $@ \
|
||||
&& cp $@ $(top_srcdir)/$(re2c_BOOT_DOC_GO) \
|
||||
&& rm $(top_builddir)/$(re2c_SRC_DOC).go
|
||||
# generate manpage for Rust
|
||||
$(DOC_RUST): $(re2c_SRC_DOC) $(re2c_SRC_DOC_EXT) $(SPLITMAN) $(RST2MAN)
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(PYTHON) $(SPLITMAN) $(top_builddir)/$(re2c_SRC_DOC) $(top_builddir)/$(re2c_SRC_DOC).rust rust \
|
||||
&& $(PYTHON) $(RST2MAN) --tab-width=4 $(top_builddir)/$(re2c_SRC_DOC).rust > $@ \
|
||||
&& cp $@ $(top_srcdir)/$(re2c_BOOT_DOC_RUST) \
|
||||
&& rm $(top_builddir)/$(re2c_SRC_DOC).rust
|
||||
$(AM_V_GEN)$(PYTHON) $(SPLITMAN) $(top_builddir)/$< $(top_builddir)/$< \
|
||||
&& $(PYTHON) $(RST2MAN) --tab-width=4 $(top_builddir)/$< > $@ \
|
||||
&& cp $@ $(top_srcdir)/bootstrap/$@
|
||||
# generate help
|
||||
$(re2c_GEN_HELP): $(re2c_CUSTOM_HELP) $(re2c_SRC_DOC_EXT) $(RST2TXT)
|
||||
.rst.cc:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)$(PYTHON) $(RST2TXT) --variable-name=help $(top_builddir)/$(re2c_CUSTOM_HELP) $@ \
|
||||
&& cp $@ $(top_srcdir)/$(re2c_BOOT_HELP)
|
||||
$(AM_V_GEN)$(PYTHON) $(SPLITMAN) $(top_builddir)/$< $(top_builddir)/$< \
|
||||
&& $(PYTHON) $(RST2TXT) --variable-name=help $(top_builddir)/$< $@ \
|
||||
&& cp $@ $(top_srcdir)/bootstrap/$@
|
||||
else
|
||||
docs: $(DOCS) $(re2c_GEN_HELP)
|
||||
docs: $(DOCS) $(HELP)
|
||||
$(AM_V_at)echo "Reconfigure with --enable-docs to rebuild docs"
|
||||
# copy bootstrap manpage for C
|
||||
$(DOC_C): $(re2c_BOOT_DOC_C)
|
||||
# copy bootstrap manpage
|
||||
.rst.1:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/$(re2c_BOOT_DOC_C) $@
|
||||
# copy bootstrap manpage for Go
|
||||
$(DOC_GO): $(re2c_BOOT_DOC_GO)
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/$(re2c_BOOT_DOC_GO) $@
|
||||
# copy bootstrap manpage for Rust
|
||||
$(DOC_RUST): $(re2c_BOOT_DOC_RUST)
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/$(re2c_BOOT_DOC_RUST) $@
|
||||
$(AM_V_GEN)cp $(top_srcdir)/bootstrap/$@ $@
|
||||
# copy bootstrap help
|
||||
$(re2c_GEN_HELP): $(re2c_BOOT_HELP)
|
||||
.rst.cc:
|
||||
$(AM_V_at)$(MKDIR_P) $(@D)
|
||||
$(AM_V_GEN)cp $(top_srcdir)/$(re2c_BOOT_HELP) $@
|
||||
$(AM_V_GEN)cp $(top_srcdir)/bootstrap/$@ $@
|
||||
endif
|
||||
|
||||
all-local: docs $(re2c_BOOT_PARSER)
|
||||
@@ -448,6 +730,9 @@ vtests: all $(re2c_TESTSUITE)
|
||||
wtests: all $(re2c_TESTSUITE)
|
||||
$(PYTHON) $(top_builddir)/$(re2c_TESTSUITE) --wine -j1
|
||||
|
||||
re2c_test_list_SOURCES = \
|
||||
src/test/list/test.cc
|
||||
|
||||
re2c_test_range_SOURCES = \
|
||||
src/test/range/test-impl.h \
|
||||
src/test/range/test.cc \
|
||||
@@ -461,12 +746,13 @@ re2c_test_s_to_n32_unsafe_SOURCES = \
|
||||
|
||||
re2c_test_ver_to_vernum_SOURCES = \
|
||||
src/test/ver_to_vernum/test.cc \
|
||||
$(re2c_GEN_VER_TO_VERNUM)
|
||||
src/msg/ver_to_vernum.cc
|
||||
|
||||
re2c_test_argsubst_SOURCES = \
|
||||
src/test/argsubst/test.cc
|
||||
|
||||
check_PROGRAMS = \
|
||||
re2c_test_list \
|
||||
re2c_test_range \
|
||||
re2c_test_s_to_n32_unsafe \
|
||||
re2c_test_ver_to_vernum \
|
||||
@@ -478,8 +764,8 @@ TESTS = \
|
||||
|
||||
# benchmarks
|
||||
if WITH_BENCHMARKS
|
||||
SUBDIRS += benchmarks/submatch_dfa_aot
|
||||
EXTRA_DIST += benchmarks/submatch_dfa_aot
|
||||
SUBDIRS += benchmarks/c
|
||||
EXTRA_DIST += benchmarks/c
|
||||
endif
|
||||
|
||||
# libre2c
|
||||
@@ -489,18 +775,82 @@ lib_LTLIBRARIES =
|
||||
include $(top_srcdir)/Makefile.lib.am
|
||||
endif
|
||||
|
||||
# re2d
|
||||
if WITH_DLANG
|
||||
bin_PROGRAMS += re2d
|
||||
re2d_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::D -DRE2C_PROG=\"re2d\"
|
||||
re2d_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2d_SOURCES = $(re2c_GEN) src/msg/help_re2d.cc
|
||||
endif
|
||||
|
||||
# re2go
|
||||
if WITH_GOLANG
|
||||
bin_PROGRAMS += re2go
|
||||
re2go_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::GO
|
||||
re2go_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::GO -DRE2C_PROG=\"re2go\"
|
||||
re2go_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2go_SOURCES = $(nodist_re2c_SOURCES)
|
||||
nodist_re2go_SOURCES = $(re2c_GEN) src/msg/help_re2go.cc
|
||||
endif
|
||||
|
||||
# re2hs
|
||||
if WITH_HASKELL
|
||||
bin_PROGRAMS += re2hs
|
||||
re2hs_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::HASKELL -DRE2C_PROG=\"re2hs\"
|
||||
re2hs_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2hs_SOURCES = $(re2c_GEN) src/msg/help_re2hs.cc
|
||||
endif
|
||||
|
||||
# re2java
|
||||
if WITH_JAVA
|
||||
bin_PROGRAMS += re2java
|
||||
re2java_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::JAVA -DRE2C_PROG=\"re2java\"
|
||||
re2java_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2java_SOURCES = $(re2c_GEN) src/msg/help_re2java.cc
|
||||
endif
|
||||
|
||||
# re2js
|
||||
if WITH_JS
|
||||
bin_PROGRAMS += re2js
|
||||
re2js_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::JS -DRE2C_PROG=\"re2js\"
|
||||
re2js_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2js_SOURCES = $(re2c_GEN) src/msg/help_re2js.cc
|
||||
endif
|
||||
|
||||
# re2ocaml
|
||||
if WITH_OCAML
|
||||
bin_PROGRAMS += re2ocaml
|
||||
re2ocaml_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::OCAML -DRE2C_PROG=\"re2ocaml\"
|
||||
re2ocaml_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2ocaml_SOURCES = $(re2c_GEN) src/msg/help_re2ocaml.cc
|
||||
endif
|
||||
|
||||
# re2py
|
||||
if WITH_PYTHON
|
||||
bin_PROGRAMS += re2py
|
||||
re2py_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::PYTHON -DRE2C_PROG=\"re2py\"
|
||||
re2py_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2py_SOURCES = $(re2c_GEN) src/msg/help_re2py.cc
|
||||
endif
|
||||
|
||||
# re2rust
|
||||
if WITH_RUST
|
||||
bin_PROGRAMS += re2rust
|
||||
re2rust_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::RUST
|
||||
re2rust_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::RUST -DRE2C_PROG=\"re2rust\"
|
||||
re2rust_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2rust_SOURCES = $(nodist_re2c_SOURCES)
|
||||
nodist_re2rust_SOURCES = $(re2c_GEN) src/msg/help_re2rust.cc
|
||||
endif
|
||||
|
||||
# re2v
|
||||
if WITH_VLANG
|
||||
bin_PROGRAMS += re2v
|
||||
re2v_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::V -DRE2C_PROG=\"re2v\"
|
||||
re2v_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2v_SOURCES = $(re2c_GEN) src/msg/help_re2v.cc
|
||||
endif
|
||||
|
||||
# re2zig
|
||||
if WITH_ZIG
|
||||
bin_PROGRAMS += re2zig
|
||||
re2zig_CXXFLAGS = $(AM_CXXFLAGS) -DRE2C_LANG=Lang::ZIG -DRE2C_PROG=\"re2zig\"
|
||||
re2zig_SOURCES = $(re2c_SOURCES)
|
||||
nodist_re2zig_SOURCES = $(re2c_GEN) src/msg/help_re2zig.cc
|
||||
endif
|
||||
|
||||
+6
-6
@@ -169,12 +169,12 @@ check_PROGRAMS += test_libre2c
|
||||
|
||||
# benchmarks
|
||||
if WITH_BENCHMARKS
|
||||
SUBDIRS += benchmarks/submatch_nfa
|
||||
SUBDIRS += benchmarks/submatch_dfa_jit
|
||||
EXTRA_DIST += benchmarks/submatch_nfa
|
||||
EXTRA_DIST += benchmarks/submatch_dfa_jit
|
||||
SUBDIRS += benchmarks/c/libre2c/nfa
|
||||
SUBDIRS += benchmarks/c/libre2c/jit
|
||||
EXTRA_DIST += benchmarks/c/libre2c/nfa
|
||||
EXTRA_DIST += benchmarks/c/libre2c/jit
|
||||
if WITH_JAVA
|
||||
SUBDIRS += benchmarks/submatch_java
|
||||
EXTRA_DIST += benchmarks/submatch_java
|
||||
SUBDIRS += benchmarks/c/libre2c/java
|
||||
EXTRA_DIST += benchmarks/c/libre2c/java
|
||||
endif # WITH_JAVA
|
||||
endif # WITH_BENCHMARKS
|
||||
|
||||
@@ -4,11 +4,13 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
http_archive(
|
||||
name = "bazel_skylib",
|
||||
sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
|
||||
urls = [
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
||||
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
|
||||
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
|
||||
],
|
||||
sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
|
||||
)
|
||||
|
||||
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
|
||||
|
||||
bazel_skylib_workspace()
|
||||
|
||||
+3
-3
@@ -14,12 +14,12 @@ _RE2C_EXT = [".re", ".re2c"]
|
||||
def _re2c_impl(ctx):
|
||||
srcs = ctx.files.srcs
|
||||
if len(srcs) != 1:
|
||||
fail("Attribute `srcs` must contain exactly 1 re2c source file ({exts}).".format(exts=", ".join(_RE2C_EXT)))
|
||||
fail("Attribute `srcs` must contain exactly 1 re2c source file ({exts}).".format(exts = ", ".join(_RE2C_EXT)))
|
||||
outs = ctx.outputs.outs
|
||||
if not outs or [o for o in outs if paths.split_extension(o.path)[1] not in _C_SRC_EXT + _C_HDR_EXT]:
|
||||
fail("Attribute `outs` must contain at least 1 C/C++ shource or header file ({exts}).".format(exts=", ".join(_C_SRC_EXT + _C_HDR_EXT)))
|
||||
fail("Attribute `outs` must contain at least 1 C/C++ shource or header file ({exts}).".format(exts = ", ".join(_C_SRC_EXT + _C_HDR_EXT)))
|
||||
ctx.actions.run_shell(
|
||||
outputs = outs + [err_file],
|
||||
outputs = outs,
|
||||
tools = [ctx.executable._re2c_tool],
|
||||
inputs = ctx.files.srcs + ctx.files.data,
|
||||
command = """
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import os
|
||||
|
||||
# 100 megabytes
|
||||
LIMIT = 1024 * 1024 * 100
|
||||
# 16 megabytes
|
||||
LIMIT = 1024 * 1024 * 16
|
||||
|
||||
# read the small sample
|
||||
with open('small', 'rb') as f:
|
||||
@@ -117,7 +117,7 @@ plot_end = """
|
||||
"""
|
||||
|
||||
|
||||
VARIANTS = ['dfa_aot', 'dfa_jit', 'nfa']
|
||||
VARIANTS = ['aot', 'jit', 'nfa']
|
||||
|
||||
|
||||
def parse_args():
|
||||
@@ -183,7 +183,7 @@ def index_of_algo(group, stem):
|
||||
def time_format(time):
|
||||
order = math.floor(math.log(time, 10))
|
||||
if order > 0:
|
||||
return '%.0lf'
|
||||
return '%.1lf'
|
||||
else:
|
||||
return '%%.%dlf' % (-order + 1)
|
||||
|
||||
@@ -192,10 +192,10 @@ class Params:
|
||||
def __init__(self, args):
|
||||
self.barwidth = 0.08
|
||||
|
||||
if args.variant == 'dfa_aot':
|
||||
self.override_params_dfa_aot()
|
||||
elif args.variant == 'dfa_jit':
|
||||
self.override_params_dfa_jit()
|
||||
if args.variant == 'aot':
|
||||
self.override_params_aot()
|
||||
elif args.variant == 'jit':
|
||||
self.override_params_jit()
|
||||
elif args.variant == 'nfa':
|
||||
self.override_params_nfa()
|
||||
|
||||
@@ -210,7 +210,7 @@ class Params:
|
||||
if args.relative_to: # override only if set
|
||||
self.relative_to = args.relative_to
|
||||
|
||||
def override_params_dfa_aot(self):
|
||||
def override_params_aot(self):
|
||||
self.plotwidth = 1.5
|
||||
self.xshift = 2 * self.plotwidth
|
||||
self.header = """
|
||||
@@ -225,7 +225,7 @@ class Params:
|
||||
self.global_styles = ""
|
||||
self.local_styles = plot_labels_and_title % 'left'
|
||||
|
||||
def override_params_dfa_jit(self):
|
||||
def override_params_jit(self):
|
||||
self.plotwidth = 2.7
|
||||
self.xshift = self.plotwidth
|
||||
self.header = """
|
||||
@@ -322,7 +322,7 @@ def group_benchmarks(benchmarks, params):
|
||||
|
||||
avgtime /= nbench
|
||||
avgsize /= nbench
|
||||
factor = 10 if params.relative_to != None else 3
|
||||
factor = 10 if params.relative_to != None else 5
|
||||
maxtime = min(maxtime, factor * avgtime)
|
||||
maxsize = min(maxsize, factor * avgsize)
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GBENCHMARK REQUIRED benchmark)
|
||||
|
||||
set(BENCHMARKS
|
||||
"submatch_00__http_rfc7230"
|
||||
"submatch_01__http_simple"
|
||||
"submatch_02__uri_rfc3986"
|
||||
"submatch_03__uri_simple"
|
||||
"submatch_04__apache_log"
|
||||
"submatch_05__datetime"
|
||||
"submatch_06__email"
|
||||
"submatch_07__ipv4"
|
||||
|
||||
"submatch_10__alt1_2"
|
||||
"submatch_11__alt1_4"
|
||||
"submatch_12__alt1_8"
|
||||
"submatch_13__alt2_2"
|
||||
"submatch_14__alt2_4"
|
||||
"submatch_15__alt2_8"
|
||||
"submatch_16__alt4_2"
|
||||
"submatch_17__alt4_4"
|
||||
"submatch_18__alt4_8"
|
||||
|
||||
"submatch_20__cat2_0"
|
||||
"submatch_21__cat2_4"
|
||||
"submatch_22__cat2_8"
|
||||
"submatch_23__cat4_0"
|
||||
"submatch_24__cat4_2"
|
||||
"submatch_25__cat4_4"
|
||||
"submatch_26__cat8_0"
|
||||
"submatch_27__cat8_1"
|
||||
"submatch_28__cat8_2"
|
||||
|
||||
"submatch_30__rep_cat_5_3_2"
|
||||
"submatch_31__rep_cat_13_11_7"
|
||||
"submatch_32__rep_cat_23_19_17"
|
||||
"submatch_33__rep_alt_5_3_2"
|
||||
"submatch_34__rep_alt_13_11_7"
|
||||
"submatch_35__rep_alt_23_19_17"
|
||||
"submatch_36__rep_5_rep_3_rep_2"
|
||||
"submatch_37__rep_13_rep_11_rep_7"
|
||||
"submatch_38__rep_23_rep_19_rep_17"
|
||||
)
|
||||
|
||||
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
|
||||
set(ENG_DIR "${CMAKE_CURRENT_BINARY_DIR}/engines")
|
||||
set(GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/gen")
|
||||
set(PREGEN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/pregen")
|
||||
|
||||
set(GEN "")
|
||||
|
||||
# ragel
|
||||
file(MAKE_DIRECTORY "${ENG_DIR}/ragel/")
|
||||
file(MAKE_DIRECTORY "${GEN_DIR}/ragel/")
|
||||
set(RAGEL "${ENG_DIR}/ragel/ragel7")
|
||||
add_custom_command(
|
||||
OUTPUT "${RAGEL}"
|
||||
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../_engines/ragel/getragel7.sh"
|
||||
WORKING_DIRECTORY "${ENG_DIR}/ragel/"
|
||||
)
|
||||
foreach(bench ${BENCHMARKS})
|
||||
set(src_file "${SRC_DIR}/ragel/${bench}.rl")
|
||||
set(gen_file "${GEN_DIR}/ragel/${bench}.cc")
|
||||
set(pregen_file "${PREGEN_DIR}/ragel/${bench}.cc")
|
||||
# optionally regenerate ragel benchmarks if RE2C_REGEN_BENCHMARKS is set
|
||||
if(RE2C_REGEN_BENCHMARKS)
|
||||
file(RELATIVE_PATH rel_src_file "${CMAKE_CURRENT_BINARY_DIR}" "${src_file}")
|
||||
file(RELATIVE_PATH rel_gen_file "${CMAKE_CURRENT_BINARY_DIR}" "${gen_file}")
|
||||
add_custom_command(
|
||||
OUTPUT "${gen_file}"
|
||||
COMMAND "${RAGEL}" "-G2" "${rel_src_file}" -o "${rel_gen_file}"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${gen_file}" "${pregen_file}"
|
||||
DEPENDS "${src_file}" "${RAGEL}"
|
||||
)
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT "${gen_file}"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy "${pregen_file}" "${gen_file}"
|
||||
DEPENDS "${pregen_file}"
|
||||
)
|
||||
endif()
|
||||
list(APPEND GEN "${gen_file}")
|
||||
endforeach()
|
||||
|
||||
# re2c
|
||||
file(MAKE_DIRECTORY "${GEN_DIR}/re2c/")
|
||||
set(RE2C "${CMAKE_BINARY_DIR}/re2c")
|
||||
set(RE2C_FLAGS "--reusable" "--tags" "--no-generation-date" "--no-version" "-i")
|
||||
# always regenerate re2c benchmarks
|
||||
foreach(bench ${BENCHMARKS})
|
||||
set(src_file "${SRC_DIR}/re2c/${bench}.re")
|
||||
set(gen_file "${GEN_DIR}/re2c/${bench}.cc")
|
||||
set(pregen_file "${PREGEN_DIR}/re2c/${bench}.cc")
|
||||
file(RELATIVE_PATH rel_src_file "${CMAKE_CURRENT_BINARY_DIR}" "${src_file}")
|
||||
file(RELATIVE_PATH rel_gen_file "${CMAKE_CURRENT_BINARY_DIR}" "${gen_file}")
|
||||
add_custom_command(
|
||||
OUTPUT "${gen_file}"
|
||||
COMMAND "${RE2C}" ${RE2C_FLAGS} "${rel_src_file}" -o "${rel_gen_file}"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${gen_file}" "${pregen_file}"
|
||||
DEPENDS "${src_file}" "${SRC_DIR}/re2c/base.re" "${RE2C}"
|
||||
)
|
||||
list(APPEND GEN "${gen_file}")
|
||||
endforeach()
|
||||
|
||||
# binaries
|
||||
if("${GBENCHMARK_INCLUDE_DIR}" STREQUAL "")
|
||||
set(GBENCHMARK_INCLUDES "${GBENCHMARK_CFLAGS}")
|
||||
else()
|
||||
set(GBENCHMARK_INCLUDES "-I${GBENCHMARK_INCLUDE_DIR}")
|
||||
endif()
|
||||
set(RE2C_CXX_FLAGS "-O3" "-g" "-I" "${SRC_DIR}" "-Wall" "-Wno-unused-const-variable"
|
||||
"${GBENCHMARK_INCLUDES}" "-std=c++11") # C++11 is needed for some google-benchmark features
|
||||
list(APPEND COMPILERS "g++" "clang++")
|
||||
list(APPEND COMPNAMES "gcc" "clang")
|
||||
foreach(compiler IN ZIP_LISTS COMPILERS COMPNAMES)
|
||||
set(objects "")
|
||||
set(flags ${RE2C_CXX_FLAGS} "-DCXX=\\\"${compiler_1}\\\"")
|
||||
foreach(gen_file ${GEN})
|
||||
string(REGEX REPLACE
|
||||
"^${GEN_DIR}(.+)\.cc$" "${GEN_DIR}\\1-${compiler_1}.o" obj_file "${gen_file}")
|
||||
add_custom_command(
|
||||
OUTPUT "${obj_file}"
|
||||
COMMAND "${compiler_0}" ${flags} -c "${gen_file}" -o "${obj_file}"
|
||||
DEPENDS "${gen_file}" "${SRC_DIR}/common.h"
|
||||
)
|
||||
list(APPEND objects "${obj_file}")
|
||||
endforeach()
|
||||
# don't use add_executable, as we need to mnually select the toolchain.
|
||||
set(inputs ${objects} "${SRC_DIR}/bench.cc")
|
||||
set(output "bench-${compiler_1}")
|
||||
add_custom_command(
|
||||
OUTPUT "${output}"
|
||||
COMMAND "${compiler_0}" ${flags} ${inputs} "-o" "${output}" ${GBENCHMARK_LINK_LIBRARIES}
|
||||
DEPENDS ${inputs}
|
||||
)
|
||||
if(compiler_1 STREQUAL "gcc") # build test only with GCC
|
||||
set(test_inputs ${objects} "${SRC_DIR}/test.cc")
|
||||
add_custom_command(
|
||||
OUTPUT "test"
|
||||
COMMAND "${compiler_0}" ${flags} ${test_inputs} "-o" "test" ${GBENCHMARK_LINK_LIBRARIES}
|
||||
DEPENDS ${test_inputs}
|
||||
)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# helper function to transform list
|
||||
function(regex_replace_list regexp replace var)
|
||||
set(result "")
|
||||
foreach(arg ${ARGN})
|
||||
string(REGEX REPLACE "${regexp}" "${replace}" x "${arg}")
|
||||
list(APPEND result "${x}")
|
||||
endforeach()
|
||||
set(${var} "${result}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# input data
|
||||
set(DAT)
|
||||
# Some benchmarks share the same data, like submatch_03__uri_simple and submatch_02__uri_rfc3986.
|
||||
regex_replace_list("^submatch_[0-9]+__([^_]+).*" "\\1" INPUTS ${BENCHMARKS})
|
||||
list(REMOVE_DUPLICATES INPUTS)
|
||||
foreach(input ${INPUTS})
|
||||
set(src_dir "${CMAKE_CURRENT_SOURCE_DIR}/../_data/${input}")
|
||||
set(dst_dir "${CMAKE_CURRENT_BINARY_DIR}/data/${input}")
|
||||
file(GLOB script "${CMAKE_CURRENT_SOURCE_DIR}/../_data/gen.py")
|
||||
add_custom_command(
|
||||
OUTPUT "${dst_dir}/small"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy "${src_dir}/small" "${dst_dir}/small"
|
||||
DEPENDS "${src_dir}/small"
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT "${dst_dir}/big"
|
||||
COMMAND "${script}"
|
||||
DEPENDS "${script}" "${dst_dir}/small"
|
||||
WORKING_DIRECTORY "${dst_dir}"
|
||||
)
|
||||
list(APPEND DAT "${dst_dir}/small" "${dst_dir}/big")
|
||||
endforeach()
|
||||
|
||||
add_custom_target(bench_submatch_aot ALL DEPENDS bench-gcc bench-clang test ${DAT})
|
||||
|
||||
# benchmark scripts
|
||||
set(srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(builddir ".")
|
||||
configure_file(run.py.in run.py @ONLY)
|
||||
|
||||
# override default clean command to keep engines
|
||||
set_directory_properties(PROPERTY
|
||||
CLEAN_NO_CUSTOM On
|
||||
ADDITIONAL_CLEAN_FILES "${GEN};${OBJ};${BIN};${DAT}"
|
||||
)
|
||||
@@ -0,0 +1,140 @@
|
||||
SRC_DIR = $(srcdir)/src
|
||||
ENG_DIR = engines
|
||||
GEN_DIR = gen
|
||||
PREGEN_DIR = $(srcdir)/pregen
|
||||
DAT_DIR = data
|
||||
RAGEL = $(ENG_DIR)/ragel/ragel7
|
||||
RE2C = $(top_builddir)/re2c
|
||||
RE2C_FLAGS = --reusable --tags --no-generation-date --no-version -i
|
||||
|
||||
CXXFLAGS = $(AM_CXXFLAGS) -O3 -g -I $(SRC_DIR) -Wall -Wno-unused-const-variable
|
||||
LDFLAGS = -lbenchmark -lpthread
|
||||
|
||||
BENCHMARKS = \
|
||||
submatch_00__http_rfc7230 \
|
||||
submatch_01__http_simple \
|
||||
submatch_02__uri_rfc3986 \
|
||||
submatch_03__uri_simple \
|
||||
submatch_04__apache_log \
|
||||
submatch_05__datetime \
|
||||
submatch_06__email \
|
||||
submatch_07__ipv4 \
|
||||
\
|
||||
submatch_10__alt1_2 \
|
||||
submatch_11__alt1_4 \
|
||||
submatch_12__alt1_8 \
|
||||
submatch_13__alt2_2 \
|
||||
submatch_14__alt2_4 \
|
||||
submatch_15__alt2_8 \
|
||||
submatch_16__alt4_2 \
|
||||
submatch_17__alt4_4 \
|
||||
submatch_18__alt4_8 \
|
||||
\
|
||||
submatch_20__cat2_0 \
|
||||
submatch_21__cat2_4 \
|
||||
submatch_22__cat2_8 \
|
||||
submatch_23__cat4_0 \
|
||||
submatch_24__cat4_2 \
|
||||
submatch_25__cat4_4 \
|
||||
submatch_26__cat8_0 \
|
||||
submatch_27__cat8_1 \
|
||||
submatch_28__cat8_2 \
|
||||
\
|
||||
submatch_30__rep_cat_5_3_2 \
|
||||
submatch_31__rep_cat_13_11_7 \
|
||||
submatch_32__rep_cat_23_19_17 \
|
||||
submatch_33__rep_alt_5_3_2 \
|
||||
submatch_34__rep_alt_13_11_7 \
|
||||
submatch_35__rep_alt_23_19_17 \
|
||||
submatch_36__rep_5_rep_3_rep_2 \
|
||||
submatch_37__rep_13_rep_11_rep_7 \
|
||||
submatch_38__rep_23_rep_19_rep_17
|
||||
|
||||
COMMON_SRC = $(SRC_DIR)/common.h
|
||||
COMMON_RAGEL = \
|
||||
$(COMMON_SRC) \
|
||||
$(SRC_DIR)/ragel/base.h
|
||||
COMMON_RE2C = \
|
||||
$(COMMON_SRC) \
|
||||
$(SRC_DIR)/re2c/base.re \
|
||||
$(SRC_DIR)/re2c/base.h
|
||||
|
||||
GEN_RAGEL = $(patsubst %, $(GEN_DIR)/ragel/%.cc, $(BENCHMARKS))
|
||||
GEN_RE2C = $(patsubst %, $(GEN_DIR)/re2c/%.cc, $(BENCHMARKS))
|
||||
GEN = $(GEN_RAGEL) $(GEN_RE2C)
|
||||
|
||||
SRC = $(GEN_RAGEL) $(GEN_RE2C)
|
||||
|
||||
OBJ_GCC = $(patsubst %.cc, %-gcc.o, $(SRC))
|
||||
OBJ_CLANG = $(patsubst %.cc, %-clang.o, $(SRC))
|
||||
OBJ_TEST = $(patsubst %.cc, %-test.o, $(SRC))
|
||||
OBJ = $(OBJ_GCC) $(OBJ_CLANG) $(OBJ_TEST)
|
||||
|
||||
# Some benchmarks share the same data, like 03__uri_simple and 02__uri_rfc3986.
|
||||
DAT = $(patsubst %, $(DAT_DIR)/%/big, \
|
||||
$(sort $(foreach bench, $(BENCHMARKS), \
|
||||
$(word 3, $(subst _, , $(bench))))))
|
||||
|
||||
$(DAT): $(DAT_DIR)/%/big: $(srcdir)/../_data/%/small
|
||||
$(AM_V_at)mkdir -p $(@D) && cp $< $(@D)
|
||||
$(AM_V_GEN)( cd $(@D) && ../../$(srcdir)/../_data/gen.py )
|
||||
|
||||
all-local: bench-gcc bench-clang test $(DAT)
|
||||
|
||||
# compile
|
||||
|
||||
$(OBJ_GCC): %-gcc.o: %.cc
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)g++ $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJ_CLANG): %-clang.o: %.cc
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)clang++ $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJ_TEST): %-test.o: %.cc
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)g++ $(CXXFLAGS) -DRUN_IN_TEST_MODE -c -o $@ $<
|
||||
|
||||
bench-gcc: src/bench.cc $(OBJ_GCC)
|
||||
$(AM_V_GEN)g++ -DCXX=\"gcc\" -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
|
||||
|
||||
bench-clang: src/bench.cc $(OBJ_CLANG)
|
||||
$(AM_V_GEN)clang++ -DCXX=\"clang\" -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
|
||||
|
||||
test: src/test.cc $(OBJ_TEST)
|
||||
$(AM_V_GEN)g++ -DRUN_IN_TEST_MODE -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
|
||||
|
||||
# always regenerate re2c benchmarks (except for deprecated algorithms)
|
||||
|
||||
$(GEN_RE2C): $(GEN_DIR)/%.cc: $(SRC_DIR)/%.re $(COMMON_RE2C) $(RE2C)
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)$(RE2C) $(RE2C_FLAGS) $< -o $@
|
||||
$(AM_V_at)if ! cmp -s $@ $(PREGEN_DIR)/re2c/$(@F) ; then cp -f $@ $(PREGEN_DIR)/re2c/$(@F) ; fi
|
||||
|
||||
# optionally regenerate other benchmarks
|
||||
|
||||
if REGEN_BENCHMARKS
|
||||
|
||||
$(GEN_RAGEL): $(GEN_DIR)/%.cc: $(SRC_DIR)/%.rl $(COMMON_RAGEL) $(RAGEL)
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)$(RAGEL) -G2 $< -o $@
|
||||
$(AM_V_at)if ! cmp -s $@ $(PREGEN_DIR)/ragel/$(@F) ; then cp -f $@ $(PREGEN_DIR)/ragel/$(@F) ; fi
|
||||
|
||||
else
|
||||
|
||||
$(GEN_RAGEL) $(GEN_DIR)/%: $(PREGEN_DIR)/%
|
||||
$(AM_V_at)mkdir -p $(@D)
|
||||
$(AM_V_GEN)cp -f $< $@
|
||||
|
||||
endif
|
||||
|
||||
# engines
|
||||
|
||||
$(RAGEL):
|
||||
$(AM_V_at)mkdir -p $(@D) && cp $(srcdir)/../_engines/ragel/getragel7.sh $(@D)
|
||||
$(AM_V_GEN)( cd $(@D) && ./getragel7.sh )
|
||||
|
||||
# clean
|
||||
|
||||
clean-local:
|
||||
rm -f $(GEN) $(OBJ) $(DAT) bench-gcc bench-clang test
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "benchmarks/common/common.h"
|
||||
#include "benchmarks/c/common/common.h"
|
||||
#include "lib/regex.h"
|
||||
|
||||
#ifdef HAVE_RE2_RE2_H
|
||||
@@ -0,0 +1,21 @@
|
||||
add_executable(bench_submatch_jit
|
||||
"bench.cc"
|
||||
"${CMAKE_SOURCE_DIR}/benchmarks/c/common/common.cc"
|
||||
)
|
||||
|
||||
target_link_libraries(bench_submatch_jit libre2c)
|
||||
|
||||
find_package(benchmark REQUIRED)
|
||||
target_link_libraries(bench_submatch_jit benchmark::benchmark)
|
||||
|
||||
# if present, re2 is used for benchmarks
|
||||
find_path(RE2_INCLUDE_DIRECTORY "re2/re2.h")
|
||||
find_library(RE2_LIBRARY re2)
|
||||
if(RE2_INCLUDE_DIRECTORY AND RE2_LIBRARY)
|
||||
set_target_properties(bench_submatch_jit PROPERTIES
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED ON)
|
||||
target_compile_definitions(bench_submatch_jit PRIVATE "HAVE_RE2_RE2_H=1")
|
||||
target_include_directories(bench_submatch_jit PRIVATE "${RE2_INCLUDE_DIRECTORY}")
|
||||
target_link_libraries(bench_submatch_jit "${RE2_LIBRARY}")
|
||||
endif()
|
||||
@@ -0,0 +1,17 @@
|
||||
bench_submatch_jit_CXXFLAGS = $(AM_CXXFLAGS) -O3 -I $(top_srcdir)
|
||||
bench_submatch_jit_LDFLAGS = $(LDFLAGS_RE2) -lbenchmark -lpthread
|
||||
bench_submatch_jit_LDADD = $(top_builddir)/libre2c.la
|
||||
|
||||
noinst_PROGRAMS = bench_submatch_jit
|
||||
|
||||
bench_submatch_jit_SOURCES = bench.cc \
|
||||
$(top_srcdir)/benchmarks/c/common/common.cc \
|
||||
$(top_srcdir)/benchmarks/c/common/common.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_atom.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_date.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_http.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_ipv4.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_ipv6.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_uri.h
|
||||
|
||||
all-local: bench_submatch_jit
|
||||
@@ -1,13 +1,13 @@
|
||||
#include <benchmark/benchmark.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "benchmarks/common/common.h"
|
||||
#include "benchmarks/common/strings_atom.h"
|
||||
#include "benchmarks/common/strings_date.h"
|
||||
#include "benchmarks/common/strings_http.h"
|
||||
#include "benchmarks/common/strings_ipv4.h"
|
||||
#include "benchmarks/common/strings_ipv6.h"
|
||||
#include "benchmarks/common/strings_uri.h"
|
||||
#include "benchmarks/c/common/common.h"
|
||||
#include "benchmarks/c/common/strings_atom.h"
|
||||
#include "benchmarks/c/common/strings_date.h"
|
||||
#include "benchmarks/c/common/strings_http.h"
|
||||
#include "benchmarks/c/common/strings_ipv4.h"
|
||||
#include "benchmarks/c/common/strings_ipv6.h"
|
||||
#include "benchmarks/c/common/strings_uri.h"
|
||||
#include "lib/regex.h"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
add_executable(bench_submatch_nfa
|
||||
"bench.cc"
|
||||
"${CMAKE_SOURCE_DIR}/benchmarks/common/common.cc"
|
||||
"${CMAKE_SOURCE_DIR}/benchmarks/c/common/common.cc"
|
||||
)
|
||||
|
||||
target_link_libraries(bench_submatch_nfa libre2c)
|
||||
@@ -12,6 +12,9 @@ target_link_libraries(bench_submatch_nfa benchmark::benchmark)
|
||||
find_path(RE2_INCLUDE_DIRECTORY "re2/re2.h")
|
||||
find_library(RE2_LIBRARY re2)
|
||||
if(RE2_INCLUDE_DIRECTORY AND RE2_LIBRARY)
|
||||
set_target_properties(bench_submatch_nfa PROPERTIES
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED ON)
|
||||
target_compile_definitions(bench_submatch_nfa PRIVATE "HAVE_RE2_RE2_H=1")
|
||||
target_include_directories(bench_submatch_nfa PRIVATE "${RE2_INCLUDE_DIRECTORY}")
|
||||
target_link_libraries(bench_submatch_nfa "${RE2_LIBRARY}")
|
||||
@@ -0,0 +1,17 @@
|
||||
bench_submatch_nfa_CXXFLAGS = $(AM_CXXFLAGS) -O3 -I $(top_srcdir)
|
||||
bench_submatch_nfa_LDFLAGS = $(LDFLAGS_RE2) -lbenchmark -lpthread
|
||||
bench_submatch_nfa_LDADD = $(top_builddir)/libre2c.la
|
||||
|
||||
noinst_PROGRAMS = bench_submatch_nfa
|
||||
|
||||
bench_submatch_nfa_SOURCES = bench.cc \
|
||||
$(top_srcdir)/benchmarks/c/common/common.cc \
|
||||
$(top_srcdir)/benchmarks/c/common/common.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_atom.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_date.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_http.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_ipv4.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_ipv6.h \
|
||||
$(top_srcdir)/benchmarks/c/common/strings_uri.h
|
||||
|
||||
all-local: bench_submatch_nfa
|
||||
@@ -1,13 +1,13 @@
|
||||
#include <benchmark/benchmark.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "benchmarks/common/common.h"
|
||||
#include "benchmarks/common/strings_atom.h"
|
||||
#include "benchmarks/common/strings_date.h"
|
||||
#include "benchmarks/common/strings_http.h"
|
||||
#include "benchmarks/common/strings_ipv4.h"
|
||||
#include "benchmarks/common/strings_ipv6.h"
|
||||
#include "benchmarks/common/strings_uri.h"
|
||||
#include "benchmarks/c/common/common.h"
|
||||
#include "benchmarks/c/common/strings_atom.h"
|
||||
#include "benchmarks/c/common/strings_date.h"
|
||||
#include "benchmarks/c/common/strings_http.h"
|
||||
#include "benchmarks/c/common/strings_ipv4.h"
|
||||
#include "benchmarks/c/common/strings_ipv6.h"
|
||||
#include "benchmarks/c/common/strings_uri.h"
|
||||
#include "lib/regex.h"
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,709 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_04__apache_log {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 44 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_04__apache_log.cc"
|
||||
static const int apache_log_start = 25;
|
||||
static const int apache_log_first_final = 25;
|
||||
static const int apache_log_error = 0;
|
||||
|
||||
static const int apache_log_en_main = 25;
|
||||
|
||||
|
||||
#line 46 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*h1, *i1, *a1, *d1, *r1, *s1, *z1, *u1, *g1,
|
||||
*h2, *i2, *a2, *d2, *r2, *s2, *z2, *u2, *g2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_04__apache_log.cc"
|
||||
{
|
||||
cs = (int)apache_log_start;
|
||||
}
|
||||
|
||||
#line 56 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_04__apache_log.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 25:
|
||||
goto st_case_25;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 11:
|
||||
goto st_case_11;
|
||||
case 12:
|
||||
goto st_case_12;
|
||||
case 13:
|
||||
goto st_case_13;
|
||||
case 14:
|
||||
goto st_case_14;
|
||||
case 15:
|
||||
goto st_case_15;
|
||||
case 16:
|
||||
goto st_case_16;
|
||||
case 17:
|
||||
goto st_case_17;
|
||||
case 18:
|
||||
goto st_case_18;
|
||||
case 19:
|
||||
goto st_case_19;
|
||||
case 20:
|
||||
goto st_case_20;
|
||||
case 21:
|
||||
goto st_case_21;
|
||||
case 22:
|
||||
goto st_case_22;
|
||||
case 23:
|
||||
goto st_case_23;
|
||||
case 24:
|
||||
goto st_case_24;
|
||||
}
|
||||
_ctr41:
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
g2 = p; }
|
||||
|
||||
#line 93 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
|
||||
OUT("host: ", h1, h2);
|
||||
OUT("userid: ", i1, i2);
|
||||
OUT("authuser: ", a1, a2);
|
||||
OUT("date: ", d1, d2);
|
||||
OUT("request: ", r1, r2);
|
||||
OUT("status: ", s1, s2);
|
||||
OUT("size: ", z1, z2);
|
||||
OUT("url: ", u1, u2);
|
||||
OUT("agent: ", g1, g2);
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 109 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st25;
|
||||
_st25:
|
||||
p+= 1;
|
||||
st_case_25:
|
||||
if ( p == pe )
|
||||
goto _out25;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _ctr44;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr44;
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr44:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
h1 = p; }
|
||||
|
||||
#line 131 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 46: {
|
||||
goto _st1;
|
||||
}
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st1;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr2:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
h2 = p; }
|
||||
|
||||
#line 158 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st2;
|
||||
}
|
||||
case 32: {
|
||||
goto _st2;
|
||||
}
|
||||
case 45: {
|
||||
goto _ctr4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
i1 = p; }
|
||||
|
||||
#line 182 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr6;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr6:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
i2 = p; }
|
||||
|
||||
#line 203 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st4;
|
||||
}
|
||||
case 32: {
|
||||
goto _st4;
|
||||
}
|
||||
case 45: {
|
||||
goto _ctr8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 227 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr10;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr10:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 248 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st6;
|
||||
}
|
||||
case 32: {
|
||||
goto _st6;
|
||||
}
|
||||
case 91: {
|
||||
goto _ctr12;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr12:
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 272 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 93: {
|
||||
goto _st0;
|
||||
}
|
||||
}
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 93: {
|
||||
goto _st9;
|
||||
}
|
||||
}
|
||||
goto _st8;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr16;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr16;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr16:
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
d2 = p; }
|
||||
|
||||
#line 327 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st10;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st10;
|
||||
}
|
||||
case 32: {
|
||||
goto _st10;
|
||||
}
|
||||
case 34: {
|
||||
goto _ctr18;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr18:
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
r1 = p; }
|
||||
|
||||
#line 351 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st11;
|
||||
_st11:
|
||||
p+= 1;
|
||||
st_case_11:
|
||||
if ( p == pe )
|
||||
goto _out11;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 34: {
|
||||
goto _st0;
|
||||
}
|
||||
}
|
||||
goto _st12;
|
||||
_st12:
|
||||
p+= 1;
|
||||
st_case_12:
|
||||
if ( p == pe )
|
||||
goto _out12;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 34: {
|
||||
goto _st13;
|
||||
}
|
||||
}
|
||||
goto _st12;
|
||||
_st13:
|
||||
p+= 1;
|
||||
st_case_13:
|
||||
if ( p == pe )
|
||||
goto _out13;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr22;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr22;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr22:
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
r2 = p; }
|
||||
|
||||
#line 406 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st14;
|
||||
_st14:
|
||||
p+= 1;
|
||||
st_case_14:
|
||||
if ( p == pe )
|
||||
goto _out14;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st14;
|
||||
}
|
||||
case 32: {
|
||||
goto _st14;
|
||||
}
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr24;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr24:
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
s1 = p; }
|
||||
|
||||
#line 430 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st15;
|
||||
_st15:
|
||||
p+= 1;
|
||||
st_case_15:
|
||||
if ( p == pe )
|
||||
goto _out15;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr26;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr26;
|
||||
}
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st15;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr26:
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
s2 = p; }
|
||||
|
||||
#line 454 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st16;
|
||||
_st16:
|
||||
p+= 1;
|
||||
st_case_16:
|
||||
if ( p == pe )
|
||||
goto _out16;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st16;
|
||||
}
|
||||
case 32: {
|
||||
goto _st16;
|
||||
}
|
||||
case 45: {
|
||||
goto _ctr28;
|
||||
}
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr29;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr28:
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
z1 = p; }
|
||||
|
||||
#line 481 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st17;
|
||||
_st17:
|
||||
p+= 1;
|
||||
st_case_17:
|
||||
if ( p == pe )
|
||||
goto _out17;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr31;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr31:
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
z2 = p; }
|
||||
|
||||
#line 502 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st18;
|
||||
_st18:
|
||||
p+= 1;
|
||||
st_case_18:
|
||||
if ( p == pe )
|
||||
goto _out18;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st18;
|
||||
}
|
||||
case 32: {
|
||||
goto _st18;
|
||||
}
|
||||
case 34: {
|
||||
goto _ctr33;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr33:
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
u1 = p; }
|
||||
|
||||
#line 526 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st19;
|
||||
_st19:
|
||||
p+= 1;
|
||||
st_case_19:
|
||||
if ( p == pe )
|
||||
goto _out19;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 34: {
|
||||
goto _st20;
|
||||
}
|
||||
}
|
||||
goto _st19;
|
||||
_st20:
|
||||
p+= 1;
|
||||
st_case_20:
|
||||
if ( p == pe )
|
||||
goto _out20;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr36;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr36;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr36:
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
u2 = p; }
|
||||
|
||||
#line 564 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st21;
|
||||
_st21:
|
||||
p+= 1;
|
||||
st_case_21:
|
||||
if ( p == pe )
|
||||
goto _out21;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _st21;
|
||||
}
|
||||
case 32: {
|
||||
goto _st21;
|
||||
}
|
||||
case 34: {
|
||||
goto _ctr38;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr38:
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
g1 = p; }
|
||||
|
||||
#line 588 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st22;
|
||||
_st22:
|
||||
p+= 1;
|
||||
st_case_22:
|
||||
if ( p == pe )
|
||||
goto _out22;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st0;
|
||||
}
|
||||
case 34: {
|
||||
goto _st23;
|
||||
}
|
||||
}
|
||||
goto _st22;
|
||||
_st23:
|
||||
p+= 1;
|
||||
st_case_23:
|
||||
if ( p == pe )
|
||||
goto _out23;
|
||||
if ( ( (*( p))) == 10 ) {
|
||||
goto _ctr41;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr29:
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
z1 = p; }
|
||||
|
||||
#line 621 "gen/ragel/submatch_04__apache_log.cc"
|
||||
|
||||
goto _st24;
|
||||
_st24:
|
||||
p+= 1;
|
||||
st_case_24:
|
||||
if ( p == pe )
|
||||
goto _out24;
|
||||
switch( ( (*( p))) ) {
|
||||
case 9: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 32: {
|
||||
goto _ctr31;
|
||||
}
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st24;
|
||||
}
|
||||
goto _st0;
|
||||
_out25: cs = 25; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out11: cs = 11; goto _out;
|
||||
_out12: cs = 12; goto _out;
|
||||
_out13: cs = 13; goto _out;
|
||||
_out14: cs = 14; goto _out;
|
||||
_out15: cs = 15; goto _out;
|
||||
_out16: cs = 16; goto _out;
|
||||
_out17: cs = 17; goto _out;
|
||||
_out18: cs = 18; goto _out;
|
||||
_out19: cs = 19; goto _out;
|
||||
_out20: cs = 20; goto _out;
|
||||
_out21: cs = 21; goto _out;
|
||||
_out22: cs = 22; goto _out;
|
||||
_out23: cs = 23; goto _out;
|
||||
_out24: cs = 24; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 57 "../../../benchmarks/c/src/ragel/submatch_04__apache_log.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_04__apache_log
|
||||
@@ -0,0 +1,697 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_05__datetime {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 37 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_05__datetime.cc"
|
||||
static const int datetime_start = 35;
|
||||
static const int datetime_first_final = 35;
|
||||
static const int datetime_error = 0;
|
||||
|
||||
static const int datetime_en_main = 35;
|
||||
|
||||
|
||||
#line 39 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*s1, *y1, *h1, *m1, *d1, *M1, *z1,
|
||||
*s2, *y2, *h2, *m2, *d2, *M2, *z2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_05__datetime.cc"
|
||||
{
|
||||
cs = (int)datetime_start;
|
||||
}
|
||||
|
||||
#line 49 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_05__datetime.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 35:
|
||||
goto st_case_35;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 11:
|
||||
goto st_case_11;
|
||||
case 12:
|
||||
goto st_case_12;
|
||||
case 13:
|
||||
goto st_case_13;
|
||||
case 14:
|
||||
goto st_case_14;
|
||||
case 15:
|
||||
goto st_case_15;
|
||||
case 16:
|
||||
goto st_case_16;
|
||||
case 17:
|
||||
goto st_case_17;
|
||||
case 18:
|
||||
goto st_case_18;
|
||||
case 19:
|
||||
goto st_case_19;
|
||||
case 20:
|
||||
goto st_case_20;
|
||||
case 21:
|
||||
goto st_case_21;
|
||||
case 22:
|
||||
goto st_case_22;
|
||||
case 23:
|
||||
goto st_case_23;
|
||||
case 24:
|
||||
goto st_case_24;
|
||||
case 25:
|
||||
goto st_case_25;
|
||||
case 26:
|
||||
goto st_case_26;
|
||||
case 27:
|
||||
goto st_case_27;
|
||||
case 28:
|
||||
goto st_case_28;
|
||||
case 29:
|
||||
goto st_case_29;
|
||||
case 30:
|
||||
goto st_case_30;
|
||||
case 31:
|
||||
goto st_case_31;
|
||||
case 32:
|
||||
goto st_case_32;
|
||||
case 33:
|
||||
goto st_case_33;
|
||||
case 34:
|
||||
goto st_case_34;
|
||||
}
|
||||
_ctr43:
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
z2 = p; }
|
||||
|
||||
#line 113 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
|
||||
OUT("year: ", y1, y2);
|
||||
OUT("month: ", m1, m2);
|
||||
OUT("day: ", d1, d2);
|
||||
OUT("hours: ", h1, h2);
|
||||
OUT("minutes: ", M1, M2);
|
||||
OUT("seconds: ", s1, s2);
|
||||
OUT("tz: ", z1, z2);
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 127 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st35;
|
||||
_st35:
|
||||
p+= 1;
|
||||
st_case_35:
|
||||
if ( p == pe )
|
||||
goto _out35;
|
||||
if ( ( (*( p))) == 48 ) {
|
||||
goto _ctr53;
|
||||
}
|
||||
if ( 49 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr54;
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr53:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
y1 = p; }
|
||||
|
||||
#line 149 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st2;
|
||||
}
|
||||
goto _st0;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st3;
|
||||
}
|
||||
goto _st0;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st4;
|
||||
}
|
||||
goto _st0;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
if ( ( (*( p))) == 45 ) {
|
||||
goto _ctr5;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr5:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
y2 = p; }
|
||||
|
||||
#line 192 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 48: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 49: {
|
||||
goto _ctr8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr7:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
m1 = p; }
|
||||
|
||||
#line 213 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
if ( 49 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st7;
|
||||
}
|
||||
goto _st0;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
if ( ( (*( p))) == 45 ) {
|
||||
goto _ctr11;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr11:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
m2 = p; }
|
||||
|
||||
#line 238 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 48: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 51: {
|
||||
goto _ctr15;
|
||||
}
|
||||
}
|
||||
if ( 49 <= ( (*( p))) && ( (*( p))) <= 50 ) {
|
||||
goto _ctr14;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr13:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 262 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
if ( 49 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st10;
|
||||
}
|
||||
goto _st0;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
if ( ( (*( p))) == 84 ) {
|
||||
goto _ctr18;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr18:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
d2 = p; }
|
||||
|
||||
#line 287 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st11;
|
||||
_st11:
|
||||
p+= 1;
|
||||
st_case_11:
|
||||
if ( p == pe )
|
||||
goto _out11;
|
||||
if ( ( (*( p))) == 50 ) {
|
||||
goto _ctr21;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 49 ) {
|
||||
goto _ctr20;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr20:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
h1 = p; }
|
||||
|
||||
#line 306 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st12;
|
||||
_st12:
|
||||
p+= 1;
|
||||
st_case_12:
|
||||
if ( p == pe )
|
||||
goto _out12;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st13;
|
||||
}
|
||||
goto _st0;
|
||||
_st13:
|
||||
p+= 1;
|
||||
st_case_13:
|
||||
if ( p == pe )
|
||||
goto _out13;
|
||||
if ( ( (*( p))) == 58 ) {
|
||||
goto _ctr24;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr24:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
h2 = p; }
|
||||
|
||||
#line 331 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st14;
|
||||
_st14:
|
||||
p+= 1;
|
||||
st_case_14:
|
||||
if ( p == pe )
|
||||
goto _out14;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 53 ) {
|
||||
goto _ctr26;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr26:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
M1 = p; }
|
||||
|
||||
#line 347 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st15;
|
||||
_st15:
|
||||
p+= 1;
|
||||
st_case_15:
|
||||
if ( p == pe )
|
||||
goto _out15;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st16;
|
||||
}
|
||||
goto _st0;
|
||||
_st16:
|
||||
p+= 1;
|
||||
st_case_16:
|
||||
if ( p == pe )
|
||||
goto _out16;
|
||||
if ( ( (*( p))) == 58 ) {
|
||||
goto _ctr29;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr29:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
M2 = p; }
|
||||
|
||||
#line 372 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st17;
|
||||
_st17:
|
||||
p+= 1;
|
||||
st_case_17:
|
||||
if ( p == pe )
|
||||
goto _out17;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 53 ) {
|
||||
goto _ctr31;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr31:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
s1 = p; }
|
||||
|
||||
#line 388 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st18;
|
||||
_st18:
|
||||
p+= 1;
|
||||
st_case_18:
|
||||
if ( p == pe )
|
||||
goto _out18;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st19;
|
||||
}
|
||||
goto _st0;
|
||||
_st19:
|
||||
p+= 1;
|
||||
st_case_19:
|
||||
if ( p == pe )
|
||||
goto _out19;
|
||||
switch( ( (*( p))) ) {
|
||||
case 43: {
|
||||
goto _ctr34;
|
||||
}
|
||||
case 45: {
|
||||
goto _ctr34;
|
||||
}
|
||||
case 90: {
|
||||
goto _ctr35;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr34:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
s2 = p; }
|
||||
|
||||
#line 421 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
z1 = p; }
|
||||
|
||||
#line 426 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st20;
|
||||
_st20:
|
||||
p+= 1;
|
||||
st_case_20:
|
||||
if ( p == pe )
|
||||
goto _out20;
|
||||
if ( ( (*( p))) == 50 ) {
|
||||
goto _st26;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 49 ) {
|
||||
goto _st21;
|
||||
}
|
||||
goto _st0;
|
||||
_st21:
|
||||
p+= 1;
|
||||
st_case_21:
|
||||
if ( p == pe )
|
||||
goto _out21;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st22;
|
||||
}
|
||||
goto _st0;
|
||||
_st22:
|
||||
p+= 1;
|
||||
st_case_22:
|
||||
if ( p == pe )
|
||||
goto _out22;
|
||||
if ( ( (*( p))) == 58 ) {
|
||||
goto _st23;
|
||||
}
|
||||
goto _st0;
|
||||
_st23:
|
||||
p+= 1;
|
||||
st_case_23:
|
||||
if ( p == pe )
|
||||
goto _out23;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 53 ) {
|
||||
goto _st24;
|
||||
}
|
||||
goto _st0;
|
||||
_st24:
|
||||
p+= 1;
|
||||
st_case_24:
|
||||
if ( p == pe )
|
||||
goto _out24;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st25;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr35:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
s2 = p; }
|
||||
|
||||
#line 481 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
z1 = p; }
|
||||
|
||||
#line 486 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st25;
|
||||
_st25:
|
||||
p+= 1;
|
||||
st_case_25:
|
||||
if ( p == pe )
|
||||
goto _out25;
|
||||
if ( ( (*( p))) == 10 ) {
|
||||
goto _ctr43;
|
||||
}
|
||||
goto _st0;
|
||||
_st26:
|
||||
p+= 1;
|
||||
st_case_26:
|
||||
if ( p == pe )
|
||||
goto _out26;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 51 ) {
|
||||
goto _st22;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr21:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
h1 = p; }
|
||||
|
||||
#line 511 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st27;
|
||||
_st27:
|
||||
p+= 1;
|
||||
st_case_27:
|
||||
if ( p == pe )
|
||||
goto _out27;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 51 ) {
|
||||
goto _st13;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 527 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st28;
|
||||
_st28:
|
||||
p+= 1;
|
||||
st_case_28:
|
||||
if ( p == pe )
|
||||
goto _out28;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st10;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr15:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 543 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st29;
|
||||
_st29:
|
||||
p+= 1;
|
||||
st_case_29:
|
||||
if ( p == pe )
|
||||
goto _out29;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 49 ) {
|
||||
goto _st10;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
m1 = p; }
|
||||
|
||||
#line 559 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st30;
|
||||
_st30:
|
||||
p+= 1;
|
||||
st_case_30:
|
||||
if ( p == pe )
|
||||
goto _out30;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 50 ) {
|
||||
goto _st7;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr54:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
y1 = p; }
|
||||
|
||||
#line 575 "gen/ragel/submatch_05__datetime.cc"
|
||||
|
||||
goto _st31;
|
||||
_st31:
|
||||
p+= 1;
|
||||
st_case_31:
|
||||
if ( p == pe )
|
||||
goto _out31;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st32;
|
||||
}
|
||||
goto _st0;
|
||||
_st32:
|
||||
p+= 1;
|
||||
st_case_32:
|
||||
if ( p == pe )
|
||||
goto _out32;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st33;
|
||||
}
|
||||
goto _st0;
|
||||
_st33:
|
||||
p+= 1;
|
||||
st_case_33:
|
||||
if ( p == pe )
|
||||
goto _out33;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st34;
|
||||
}
|
||||
goto _st0;
|
||||
_st34:
|
||||
p+= 1;
|
||||
st_case_34:
|
||||
if ( p == pe )
|
||||
goto _out34;
|
||||
if ( ( (*( p))) == 45 ) {
|
||||
goto _ctr5;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st34;
|
||||
}
|
||||
goto _st0;
|
||||
_out35: cs = 35; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out11: cs = 11; goto _out;
|
||||
_out12: cs = 12; goto _out;
|
||||
_out13: cs = 13; goto _out;
|
||||
_out14: cs = 14; goto _out;
|
||||
_out15: cs = 15; goto _out;
|
||||
_out16: cs = 16; goto _out;
|
||||
_out17: cs = 17; goto _out;
|
||||
_out18: cs = 18; goto _out;
|
||||
_out19: cs = 19; goto _out;
|
||||
_out20: cs = 20; goto _out;
|
||||
_out21: cs = 21; goto _out;
|
||||
_out22: cs = 22; goto _out;
|
||||
_out23: cs = 23; goto _out;
|
||||
_out24: cs = 24; goto _out;
|
||||
_out25: cs = 25; goto _out;
|
||||
_out26: cs = 26; goto _out;
|
||||
_out27: cs = 27; goto _out;
|
||||
_out28: cs = 28; goto _out;
|
||||
_out29: cs = 29; goto _out;
|
||||
_out30: cs = 30; goto _out;
|
||||
_out31: cs = 31; goto _out;
|
||||
_out32: cs = 32; goto _out;
|
||||
_out33: cs = 33; goto _out;
|
||||
_out34: cs = 34; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 50 "../../../benchmarks/c/src/ragel/submatch_05__datetime.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_05__datetime
|
||||
@@ -0,0 +1,407 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_06__email {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_06__email.cc"
|
||||
static const int email_start = 10;
|
||||
static const int email_first_final = 10;
|
||||
static const int email_error = 0;
|
||||
|
||||
static const int email_en_main = 10;
|
||||
|
||||
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
char *p1, *p2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 26 "gen/ragel/submatch_06__email.cc"
|
||||
{
|
||||
cs = (int)email_start;
|
||||
}
|
||||
|
||||
#line 38 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
|
||||
|
||||
#line 31 "gen/ragel/submatch_06__email.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
}
|
||||
_ctr11:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
|
||||
OUTC(' ');
|
||||
OUTS(p1, p2 - 1);
|
||||
OUTC(' ');
|
||||
OUTS(p2, p);
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 67 "gen/ragel/submatch_06__email.cc"
|
||||
|
||||
goto _st10;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 33: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 45: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 61: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 63: {
|
||||
goto _ctr13;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) < 42 ) {
|
||||
if ( 35 <= ( (*( p))) && ( (*( p))) <= 39 ) {
|
||||
goto _ctr13;
|
||||
}
|
||||
} else if ( ( (*( p))) > 43 ) {
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 94 <= ( (*( p))) && ( (*( p))) <= 126 ) {
|
||||
goto _ctr13;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 47 ) {
|
||||
goto _ctr13;
|
||||
}
|
||||
} else {
|
||||
goto _ctr13;
|
||||
}
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
}
|
||||
goto _st1;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr13:
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
p1 = p; }
|
||||
|
||||
#line 132 "gen/ragel/submatch_06__email.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 33: {
|
||||
goto _st2;
|
||||
}
|
||||
case 46: {
|
||||
goto _st3;
|
||||
}
|
||||
case 61: {
|
||||
goto _st2;
|
||||
}
|
||||
case 63: {
|
||||
goto _st2;
|
||||
}
|
||||
case 64: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) < 42 ) {
|
||||
if ( 35 <= ( (*( p))) && ( (*( p))) <= 39 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else if ( ( (*( p))) > 43 ) {
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 94 <= ( (*( p))) && ( (*( p))) <= 126 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 45 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else {
|
||||
goto _st2;
|
||||
}
|
||||
goto _st1;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 33: {
|
||||
goto _st2;
|
||||
}
|
||||
case 45: {
|
||||
goto _st2;
|
||||
}
|
||||
case 61: {
|
||||
goto _st2;
|
||||
}
|
||||
case 63: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) < 42 ) {
|
||||
if ( 35 <= ( (*( p))) && ( (*( p))) <= 39 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else if ( ( (*( p))) > 43 ) {
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 94 <= ( (*( p))) && ( (*( p))) <= 126 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 47 ) {
|
||||
goto _st2;
|
||||
}
|
||||
} else {
|
||||
goto _st2;
|
||||
}
|
||||
goto _st1;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _ctr6;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _ctr6;
|
||||
}
|
||||
goto _st1;
|
||||
_ctr6:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
p2 = p; }
|
||||
|
||||
#line 245 "gen/ragel/submatch_06__email.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 45: {
|
||||
goto _st6;
|
||||
}
|
||||
case 46: {
|
||||
goto _st7;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _st5;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _st5;
|
||||
}
|
||||
goto _st1;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 45: {
|
||||
goto _st6;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _st5;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _st5;
|
||||
}
|
||||
goto _st1;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _st8;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _st8;
|
||||
}
|
||||
goto _st1;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 45: {
|
||||
goto _st9;
|
||||
}
|
||||
case 46: {
|
||||
goto _st7;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _st8;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _st8;
|
||||
}
|
||||
goto _st1;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 0: {
|
||||
goto _st0;
|
||||
}
|
||||
case 10: {
|
||||
goto _st10;
|
||||
}
|
||||
case 45: {
|
||||
goto _st9;
|
||||
}
|
||||
}
|
||||
if ( ( (*( p))) > 57 ) {
|
||||
if ( 97 <= ( (*( p))) && ( (*( p))) <= 122 ) {
|
||||
goto _st8;
|
||||
}
|
||||
} else if ( ( (*( p))) >= 48 ) {
|
||||
goto _st8;
|
||||
}
|
||||
goto _st1;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 39 "../../../benchmarks/c/src/ragel/submatch_06__email.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_06__email
|
||||
@@ -0,0 +1,328 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_07__ipv4 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_07__ipv4.cc"
|
||||
static const int ipv4_start = 16;
|
||||
static const int ipv4_first_final = 16;
|
||||
static const int ipv4_error = 0;
|
||||
|
||||
static const int ipv4_en_main = 16;
|
||||
|
||||
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char *p1, *p2, *p3, *p4;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 26 "gen/ragel/submatch_07__ipv4.cc"
|
||||
{
|
||||
cs = (int)ipv4_start;
|
||||
}
|
||||
|
||||
#line 39 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
|
||||
|
||||
#line 31 "gen/ragel/submatch_07__ipv4.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 16:
|
||||
goto st_case_16;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 11:
|
||||
goto st_case_11;
|
||||
case 12:
|
||||
goto st_case_12;
|
||||
case 13:
|
||||
goto st_case_13;
|
||||
case 14:
|
||||
goto st_case_14;
|
||||
case 15:
|
||||
goto st_case_15;
|
||||
}
|
||||
_ctr14:
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
|
||||
OUTS(p1, p2 - 1);
|
||||
OUTC(',');
|
||||
OUTS(p2, p3 - 1);
|
||||
OUTC(',');
|
||||
OUTS(p3, p4 - 1);
|
||||
OUTC(',');
|
||||
OUTS(p4, p);
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 82 "gen/ragel/submatch_07__ipv4.cc"
|
||||
|
||||
goto _st16;
|
||||
_st16:
|
||||
p+= 1;
|
||||
st_case_16:
|
||||
if ( p == pe )
|
||||
goto _out16;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr21;
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr21:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
p1 = p; }
|
||||
|
||||
#line 101 "gen/ragel/submatch_07__ipv4.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st2;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st14;
|
||||
}
|
||||
goto _st0;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr4;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
p2 = p; }
|
||||
|
||||
#line 129 "gen/ragel/submatch_07__ipv4.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st4;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st12;
|
||||
}
|
||||
goto _st0;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr8;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
p3 = p; }
|
||||
|
||||
#line 157 "gen/ragel/submatch_07__ipv4.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st6;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st10;
|
||||
}
|
||||
goto _st0;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _ctr12;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr12:
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
p4 = p; }
|
||||
|
||||
#line 185 "gen/ragel/submatch_07__ipv4.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
if ( ( (*( p))) == 10 ) {
|
||||
goto _ctr14;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st8;
|
||||
}
|
||||
goto _st0;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
if ( ( (*( p))) == 10 ) {
|
||||
goto _ctr14;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st9;
|
||||
}
|
||||
goto _st0;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
if ( ( (*( p))) == 10 ) {
|
||||
goto _ctr14;
|
||||
}
|
||||
goto _st0;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st6;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st11;
|
||||
}
|
||||
goto _st0;
|
||||
_st11:
|
||||
p+= 1;
|
||||
st_case_11:
|
||||
if ( p == pe )
|
||||
goto _out11;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st6;
|
||||
}
|
||||
goto _st0;
|
||||
_st12:
|
||||
p+= 1;
|
||||
st_case_12:
|
||||
if ( p == pe )
|
||||
goto _out12;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st4;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st13;
|
||||
}
|
||||
goto _st0;
|
||||
_st13:
|
||||
p+= 1;
|
||||
st_case_13:
|
||||
if ( p == pe )
|
||||
goto _out13;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st4;
|
||||
}
|
||||
goto _st0;
|
||||
_st14:
|
||||
p+= 1;
|
||||
st_case_14:
|
||||
if ( p == pe )
|
||||
goto _out14;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st2;
|
||||
}
|
||||
if ( 48 <= ( (*( p))) && ( (*( p))) <= 57 ) {
|
||||
goto _st15;
|
||||
}
|
||||
goto _st0;
|
||||
_st15:
|
||||
p+= 1;
|
||||
st_case_15:
|
||||
if ( p == pe )
|
||||
goto _out15;
|
||||
if ( ( (*( p))) == 46 ) {
|
||||
goto _st2;
|
||||
}
|
||||
goto _st0;
|
||||
_out16: cs = 16; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out11: cs = 11; goto _out;
|
||||
_out12: cs = 12; goto _out;
|
||||
_out13: cs = 13; goto _out;
|
||||
_out14: cs = 14; goto _out;
|
||||
_out15: cs = 15; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 40 "../../../benchmarks/c/src/ragel/submatch_07__ipv4.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_07__ipv4
|
||||
@@ -0,0 +1,207 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_10__alt1_2 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
static const int m_start = 3;
|
||||
static const int m_first_final = 3;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 3;
|
||||
|
||||
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1,
|
||||
*a2, *b2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 35 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 49 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 58 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
goto _st3;
|
||||
_ctr4:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 65 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 74 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
goto _st3;
|
||||
_ctr6:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 81 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 86 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 91 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 96 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 105 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr7:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 132 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 153 "gen/ragel/submatch_10__alt1_2.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr4;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_10__alt1_2.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_10__alt1_2
|
||||
@@ -0,0 +1,333 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_11__alt1_4 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
static const int m_start = 5;
|
||||
static const int m_first_final = 5;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 5;
|
||||
|
||||
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1, *c1, *d1,
|
||||
*a2, *b2, *c2, *d2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 39 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 53 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 64 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr4:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 71 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 82 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr6:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 89 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 100 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr8:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 107 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 118 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr10:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 125 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 130 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 135 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 140 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 145 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 150 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 155 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 160 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 171 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr12;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr14;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr11:
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 204 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr12:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 225 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr4;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr13:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 246 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 99: {
|
||||
goto _st3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 267 "gen/ragel/submatch_11__alt1_4.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr8;
|
||||
}
|
||||
case 100: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 40 "../../../benchmarks/c/src/ragel/submatch_11__alt1_4.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_11__alt1_4
|
||||
@@ -0,0 +1,609 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_12__alt1_8 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 35 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
static const int m_start = 9;
|
||||
static const int m_first_final = 9;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 9;
|
||||
|
||||
|
||||
#line 37 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1, *c1, *d1, *e1, *f1, *g1, *h1,
|
||||
*a2, *b2, *c2, *d2, *e2, *f2, *g2, *h2;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 47 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 61 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 76 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr4:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 83 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 98 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr6:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 105 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 120 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr8:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 127 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 142 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr10:
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
e2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 149 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 164 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr12:
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
f2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 171 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 186 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr14:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
g2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 193 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 208 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr16:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
h2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = NULL; }
|
||||
|
||||
#line 215 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 230 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr18:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 237 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 242 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 247 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 252 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 257 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 262 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
e1 = p; }
|
||||
|
||||
#line 267 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
e2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 272 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
f1 = p; }
|
||||
|
||||
#line 277 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
f2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 282 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
g1 = p; }
|
||||
|
||||
#line 287 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
g2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 292 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
h1 = p; }
|
||||
|
||||
#line 297 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
h2 = p; a1 = a2 = b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = NULL; }
|
||||
|
||||
#line 302 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 307 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = g1 = g2 = h1 = h2 = NULL; }
|
||||
|
||||
#line 312 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
else if (e1) { OUTC('E'); OUTS(e1, e2); }
|
||||
else if (f1) { OUTC('F'); OUTS(f1, f2); }
|
||||
else if (g1) { OUTC('G'); OUTS(g1, g2); }
|
||||
else if (h1) { OUTC('H'); OUTS(h1, h2); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 327 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr18;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr20;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr21;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr22;
|
||||
}
|
||||
case 101: {
|
||||
goto _ctr23;
|
||||
}
|
||||
case 102: {
|
||||
goto _ctr24;
|
||||
}
|
||||
case 103: {
|
||||
goto _ctr25;
|
||||
}
|
||||
case 104: {
|
||||
goto _ctr26;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr19:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 372 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr20:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 393 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr4;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr21:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 414 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 99: {
|
||||
goto _st3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr22:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 435 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr8;
|
||||
}
|
||||
case 100: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr23:
|
||||
{
|
||||
#line 16 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
e1 = p; }
|
||||
|
||||
#line 456 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 101: {
|
||||
goto _st5;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr24:
|
||||
{
|
||||
#line 17 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
f1 = p; }
|
||||
|
||||
#line 477 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr12;
|
||||
}
|
||||
case 102: {
|
||||
goto _st6;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr25:
|
||||
{
|
||||
#line 18 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
g1 = p; }
|
||||
|
||||
#line 498 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr14;
|
||||
}
|
||||
case 103: {
|
||||
goto _st7;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr26:
|
||||
{
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
h1 = p; }
|
||||
|
||||
#line 519 "gen/ragel/submatch_12__alt1_8.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr16;
|
||||
}
|
||||
case 104: {
|
||||
goto _st8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 48 "../../../benchmarks/c/src/ragel/submatch_12__alt1_8.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_12__alt1_8
|
||||
@@ -0,0 +1,395 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_13__alt2_2 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
static const int m_start = 5;
|
||||
static const int m_first_final = 5;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 5;
|
||||
|
||||
|
||||
#line 38 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1,
|
||||
*a2, *b2,
|
||||
*a3, *b3,
|
||||
*a4, *b4;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 30 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 50 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
|
||||
#line 35 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 55 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 60 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 65 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 70 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 75 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 86 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr5:
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 93 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 104 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr7:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 111 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 116 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 121 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 126 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 131 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 142 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr10:
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 149 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 160 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr12:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 167 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 172 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 177 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 182 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 187 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 192 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 197 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 202 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 213 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr12;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr14;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr13:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 240 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr3:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 264 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 24 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 269 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr5;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 290 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr8;
|
||||
}
|
||||
case 98: {
|
||||
goto _st3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 314 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 319 "gen/ragel/submatch_13__alt2_2.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 97: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 51 "../../../benchmarks/c/src/ragel/submatch_13__alt2_2.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_13__alt2_2
|
||||
@@ -0,0 +1,963 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_14__alt2_4 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 44 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
static const int m_start = 9;
|
||||
static const int m_first_final = 9;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 9;
|
||||
|
||||
|
||||
#line 46 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1, *c1, *d1,
|
||||
*a2, *b2, *c2, *d2,
|
||||
*a3, *b3, *c3, *d3,
|
||||
*a4, *b4, *c4, *d4;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 30 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 58 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
|
||||
#line 35 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 63 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 68 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 73 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 78 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 83 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 88 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 93 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 98 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 103 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 118 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr7:
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 125 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 140 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr9:
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 147 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 162 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr11:
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 169 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 184 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr13:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 191 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 196 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 201 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 206 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 211 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 216 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 221 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 226 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 231 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 246 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr18:
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 253 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 268 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr20:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 275 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 280 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 285 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 290 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 295 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 300 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 305 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 310 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 315 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 330 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr25:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 337 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 342 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 347 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 352 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 357 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 362 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 367 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 372 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 377 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 392 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr30:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 399 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 404 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 409 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 414 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 419 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 424 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 429 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 434 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 439 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b4 = p; a3 = a4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 444 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 449 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c4 = p; a3 = a4 = b3 = b4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 454 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 459 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d4 = p; a3 = a4 = b3 = b4 = c3 = c4 = NULL; }
|
||||
|
||||
#line 464 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 469 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a4 = p; b3 = b4 = c3 = c4 = d3 = d4 = NULL; }
|
||||
|
||||
#line 474 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
else if (c1) { OUTC('C'); OUTS(c1, c2); }
|
||||
else if (d1) { OUTC('D'); OUTS(d1, d2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
else if (c3) { OUTC('C'); OUTS(c3, c4); }
|
||||
else if (d3) { OUTC('D'); OUTS(d3, d4); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 489 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr30;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr32;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr33;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr34;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr31:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 522 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr3;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr4;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr5;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr3:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 552 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 557 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr22:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 564 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 569 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr27:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 576 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 581 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 602 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 607 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st3;
|
||||
_ctr15:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 614 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 619 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st3;
|
||||
_ctr28:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 626 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 27 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c3 = p; }
|
||||
|
||||
#line 631 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr9;
|
||||
}
|
||||
case 99: {
|
||||
goto _st3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr5:
|
||||
{
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a2 = p; b1 = b2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 652 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 657 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st4;
|
||||
_ctr16:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 664 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 669 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st4;
|
||||
_ctr23:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 676 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 28 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d3 = p; }
|
||||
|
||||
#line 681 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 100: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr32:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 702 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr14;
|
||||
}
|
||||
case 98: {
|
||||
goto _st5;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr15;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr16;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 20 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
b2 = p; a1 = a2 = c1 = c2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 732 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 737 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st6;
|
||||
_ctr21:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c2 = p; a1 = a2 = b1 = b2 = d1 = d2 = NULL; }
|
||||
|
||||
#line 744 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 749 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st6;
|
||||
_ctr26:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d2 = p; a1 = a2 = b1 = b2 = c1 = c2 = NULL; }
|
||||
|
||||
#line 756 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 761 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr18;
|
||||
}
|
||||
case 97: {
|
||||
goto _st6;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr33:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
c1 = p; }
|
||||
|
||||
#line 782 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr20;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr21;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr22;
|
||||
}
|
||||
case 99: {
|
||||
goto _st7;
|
||||
}
|
||||
case 100: {
|
||||
goto _ctr23;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr34:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
d1 = p; }
|
||||
|
||||
#line 812 "gen/ragel/submatch_14__alt2_4.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr25;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr26;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr27;
|
||||
}
|
||||
case 99: {
|
||||
goto _ctr28;
|
||||
}
|
||||
case 100: {
|
||||
goto _st8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 59 "../../../benchmarks/c/src/ragel/submatch_14__alt2_4.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_14__alt2_4
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,939 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_16__alt4_2 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 49 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
static const int m_start = 9;
|
||||
static const int m_first_final = 9;
|
||||
static const int m_error = 0;
|
||||
|
||||
static const int m_en_main = 9;
|
||||
|
||||
|
||||
#line 51 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a1, *b1,
|
||||
*a2, *b2,
|
||||
*a3, *b3,
|
||||
*a4, *b4,
|
||||
*a5, *b5,
|
||||
*a6, *b6,
|
||||
*a7, *b7,
|
||||
*a8, *b8;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 34 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
{
|
||||
cs = (int)m_start;
|
||||
}
|
||||
|
||||
#line 67 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
|
||||
#line 39 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 67 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 72 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 77 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 82 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 87 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 92 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 97 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 102 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 107 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 112 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 117 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 122 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 127 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 142 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr5:
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 149 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 154 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 159 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 164 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 169 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 174 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 179 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 184 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 189 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 204 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr8:
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 211 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 216 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 221 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 226 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 231 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 246 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr11:
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 253 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 268 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr13:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 275 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 280 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 285 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 290 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 295 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 300 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 305 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 310 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 315 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 320 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 325 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 330 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 335 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 350 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr16:
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 357 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 362 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 367 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 372 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 377 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 382 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 387 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 392 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 397 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 412 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr19:
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 419 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 424 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 429 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 434 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 439 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 454 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr22:
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 461 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 476 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr24:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 483 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 488 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 493 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 498 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 503 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 508 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 513 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 518 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 523 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 528 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 533 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 538 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 543 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b8 = p; a7 = a8 = NULL; }
|
||||
|
||||
#line 548 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 553 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a8 = p; b7 = b8 = NULL; }
|
||||
|
||||
#line 558 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
if (a1) { OUTC('A'); OUTS(a1, a2); }
|
||||
else if (b1) { OUTC('B'); OUTS(b1, b2); }
|
||||
if (a3) { OUTC('A'); OUTS(a3, a4); }
|
||||
else if (b3) { OUTC('B'); OUTS(b3, b4); }
|
||||
if (a5) { OUTC('A'); OUTS(a5, a6); }
|
||||
else if (b5) { OUTC('B'); OUTS(b5, b6); }
|
||||
if (a7) { OUTC('A'); OUTS(a7, a8); }
|
||||
else if (b7) { OUTC('B'); OUTS(b7, b8); }
|
||||
OUTC('\n');
|
||||
}
|
||||
|
||||
#line 573 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr24;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr25;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr26;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr25:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 600 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _st1;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr3;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr3:
|
||||
{
|
||||
#line 22 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a2 = p; b1 = b2 = NULL; }
|
||||
|
||||
#line 624 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 629 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr5;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 98: {
|
||||
goto _st2;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr6:
|
||||
{
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b4 = p; a3 = a4 = NULL; }
|
||||
|
||||
#line 653 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a5 = p; }
|
||||
|
||||
#line 658 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr8;
|
||||
}
|
||||
case 97: {
|
||||
goto _st3;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr9;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr9:
|
||||
{
|
||||
#line 30 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a6 = p; b5 = b6 = NULL; }
|
||||
|
||||
#line 682 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 33 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b7 = p; }
|
||||
|
||||
#line 687 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 98: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr26:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 708 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr14;
|
||||
}
|
||||
case 98: {
|
||||
goto _st5;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b2 = p; a1 = a2 = NULL; }
|
||||
|
||||
#line 732 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 737 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr16;
|
||||
}
|
||||
case 97: {
|
||||
goto _st6;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr17;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr17:
|
||||
{
|
||||
#line 26 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a4 = p; b3 = b4 = NULL; }
|
||||
|
||||
#line 761 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b5 = p; }
|
||||
|
||||
#line 766 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr20;
|
||||
}
|
||||
case 98: {
|
||||
goto _st7;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr20:
|
||||
{
|
||||
#line 29 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
b6 = p; a5 = a6 = NULL; }
|
||||
|
||||
#line 790 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
{
|
||||
#line 34 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
a7 = p; }
|
||||
|
||||
#line 795 "gen/ragel/submatch_16__alt4_2.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr22;
|
||||
}
|
||||
case 97: {
|
||||
goto _st8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 68 "../../../benchmarks/c/src/ragel/submatch_16__alt4_2.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_16__alt4_2
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,387 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_20__cat2_0 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
static const int abcd_start = 5;
|
||||
static const int abcd_first_final = 5;
|
||||
static const int abcd_error = 0;
|
||||
|
||||
static const int abcd_en_main = 5;
|
||||
|
||||
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a0, *a1,
|
||||
*b0, *b1;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
{
|
||||
cs = (int)abcd_start;
|
||||
}
|
||||
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 53 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 58 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 63 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 71 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr6:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 78 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 83 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 91 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr10:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 98 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 106 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr13:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 116 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr15:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 123 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 128 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 133 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 138 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 146 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr15;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr16;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr17;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr3:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 173 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 178 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st1;
|
||||
_ctr16:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 185 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 190 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 195 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr3;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 219 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 224 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 229 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr8:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 236 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 241 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr17:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 248 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 253 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 258 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 263 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr7:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 287 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 97: {
|
||||
goto _st3;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr11;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr11:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 311 "gen/ragel/submatch_20__cat2_0.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 98: {
|
||||
goto _st4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 32 "../../../benchmarks/c/src/ragel/submatch_20__cat2_0.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_20__cat2_0
|
||||
@@ -0,0 +1,478 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_21__cat2_4 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
static const int abcd_start = 16;
|
||||
static const int abcd_first_final = 16;
|
||||
static const int abcd_error = 0;
|
||||
|
||||
static const int abcd_en_main = 16;
|
||||
|
||||
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a0, *a1,
|
||||
*b0, *b1;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
{
|
||||
cs = (int)abcd_start;
|
||||
}
|
||||
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 16:
|
||||
goto st_case_16;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 11:
|
||||
goto st_case_11;
|
||||
case 12:
|
||||
goto st_case_12;
|
||||
case 13:
|
||||
goto st_case_13;
|
||||
case 14:
|
||||
goto st_case_14;
|
||||
case 15:
|
||||
goto st_case_15;
|
||||
}
|
||||
_ctr17:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 78 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st16;
|
||||
_st16:
|
||||
p+= 1;
|
||||
st_case_16:
|
||||
if ( p == pe )
|
||||
goto _out16;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr29;
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr29:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 97 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 102 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr2;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr2:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 118 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr4;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 134 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr6;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr6:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 150 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr8;
|
||||
}
|
||||
case 98: {
|
||||
goto _st15;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 171 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 176 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 181 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 98: {
|
||||
goto _st15;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr11:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 202 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 207 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 212 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr13;
|
||||
}
|
||||
case 98: {
|
||||
goto _st15;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr13:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 233 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 238 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 243 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr15;
|
||||
}
|
||||
case 98: {
|
||||
goto _st15;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr15:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 264 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 269 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 274 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr17;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr15;
|
||||
}
|
||||
case 98: {
|
||||
goto _st9;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr17;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 98: {
|
||||
goto _st9;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr19:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 315 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 320 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st10;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr21;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr21:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 336 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st11;
|
||||
_st11:
|
||||
p+= 1;
|
||||
st_case_11:
|
||||
if ( p == pe )
|
||||
goto _out11;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr23;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr23:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 352 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st12;
|
||||
_st12:
|
||||
p+= 1;
|
||||
st_case_12:
|
||||
if ( p == pe )
|
||||
goto _out12;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr25;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr25:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 368 "gen/ragel/submatch_21__cat2_4.cc"
|
||||
|
||||
goto _st13;
|
||||
_st13:
|
||||
p+= 1;
|
||||
st_case_13:
|
||||
if ( p == pe )
|
||||
goto _out13;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr17;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr25;
|
||||
}
|
||||
case 98: {
|
||||
goto _st14;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st14:
|
||||
p+= 1;
|
||||
st_case_14:
|
||||
if ( p == pe )
|
||||
goto _out14;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr17;
|
||||
}
|
||||
case 98: {
|
||||
goto _st14;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st15:
|
||||
p+= 1;
|
||||
st_case_15:
|
||||
if ( p == pe )
|
||||
goto _out15;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 98: {
|
||||
goto _st15;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out16: cs = 16; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out11: cs = 11; goto _out;
|
||||
_out12: cs = 12; goto _out;
|
||||
_out13: cs = 13; goto _out;
|
||||
_out14: cs = 14; goto _out;
|
||||
_out15: cs = 15; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 32 "../../../benchmarks/c/src/ragel/submatch_21__cat2_4.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_21__cat2_4
|
||||
@@ -0,0 +1,786 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_22__cat2_8 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 19 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
static const int abcd_start = 28;
|
||||
static const int abcd_first_final = 28;
|
||||
static const int abcd_error = 0;
|
||||
|
||||
static const int abcd_en_main = 28;
|
||||
|
||||
|
||||
#line 21 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a0, *a1,
|
||||
*b0, *b1;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
{
|
||||
cs = (int)abcd_start;
|
||||
}
|
||||
|
||||
#line 31 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 28:
|
||||
goto st_case_28;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 10:
|
||||
goto st_case_10;
|
||||
case 11:
|
||||
goto st_case_11;
|
||||
case 12:
|
||||
goto st_case_12;
|
||||
case 13:
|
||||
goto st_case_13;
|
||||
case 14:
|
||||
goto st_case_14;
|
||||
case 15:
|
||||
goto st_case_15;
|
||||
case 16:
|
||||
goto st_case_16;
|
||||
case 17:
|
||||
goto st_case_17;
|
||||
case 18:
|
||||
goto st_case_18;
|
||||
case 19:
|
||||
goto st_case_19;
|
||||
case 20:
|
||||
goto st_case_20;
|
||||
case 21:
|
||||
goto st_case_21;
|
||||
case 22:
|
||||
goto st_case_22;
|
||||
case 23:
|
||||
goto st_case_23;
|
||||
case 24:
|
||||
goto st_case_24;
|
||||
case 25:
|
||||
goto st_case_25;
|
||||
case 26:
|
||||
goto st_case_26;
|
||||
case 27:
|
||||
goto st_case_27;
|
||||
}
|
||||
_ctr33:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, p + 1);
|
||||
}
|
||||
|
||||
#line 102 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st28;
|
||||
_st28:
|
||||
p+= 1;
|
||||
st_case_28:
|
||||
if ( p == pe )
|
||||
goto _out28;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr53;
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr53:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 121 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 126 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr2;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr2:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 142 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr4;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 158 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr6;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr6:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 174 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr8;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr8:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 190 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr10;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr10:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 206 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr12;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr12:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 222 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr14;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr14:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 238 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr16;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr16:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 259 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 264 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 269 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr19:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 290 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 295 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 300 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st10;
|
||||
_st10:
|
||||
p+= 1;
|
||||
st_case_10:
|
||||
if ( p == pe )
|
||||
goto _out10;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr21;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr21:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 321 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 326 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 331 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st11;
|
||||
_st11:
|
||||
p+= 1;
|
||||
st_case_11:
|
||||
if ( p == pe )
|
||||
goto _out11;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr23;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr23:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 352 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 357 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 362 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st12;
|
||||
_st12:
|
||||
p+= 1;
|
||||
st_case_12:
|
||||
if ( p == pe )
|
||||
goto _out12;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr25;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr25:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 383 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 388 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 393 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st13;
|
||||
_st13:
|
||||
p+= 1;
|
||||
st_case_13:
|
||||
if ( p == pe )
|
||||
goto _out13;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr27;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr27:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 414 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 419 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 424 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st14;
|
||||
_st14:
|
||||
p+= 1;
|
||||
st_case_14:
|
||||
if ( p == pe )
|
||||
goto _out14;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr29;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr29:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 445 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 450 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 455 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st15;
|
||||
_st15:
|
||||
p+= 1;
|
||||
st_case_15:
|
||||
if ( p == pe )
|
||||
goto _out15;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr31:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 476 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 481 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 486 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st16;
|
||||
_st16:
|
||||
p+= 1;
|
||||
st_case_16:
|
||||
if ( p == pe )
|
||||
goto _out16;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr33;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 98: {
|
||||
goto _st17;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st17:
|
||||
p+= 1;
|
||||
st_case_17:
|
||||
if ( p == pe )
|
||||
goto _out17;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr33;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr35;
|
||||
}
|
||||
case 98: {
|
||||
goto _st17;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr35:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 527 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 532 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st18;
|
||||
_st18:
|
||||
p+= 1;
|
||||
st_case_18:
|
||||
if ( p == pe )
|
||||
goto _out18;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr37;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr37:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 548 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st19;
|
||||
_st19:
|
||||
p+= 1;
|
||||
st_case_19:
|
||||
if ( p == pe )
|
||||
goto _out19;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr39;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr39:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 564 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st20;
|
||||
_st20:
|
||||
p+= 1;
|
||||
st_case_20:
|
||||
if ( p == pe )
|
||||
goto _out20;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr41;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr41:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 580 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st21;
|
||||
_st21:
|
||||
p+= 1;
|
||||
st_case_21:
|
||||
if ( p == pe )
|
||||
goto _out21;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr43;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr43:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 596 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st22;
|
||||
_st22:
|
||||
p+= 1;
|
||||
st_case_22:
|
||||
if ( p == pe )
|
||||
goto _out22;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr45;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr45:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 612 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st23;
|
||||
_st23:
|
||||
p+= 1;
|
||||
st_case_23:
|
||||
if ( p == pe )
|
||||
goto _out23;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr47;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr47:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 628 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st24;
|
||||
_st24:
|
||||
p+= 1;
|
||||
st_case_24:
|
||||
if ( p == pe )
|
||||
goto _out24;
|
||||
if ( ( (*( p))) == 97 ) {
|
||||
goto _ctr49;
|
||||
}
|
||||
goto _st0;
|
||||
_ctr49:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 644 "gen/ragel/submatch_22__cat2_8.cc"
|
||||
|
||||
goto _st25;
|
||||
_st25:
|
||||
p+= 1;
|
||||
st_case_25:
|
||||
if ( p == pe )
|
||||
goto _out25;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr33;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr49;
|
||||
}
|
||||
case 98: {
|
||||
goto _st26;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st26:
|
||||
p+= 1;
|
||||
st_case_26:
|
||||
if ( p == pe )
|
||||
goto _out26;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr33;
|
||||
}
|
||||
case 98: {
|
||||
goto _st26;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st27:
|
||||
p+= 1;
|
||||
st_case_27:
|
||||
if ( p == pe )
|
||||
goto _out27;
|
||||
switch( ( (*( p))) ) {
|
||||
case 97: {
|
||||
goto _ctr35;
|
||||
}
|
||||
case 98: {
|
||||
goto _st27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out28: cs = 28; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out10: cs = 10; goto _out;
|
||||
_out11: cs = 11; goto _out;
|
||||
_out12: cs = 12; goto _out;
|
||||
_out13: cs = 13; goto _out;
|
||||
_out14: cs = 14; goto _out;
|
||||
_out15: cs = 15; goto _out;
|
||||
_out16: cs = 16; goto _out;
|
||||
_out17: cs = 17; goto _out;
|
||||
_out18: cs = 18; goto _out;
|
||||
_out19: cs = 19; goto _out;
|
||||
_out20: cs = 20; goto _out;
|
||||
_out21: cs = 21; goto _out;
|
||||
_out22: cs = 22; goto _out;
|
||||
_out23: cs = 23; goto _out;
|
||||
_out24: cs = 24; goto _out;
|
||||
_out25: cs = 25; goto _out;
|
||||
_out26: cs = 26; goto _out;
|
||||
_out27: cs = 27; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 32 "../../../benchmarks/c/src/ragel/submatch_22__cat2_8.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_22__cat2_8
|
||||
@@ -0,0 +1,989 @@
|
||||
#line 1 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
#include "ragel/base.h"
|
||||
|
||||
namespace ragel_submatch_23__cat4_0 {
|
||||
|
||||
const char *delim = "\n";
|
||||
|
||||
|
||||
#line 23 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
|
||||
|
||||
#line 11 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
static const int abcd_start = 9;
|
||||
static const int abcd_first_final = 9;
|
||||
static const int abcd_error = 0;
|
||||
|
||||
static const int abcd_en_main = 9;
|
||||
|
||||
|
||||
#line 25 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
|
||||
static int lex(Input *in, int count) {
|
||||
char *p = in->p;
|
||||
char *pe = in->pe;
|
||||
const char
|
||||
*a0, *a1, *a2, *a3,
|
||||
*b0, *b1, *b2, *b3;
|
||||
int cs;
|
||||
|
||||
|
||||
#line 28 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
{
|
||||
cs = (int)abcd_start;
|
||||
}
|
||||
|
||||
#line 35 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
|
||||
#line 33 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
{
|
||||
switch ( cs ) {
|
||||
case 9:
|
||||
goto st_case_9;
|
||||
case 0:
|
||||
goto st_case_0;
|
||||
case 1:
|
||||
goto st_case_1;
|
||||
case 2:
|
||||
goto st_case_2;
|
||||
case 3:
|
||||
goto st_case_3;
|
||||
case 4:
|
||||
goto st_case_4;
|
||||
case 5:
|
||||
goto st_case_5;
|
||||
case 6:
|
||||
goto st_case_6;
|
||||
case 7:
|
||||
goto st_case_7;
|
||||
case 8:
|
||||
goto st_case_8;
|
||||
}
|
||||
_ctr2:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 61 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 66 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 71 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 76 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 81 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 86 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 91 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 101 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr6:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 108 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 113 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 118 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 123 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 128 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 133 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 143 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr10:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 150 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 155 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 160 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 165 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 170 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 180 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr14:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 187 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 192 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 197 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 202 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 212 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr18:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 219 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 224 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 229 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 239 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr22:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 246 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 251 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 261 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr26:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 268 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 278 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr29:
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 290 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_ctr31:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 297 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 302 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 307 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 312 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 317 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 322 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 327 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 332 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 15 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
OUTS(a0, b0); OUTC('.'); OUTS(b0, a1); OUTC('.');
|
||||
OUTS(a1, b1); OUTC('.'); OUTS(b1, a2); OUTC('.');
|
||||
OUTS(a2, b2); OUTC('.'); OUTS(b2, a3); OUTC('.');
|
||||
OUTS(a3, b3); OUTC('.'); OUTS(b3, p + 1);
|
||||
}
|
||||
|
||||
#line 342 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st9;
|
||||
_st9:
|
||||
p+= 1;
|
||||
st_case_9:
|
||||
if ( p == pe )
|
||||
goto _out9;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr31;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr32;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr33;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_st0:
|
||||
st_case_0:
|
||||
goto _out0;
|
||||
_ctr3:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 369 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 374 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 379 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 384 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 389 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 394 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st1;
|
||||
_ctr32:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 401 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 406 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 411 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 416 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 421 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 426 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 431 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st1;
|
||||
_st1:
|
||||
p+= 1;
|
||||
st_case_1:
|
||||
if ( p == pe )
|
||||
goto _out1;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr2;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr3;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr4;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr4:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 455 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 460 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 465 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 470 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 475 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 480 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 485 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr8:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 492 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 497 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 502 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 507 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 512 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 517 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_ctr33:
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a0 = p; }
|
||||
|
||||
#line 524 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 11 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b0 = p; }
|
||||
|
||||
#line 529 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 534 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 539 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 544 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 549 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 554 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 559 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st2;
|
||||
_st2:
|
||||
p+= 1;
|
||||
st_case_2:
|
||||
if ( p == pe )
|
||||
goto _out2;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr6;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr7;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr7:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a1 = p; }
|
||||
|
||||
#line 583 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 588 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 593 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 598 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 603 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st3;
|
||||
_ctr11:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 610 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 615 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 620 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 625 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st3;
|
||||
_st3:
|
||||
p+= 1;
|
||||
st_case_3:
|
||||
if ( p == pe )
|
||||
goto _out3;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr10;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr11;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr12;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr12:
|
||||
{
|
||||
#line 12 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b1 = p; }
|
||||
|
||||
#line 649 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 654 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 659 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 664 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 669 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st4;
|
||||
_ctr16:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 676 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 681 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 686 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 691 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st4;
|
||||
_st4:
|
||||
p+= 1;
|
||||
st_case_4:
|
||||
if ( p == pe )
|
||||
goto _out4;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr14;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr15;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr16;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr15:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a2 = p; }
|
||||
|
||||
#line 715 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 720 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 725 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_ctr19:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 732 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 737 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st5;
|
||||
_st5:
|
||||
p+= 1;
|
||||
st_case_5:
|
||||
if ( p == pe )
|
||||
goto _out5;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr18;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr19;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr20;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr20:
|
||||
{
|
||||
#line 13 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b2 = p; }
|
||||
|
||||
#line 761 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 766 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 771 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st6;
|
||||
_ctr24:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 778 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 783 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st6;
|
||||
_st6:
|
||||
p+= 1;
|
||||
st_case_6:
|
||||
if ( p == pe )
|
||||
goto _out6;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr22;
|
||||
}
|
||||
case 97: {
|
||||
goto _ctr23;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr24;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr23:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
a3 = p; }
|
||||
|
||||
#line 807 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st7;
|
||||
_st7:
|
||||
p+= 1;
|
||||
st_case_7:
|
||||
if ( p == pe )
|
||||
goto _out7;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr26;
|
||||
}
|
||||
case 97: {
|
||||
goto _st7;
|
||||
}
|
||||
case 98: {
|
||||
goto _ctr27;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_ctr27:
|
||||
{
|
||||
#line 14 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
b3 = p; }
|
||||
|
||||
#line 831 "gen/ragel/submatch_23__cat4_0.cc"
|
||||
|
||||
goto _st8;
|
||||
_st8:
|
||||
p+= 1;
|
||||
st_case_8:
|
||||
if ( p == pe )
|
||||
goto _out8;
|
||||
switch( ( (*( p))) ) {
|
||||
case 10: {
|
||||
goto _ctr29;
|
||||
}
|
||||
case 98: {
|
||||
goto _st8;
|
||||
}
|
||||
}
|
||||
goto _st0;
|
||||
_out9: cs = 9; goto _out;
|
||||
_out0: cs = 0; goto _out;
|
||||
_out1: cs = 1; goto _out;
|
||||
_out2: cs = 2; goto _out;
|
||||
_out3: cs = 3; goto _out;
|
||||
_out4: cs = 4; goto _out;
|
||||
_out5: cs = 5; goto _out;
|
||||
_out6: cs = 6; goto _out;
|
||||
_out7: cs = 7; goto _out;
|
||||
_out8: cs = 8; goto _out;
|
||||
_out: {}
|
||||
}
|
||||
|
||||
#line 36 "../../../benchmarks/c/src/ragel/submatch_23__cat4_0.rl"
|
||||
|
||||
|
||||
in->p = p;
|
||||
in->pe = pe;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
RAGEL_BENCH_AND_TEST()
|
||||
|
||||
} // namespace ragel_submatch_23__cat4_0
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user