expressir 1.2.3 → 1.2.4
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|