expressir 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +30 -17
- data/.gitignore +1 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +30 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +8 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +31 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +1 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +9 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +26 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +10 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +7 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +23 -10
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +4 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +3 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +4 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +8 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +39 -7
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +5 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +9 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +11 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +2 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +4 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +7 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +8 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +7 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +9 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +8 -10
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +7 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +9 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +6 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +14 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +9 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +7 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +11 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +40 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +29 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +1 -1
- data/ext/express-parser/express_parser.cpp +20 -164
- data/ext/express-parser/extconf.rb +3 -4
- data/lib/expressir/express/parser.rb +17 -14
- data/lib/expressir/express/visitor.rb +3 -1
- data/lib/expressir/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b49995be8d03fa2c3645c2eb017616799cc53a79adad902c86b816d498f32b4e
|
|
4
|
+
data.tar.gz: 2ecd3927758f4e326d72f46b8ca7eac0e1532d732ad475c28bd49acf4bd23d92
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 801cf8165883e10e1b4c5d7adfe53d8ae71206386e788de0df2b7b7b9fdb05a92dba578e4e5728cf55650039cced0d0f6b14cf8cd8966a896beca097ae3e8844
|
|
7
|
+
data.tar.gz: 59766ae40419522f4d9bbe16389a145e8967f15746475de92096e62cae5f518205d52b8c6b833bf3035e1daf041d1f6032244f5f3e3a967bc2a34f95c70030a3
|
data/.github/workflows/rake.yml
CHANGED
|
@@ -8,7 +8,7 @@ on:
|
|
|
8
8
|
jobs:
|
|
9
9
|
rake:
|
|
10
10
|
name: test on ruby-${{ matrix.ruby }} ${{ matrix.os }}
|
|
11
|
-
runs-on: ${{ matrix.os }}
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
12
|
continue-on-error: ${{ matrix.experimental }}
|
|
13
13
|
strategy:
|
|
14
14
|
fail-fast: false
|
|
@@ -28,52 +28,64 @@ jobs:
|
|
|
28
28
|
experimental: true
|
|
29
29
|
|
|
30
30
|
steps:
|
|
31
|
-
-
|
|
31
|
+
- name: Checkout
|
|
32
|
+
uses: actions/checkout@v2
|
|
32
33
|
with:
|
|
33
34
|
submodules: recursive
|
|
34
35
|
|
|
35
|
-
-
|
|
36
|
+
- name: Setup packages
|
|
37
|
+
if: startsWith(matrix.os, 'macos')
|
|
36
38
|
run: brew install autoconf automake libtool
|
|
37
39
|
|
|
38
|
-
-
|
|
40
|
+
- name: Install Ruby
|
|
41
|
+
uses: ruby/setup-ruby@v1
|
|
39
42
|
with:
|
|
40
43
|
ruby-version: ${{ matrix.ruby }}
|
|
41
44
|
bundler-cache: true
|
|
42
45
|
|
|
43
|
-
-
|
|
46
|
+
- name: Process cache
|
|
47
|
+
uses: actions/cache@v2
|
|
48
|
+
id: cache
|
|
44
49
|
with:
|
|
45
50
|
path: lib/expressir/express/express_parser.*
|
|
46
51
|
key: v4-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles('ext/express-parser/extconf.rb', 'ext/express-parser/antlrgen/**', 'ext/express-parser/express_parser.cpp', '.git/modules/ext/express-parser/antlr4-upstream/HEAD') }}
|
|
47
52
|
|
|
48
|
-
-
|
|
53
|
+
- name: Build native extension
|
|
54
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
49
55
|
run: bundle exec rake compile
|
|
50
56
|
|
|
51
|
-
-
|
|
57
|
+
- name: Run tests
|
|
58
|
+
run: bundle exec rake
|
|
52
59
|
|
|
53
60
|
# test release workflow
|
|
54
61
|
pack:
|
|
55
|
-
runs-on: ubuntu-
|
|
62
|
+
runs-on: ubuntu-latest
|
|
56
63
|
strategy:
|
|
57
64
|
fail-fast: false
|
|
58
65
|
matrix:
|
|
59
66
|
host: [ linux, windows, darwin ]
|
|
60
67
|
steps:
|
|
61
|
-
-
|
|
68
|
+
- name: Checkout
|
|
69
|
+
uses: actions/checkout@v2
|
|
62
70
|
with:
|
|
63
71
|
submodules: recursive
|
|
64
72
|
|
|
65
|
-
-
|
|
73
|
+
- name: Setup Ruby
|
|
74
|
+
uses: ruby/setup-ruby@v1
|
|
66
75
|
with:
|
|
67
76
|
ruby-version: '3.0'
|
|
68
77
|
# bundler-cache: true important to not use cache because it leads to "cannot find -lrice"
|
|
69
78
|
# more info https://github.com/lutaml/expressir/runs/2097658383?check_suite_focus=true#step:7:2126
|
|
70
79
|
|
|
71
|
-
-
|
|
80
|
+
- name: Bundle
|
|
81
|
+
run: bundle install --jobs 4 --retry 3
|
|
72
82
|
|
|
73
|
-
|
|
74
|
-
|
|
83
|
+
- name: Build gem without native extension
|
|
84
|
+
if: matrix.host == 'linux'
|
|
85
|
+
run: gem build expressir.gemspec
|
|
75
86
|
|
|
76
|
-
-
|
|
87
|
+
- name: Package gem without native extension
|
|
88
|
+
if: matrix.host == 'linux'
|
|
77
89
|
uses: actions/upload-artifact@v2
|
|
78
90
|
with:
|
|
79
91
|
name: pkg-ruby
|
|
@@ -87,10 +99,11 @@ jobs:
|
|
|
87
99
|
sudo swapon /compile.swap
|
|
88
100
|
sudo swapon --all --verbose
|
|
89
101
|
|
|
90
|
-
|
|
91
|
-
|
|
102
|
+
- name: Build gem with native extension
|
|
103
|
+
run: bundle exec rake gem:${{ matrix.host }}
|
|
92
104
|
|
|
93
|
-
-
|
|
105
|
+
- name: Package gem with native extension
|
|
106
|
+
uses: actions/upload-artifact@v2
|
|
94
107
|
with:
|
|
95
108
|
name: pkg-${{ matrix.host }}
|
|
96
109
|
path: pkg/*.gem
|
data/.gitignore
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
|
|
2
|
+
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
|
|
3
|
+
|
|
4
|
+
set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty)
|
|
5
|
+
set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp)
|
|
6
|
+
ExternalProject_Add(
|
|
7
|
+
utfcpp
|
|
8
|
+
GIT_REPOSITORY "git://github.com/nemtrif/utfcpp"
|
|
9
|
+
GIT_TAG "v3.1.1"
|
|
10
|
+
SOURCE_DIR ${UTFCPP_DIR}
|
|
11
|
+
UPDATE_DISCONNECTED 1
|
|
12
|
+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${UTFCPP_DIR}/install -Dgtest_force_shared_crt=ON
|
|
13
|
+
TEST_AFTER_INSTALL 1
|
|
14
|
+
STEP_TARGETS build)
|
|
15
|
+
|
|
16
|
+
|
|
2
17
|
include_directories(
|
|
3
18
|
${PROJECT_SOURCE_DIR}/runtime/src
|
|
4
19
|
${PROJECT_SOURCE_DIR}/runtime/src/atn
|
|
@@ -8,6 +23,8 @@ include_directories(
|
|
|
8
23
|
${PROJECT_SOURCE_DIR}/runtime/src/tree
|
|
9
24
|
${PROJECT_SOURCE_DIR}/runtime/src/tree/pattern
|
|
10
25
|
${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath
|
|
26
|
+
${UTFCPP_DIR}/install/include/utf8cpp
|
|
27
|
+
${UTFCPP_DIR}/install/include/utf8cpp/utf8
|
|
11
28
|
)
|
|
12
29
|
|
|
13
30
|
|
|
@@ -33,8 +50,8 @@ add_custom_target(make_lib_output_dir ALL
|
|
|
33
50
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${LIB_OUTPUT_DIR}
|
|
34
51
|
)
|
|
35
52
|
|
|
36
|
-
add_dependencies(antlr4_shared make_lib_output_dir)
|
|
37
|
-
add_dependencies(antlr4_static make_lib_output_dir)
|
|
53
|
+
add_dependencies(antlr4_shared make_lib_output_dir utfcpp)
|
|
54
|
+
add_dependencies(antlr4_static make_lib_output_dir utfcpp)
|
|
38
55
|
|
|
39
56
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
40
57
|
target_link_libraries(antlr4_shared ${UUID_LIBRARIES})
|
|
@@ -102,15 +119,23 @@ set_target_properties(antlr4_static
|
|
|
102
119
|
COMPILE_FLAGS "${disabled_compile_warnings} ${extra_static_compile_flags}")
|
|
103
120
|
|
|
104
121
|
install(TARGETS antlr4_shared
|
|
105
|
-
DESTINATION lib
|
|
122
|
+
DESTINATION lib
|
|
106
123
|
EXPORT antlr4-targets)
|
|
107
124
|
install(TARGETS antlr4_static
|
|
108
125
|
DESTINATION lib
|
|
109
126
|
EXPORT antlr4-targets)
|
|
110
127
|
|
|
111
|
-
install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/"
|
|
128
|
+
install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/"
|
|
129
|
+
DESTINATION "include/antlr4-runtime"
|
|
130
|
+
COMPONENT dev
|
|
131
|
+
FILES_MATCHING PATTERN "*.h"
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
install(FILES "${UTFCPP_DIR}/source/utf8.h"
|
|
135
|
+
DESTINATION "include/antlr4-runtime")
|
|
136
|
+
install(DIRECTORY "${UTFCPP_DIR}/source/utf8"
|
|
112
137
|
DESTINATION "include/antlr4-runtime"
|
|
113
|
-
COMPONENT dev
|
|
138
|
+
COMPONENT dev
|
|
114
139
|
FILES_MATCHING PATTERN "*.h"
|
|
115
140
|
)
|
|
116
141
|
|
|
@@ -182,6 +182,7 @@
|
|
|
182
182
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
183
183
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
184
184
|
<MinimalRebuild>false</MinimalRebuild>
|
|
185
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
185
186
|
</ClCompile>
|
|
186
187
|
<Link>
|
|
187
188
|
<SubSystem>Windows</SubSystem>
|
|
@@ -201,6 +202,7 @@
|
|
|
201
202
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
202
203
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
203
204
|
<MinimalRebuild>false</MinimalRebuild>
|
|
205
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
204
206
|
</ClCompile>
|
|
205
207
|
<Link>
|
|
206
208
|
<SubSystem>Windows</SubSystem>
|
|
@@ -220,6 +222,7 @@
|
|
|
220
222
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
221
223
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
222
224
|
<MinimalRebuild>false</MinimalRebuild>
|
|
225
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
223
226
|
</ClCompile>
|
|
224
227
|
<Link>
|
|
225
228
|
<SubSystem>Windows</SubSystem>
|
|
@@ -239,6 +242,7 @@
|
|
|
239
242
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
240
243
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
241
244
|
<MinimalRebuild>false</MinimalRebuild>
|
|
245
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
242
246
|
</ClCompile>
|
|
243
247
|
<Link>
|
|
244
248
|
<SubSystem>Windows</SubSystem>
|
|
@@ -259,6 +263,7 @@
|
|
|
259
263
|
</ForcedIncludeFiles>
|
|
260
264
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
261
265
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
266
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
262
267
|
</ClCompile>
|
|
263
268
|
<Link>
|
|
264
269
|
<SubSystem>Windows</SubSystem>
|
|
@@ -281,6 +286,7 @@
|
|
|
281
286
|
</ForcedIncludeFiles>
|
|
282
287
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
283
288
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
289
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
284
290
|
</ClCompile>
|
|
285
291
|
<Link>
|
|
286
292
|
<SubSystem>Windows</SubSystem>
|
|
@@ -303,6 +309,7 @@
|
|
|
303
309
|
</ForcedIncludeFiles>
|
|
304
310
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
305
311
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
312
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
306
313
|
</ClCompile>
|
|
307
314
|
<Link>
|
|
308
315
|
<SubSystem>Windows</SubSystem>
|
|
@@ -325,6 +332,7 @@
|
|
|
325
332
|
</ForcedIncludeFiles>
|
|
326
333
|
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
|
327
334
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
335
|
+
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
|
328
336
|
</ClCompile>
|
|
329
337
|
<Link>
|
|
330
338
|
<SubSystem>Windows</SubSystem>
|
data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
archiveVersion = 1;
|
|
4
4
|
classes = {
|
|
5
5
|
};
|
|
6
|
-
objectVersion =
|
|
6
|
+
objectVersion = 54;
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
@@ -2226,7 +2226,7 @@
|
|
|
2226
2226
|
37D727A21867AF1E007B6D10 /* Project object */ = {
|
|
2227
2227
|
isa = PBXProject;
|
|
2228
2228
|
attributes = {
|
|
2229
|
-
LastUpgradeCheck =
|
|
2229
|
+
LastUpgradeCheck = 1240;
|
|
2230
2230
|
ORGANIZATIONNAME = ANTLR;
|
|
2231
2231
|
TargetAttributes = {
|
|
2232
2232
|
270C67EF1CDB4F1E00116E17 = {
|
|
@@ -2238,7 +2238,7 @@
|
|
|
2238
2238
|
};
|
|
2239
2239
|
};
|
|
2240
2240
|
buildConfigurationList = 37D727A51867AF1E007B6D10 /* Build configuration list for PBXProject "antlrcpp" */;
|
|
2241
|
-
compatibilityVersion = "Xcode
|
|
2241
|
+
compatibilityVersion = "Xcode 12.0";
|
|
2242
2242
|
developmentRegion = en;
|
|
2243
2243
|
hasScannedForEncodings = 0;
|
|
2244
2244
|
knownRegions = (
|
|
@@ -2751,8 +2751,12 @@
|
|
|
2751
2751
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
2752
2752
|
INFOPLIST_FILE = "antlrcpp-ios/Info.plist";
|
|
2753
2753
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
|
2754
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
2755
|
-
LD_RUNPATH_SEARCH_PATHS =
|
|
2754
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
|
2755
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
2756
|
+
"$(inherited)",
|
|
2757
|
+
"@executable_path/Frameworks",
|
|
2758
|
+
"@loader_path/Frameworks",
|
|
2759
|
+
);
|
|
2756
2760
|
MTL_ENABLE_DEBUG_INFO = YES;
|
|
2757
2761
|
PRODUCT_BUNDLE_IDENTIFIER = "org.antlr.v4.runtime.antlrcpp-ios";
|
|
2758
2762
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
@@ -2782,8 +2786,12 @@
|
|
|
2782
2786
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
2783
2787
|
INFOPLIST_FILE = "antlrcpp-ios/Info.plist";
|
|
2784
2788
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
|
2785
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
2786
|
-
LD_RUNPATH_SEARCH_PATHS =
|
|
2789
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
|
2790
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
2791
|
+
"$(inherited)",
|
|
2792
|
+
"@executable_path/Frameworks",
|
|
2793
|
+
"@loader_path/Frameworks",
|
|
2794
|
+
);
|
|
2787
2795
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
2788
2796
|
PRODUCT_BUNDLE_IDENTIFIER = "org.antlr.v4.runtime.antlrcpp-ios";
|
|
2789
2797
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
@@ -2841,8 +2849,7 @@
|
|
|
2841
2849
|
buildSettings = {
|
|
2842
2850
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
2843
2851
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
2844
|
-
CLANG_CXX_LANGUAGE_STANDARD = "c++
|
|
2845
|
-
CLANG_CXX_LIBRARY = "libc++";
|
|
2852
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2846
2853
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
2847
2854
|
CLANG_WARN_ASSIGN_ENUM = YES;
|
|
2848
2855
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
@@ -2857,6 +2864,7 @@
|
|
|
2857
2864
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
2858
2865
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
2859
2866
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
2867
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
2860
2868
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
2861
2869
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
2862
2870
|
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
|
|
@@ -2889,8 +2897,12 @@
|
|
|
2889
2897
|
GCC_WARN_UNUSED_LABEL = YES;
|
|
2890
2898
|
GCC_WARN_UNUSED_PARAMETER = YES;
|
|
2891
2899
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
2892
|
-
HEADER_SEARCH_PATHS =
|
|
2893
|
-
|
|
2900
|
+
HEADER_SEARCH_PATHS = (
|
|
2901
|
+
src/,
|
|
2902
|
+
thirdparty/utfcpp/source/,
|
|
2903
|
+
thirdparty/utfcpp/source/utf8/,
|
|
2904
|
+
);
|
|
2905
|
+
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
|
2894
2906
|
ONLY_ACTIVE_ARCH = YES;
|
|
2895
2907
|
SDKROOT = macosx;
|
|
2896
2908
|
};
|
|
@@ -2901,8 +2913,7 @@
|
|
|
2901
2913
|
buildSettings = {
|
|
2902
2914
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
2903
2915
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
2904
|
-
CLANG_CXX_LANGUAGE_STANDARD = "c++
|
|
2905
|
-
CLANG_CXX_LIBRARY = "libc++";
|
|
2916
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2906
2917
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
2907
2918
|
CLANG_WARN_ASSIGN_ENUM = YES;
|
|
2908
2919
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
@@ -2917,6 +2928,7 @@
|
|
|
2917
2928
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
2918
2929
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
2919
2930
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
2931
|
+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
2920
2932
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
2921
2933
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
2922
2934
|
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
|
|
@@ -2945,8 +2957,12 @@
|
|
|
2945
2957
|
GCC_WARN_UNUSED_LABEL = YES;
|
|
2946
2958
|
GCC_WARN_UNUSED_PARAMETER = YES;
|
|
2947
2959
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
2948
|
-
HEADER_SEARCH_PATHS =
|
|
2949
|
-
|
|
2960
|
+
HEADER_SEARCH_PATHS = (
|
|
2961
|
+
src/,
|
|
2962
|
+
thirdparty/utfcpp/source/,
|
|
2963
|
+
thirdparty/utfcpp/source/utf8/,
|
|
2964
|
+
);
|
|
2965
|
+
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
|
2950
2966
|
SDKROOT = macosx;
|
|
2951
2967
|
};
|
|
2952
2968
|
name = Release;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<Scheme
|
|
3
|
-
LastUpgradeVersion = "
|
|
3
|
+
LastUpgradeVersion = "1240"
|
|
4
4
|
version = "1.3">
|
|
5
5
|
<BuildAction
|
|
6
6
|
parallelizeBuildables = "YES"
|
|
@@ -29,8 +29,6 @@
|
|
|
29
29
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
30
|
<Testables>
|
|
31
31
|
</Testables>
|
|
32
|
-
<AdditionalOptions>
|
|
33
|
-
</AdditionalOptions>
|
|
34
32
|
</TestAction>
|
|
35
33
|
<LaunchAction
|
|
36
34
|
buildConfiguration = "Debug"
|
|
@@ -51,8 +49,6 @@
|
|
|
51
49
|
ReferencedContainer = "container:antlrcpp.xcodeproj">
|
|
52
50
|
</BuildableReference>
|
|
53
51
|
</MacroExpansion>
|
|
54
|
-
<AdditionalOptions>
|
|
55
|
-
</AdditionalOptions>
|
|
56
52
|
</LaunchAction>
|
|
57
53
|
<ProfileAction
|
|
58
54
|
buildConfiguration = "Release"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<Scheme
|
|
3
|
-
LastUpgradeVersion = "
|
|
3
|
+
LastUpgradeVersion = "1240"
|
|
4
4
|
version = "1.3">
|
|
5
5
|
<BuildAction
|
|
6
6
|
parallelizeBuildables = "YES"
|
|
@@ -29,8 +29,6 @@
|
|
|
29
29
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
30
30
|
<Testables>
|
|
31
31
|
</Testables>
|
|
32
|
-
<AdditionalOptions>
|
|
33
|
-
</AdditionalOptions>
|
|
34
32
|
</TestAction>
|
|
35
33
|
<LaunchAction
|
|
36
34
|
buildConfiguration = "Debug"
|
|
@@ -51,8 +49,6 @@
|
|
|
51
49
|
ReferencedContainer = "container:antlrcpp.xcodeproj">
|
|
52
50
|
</BuildableReference>
|
|
53
51
|
</MacroExpansion>
|
|
54
|
-
<AdditionalOptions>
|
|
55
|
-
</AdditionalOptions>
|
|
56
52
|
</LaunchAction>
|
|
57
53
|
<ProfileAction
|
|
58
54
|
buildConfiguration = "Release"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
|
2
2
|
* Use of this file is governed by the BSD 3-clause license that
|
|
3
3
|
* can be found in the LICENSE.txt file in the project root.
|
|
4
4
|
*/
|
|
@@ -9,11 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
using namespace antlr4;
|
|
11
11
|
|
|
12
|
-
ANTLRFileStream::ANTLRFileStream(const std::string &fileName) {
|
|
13
|
-
_fileName = fileName;
|
|
14
|
-
loadFromFile(fileName);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
12
|
void ANTLRFileStream::loadFromFile(const std::string &fileName) {
|
|
18
13
|
_fileName = fileName;
|
|
19
14
|
if (_fileName.empty()) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
|
2
2
|
* Use of this file is governed by the BSD 3-clause license that
|
|
3
3
|
* can be found in the LICENSE.txt file in the project root.
|
|
4
4
|
*/
|
|
@@ -13,15 +13,18 @@ namespace antlr4 {
|
|
|
13
13
|
/// when you construct the object (or call load()).
|
|
14
14
|
// TODO: this class needs testing.
|
|
15
15
|
class ANTLR4CPP_PUBLIC ANTLRFileStream : public ANTLRInputStream {
|
|
16
|
-
protected:
|
|
17
|
-
std::string _fileName; // UTF-8 encoded file name.
|
|
18
|
-
|
|
19
16
|
public:
|
|
20
|
-
|
|
21
|
-
ANTLRFileStream(const std::string &
|
|
17
|
+
ANTLRFileStream() = default;
|
|
18
|
+
ANTLRFileStream(const std::string &) = delete;
|
|
19
|
+
ANTLRFileStream(const char *data, size_t length) = delete;
|
|
20
|
+
ANTLRFileStream(std::istream &stream) = delete;
|
|
22
21
|
|
|
22
|
+
// Assumes a file name encoded in UTF-8 and file content in the same encoding (with or w/o BOM).
|
|
23
23
|
virtual void loadFromFile(const std::string &fileName);
|
|
24
24
|
virtual std::string getSourceName() const override;
|
|
25
|
+
|
|
26
|
+
private:
|
|
27
|
+
std::string _fileName; // UTF-8 encoded file name.
|
|
25
28
|
};
|
|
26
29
|
|
|
27
30
|
} // namespace antlr4
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
|
2
2
|
* Use of this file is governed by the BSD 3-clause license that
|
|
3
3
|
* can be found in the LICENSE.txt file in the project root.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
#include <string.h>
|
|
7
|
+
|
|
6
8
|
#include "Exceptions.h"
|
|
7
9
|
#include "misc/Interval.h"
|
|
8
10
|
#include "IntStream.h"
|
|
@@ -17,27 +19,39 @@ using namespace antlrcpp;
|
|
|
17
19
|
|
|
18
20
|
using misc::Interval;
|
|
19
21
|
|
|
20
|
-
ANTLRInputStream::ANTLRInputStream(
|
|
22
|
+
ANTLRInputStream::ANTLRInputStream() {
|
|
21
23
|
InitializeInstanceFields();
|
|
22
|
-
load(input);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
#if __cplusplus >= 201703L
|
|
27
|
+
ANTLRInputStream::ANTLRInputStream(const std::string_view &input): ANTLRInputStream() {
|
|
28
|
+
load(input.data(), input.length());
|
|
27
29
|
}
|
|
30
|
+
#endif
|
|
28
31
|
|
|
29
|
-
ANTLRInputStream::ANTLRInputStream(std::
|
|
30
|
-
|
|
32
|
+
ANTLRInputStream::ANTLRInputStream(const std::string &input): ANTLRInputStream() {
|
|
33
|
+
load(input.data(), input.size());
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ANTLRInputStream::ANTLRInputStream(const char *data, size_t length) {
|
|
37
|
+
load(data, length);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
ANTLRInputStream::ANTLRInputStream(std::istream &stream): ANTLRInputStream() {
|
|
31
41
|
load(stream);
|
|
32
42
|
}
|
|
33
43
|
|
|
34
44
|
void ANTLRInputStream::load(const std::string &input) {
|
|
45
|
+
load(input.data(), input.size());
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void ANTLRInputStream::load(const char *data, size_t length) {
|
|
35
49
|
// Remove the UTF-8 BOM if present.
|
|
36
|
-
const char bom
|
|
37
|
-
if (
|
|
38
|
-
_data = antlrcpp::utf8_to_utf32(
|
|
50
|
+
const char *bom = "\xef\xbb\xbf";
|
|
51
|
+
if (length >= 3 && strncmp(data, bom, 3) == 0)
|
|
52
|
+
_data = antlrcpp::utf8_to_utf32(data + 3, data + length);
|
|
39
53
|
else
|
|
40
|
-
_data = antlrcpp::utf8_to_utf32(
|
|
54
|
+
_data = antlrcpp::utf8_to_utf32(data, data + length);
|
|
41
55
|
p = 0;
|
|
42
56
|
}
|
|
43
57
|
|
|
@@ -48,7 +62,7 @@ void ANTLRInputStream::load(std::istream &stream) {
|
|
|
48
62
|
_data.clear();
|
|
49
63
|
|
|
50
64
|
std::string s((std::istreambuf_iterator<char>(stream)), std::istreambuf_iterator<char>());
|
|
51
|
-
load(s);
|
|
65
|
+
load(s.data(), s.length());
|
|
52
66
|
}
|
|
53
67
|
|
|
54
68
|
void ANTLRInputStream::reset() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
|
2
2
|
* Use of this file is governed by the BSD 3-clause license that
|
|
3
3
|
* can be found in the LICENSE.txt file in the project root.
|
|
4
4
|
*/
|
|
@@ -25,11 +25,18 @@ namespace antlr4 {
|
|
|
25
25
|
/// What is name or source of this char stream?
|
|
26
26
|
std::string name;
|
|
27
27
|
|
|
28
|
-
ANTLRInputStream(
|
|
29
|
-
|
|
28
|
+
ANTLRInputStream();
|
|
29
|
+
|
|
30
|
+
#if __cplusplus >= 201703L
|
|
31
|
+
ANTLRInputStream(const std::string_view &input);
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
ANTLRInputStream(const std::string &input);
|
|
35
|
+
ANTLRInputStream(const char *data, size_t length);
|
|
30
36
|
ANTLRInputStream(std::istream &stream);
|
|
31
37
|
|
|
32
38
|
virtual void load(const std::string &input);
|
|
39
|
+
virtual void load(const char *data, size_t length);
|
|
33
40
|
virtual void load(std::istream &stream);
|
|
34
41
|
|
|
35
42
|
/// Reset the stream so that it's in the same state it was
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
using namespace antlr4;
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const std::unique_ptr<TokenFactory<CommonToken>> CommonTokenFactory::DEFAULT(new CommonTokenFactory);
|
|
15
15
|
|
|
16
16
|
CommonTokenFactory::CommonTokenFactory(bool copyText_) : copyText(copyText_) {
|
|
17
17
|
}
|
|
@@ -22,7 +22,7 @@ namespace antlr4 {
|
|
|
22
22
|
* This token factory does not explicitly copy token text when constructing
|
|
23
23
|
* tokens.</p>
|
|
24
24
|
*/
|
|
25
|
-
static const
|
|
25
|
+
static const std::unique_ptr<TokenFactory<CommonToken>> DEFAULT;
|
|
26
26
|
|
|
27
27
|
protected:
|
|
28
28
|
/**
|
|
@@ -27,7 +27,13 @@ namespace antlr4 {
|
|
|
27
27
|
/// </summary>
|
|
28
28
|
class ANTLR4CPP_PUBLIC IntStream {
|
|
29
29
|
public:
|
|
30
|
-
|
|
30
|
+
#if __cplusplus >= 201703L
|
|
31
|
+
static constexpr size_t EOF = std::numeric_limits<size_t>::max();
|
|
32
|
+
#else
|
|
33
|
+
enum : size_t {
|
|
34
|
+
EOF = static_cast<size_t>(-1), // std::numeric_limits<size_t>::max(); doesn't work in VS 2013
|
|
35
|
+
};
|
|
36
|
+
#endif
|
|
31
37
|
|
|
32
38
|
/// The value returned by <seealso cref="#LA LA()"/> when the end of the stream is
|
|
33
39
|
/// reached.
|
|
@@ -136,7 +136,7 @@ size_t Lexer::popMode() {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
TokenFactory<CommonToken>* Lexer::getTokenFactory() {
|
|
140
140
|
return _factory;
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -284,7 +284,7 @@ size_t Lexer::getNumberOfSyntaxErrors() {
|
|
|
284
284
|
void Lexer::InitializeInstanceFields() {
|
|
285
285
|
_syntaxErrors = 0;
|
|
286
286
|
token = nullptr;
|
|
287
|
-
_factory = CommonTokenFactory::DEFAULT;
|
|
287
|
+
_factory = CommonTokenFactory::DEFAULT.get();
|
|
288
288
|
tokenStartCharIndex = INVALID_INDEX;
|
|
289
289
|
tokenStartLine = 0;
|
|
290
290
|
tokenStartCharPositionInLine = 0;
|