Merge branch 'master' into master
This commit is contained in:
commit
340b95bded
18
.travis.yml
18
.travis.yml
|
@ -74,42 +74,42 @@ matrix:
|
|||
- clang-3.7
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=cpp
|
||||
- GROUP=LEXER
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=cpp
|
||||
- GROUP=PARSER
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=cpp
|
||||
- GROUP=RECURSION
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=swift
|
||||
- GROUP=LEXER
|
||||
stage: main-test
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=swift
|
||||
- GROUP=PARSER
|
||||
stage: main-test
|
||||
- os: osx
|
||||
compiler: clang
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=swift
|
||||
- GROUP=RECURSION
|
||||
|
@ -122,19 +122,19 @@ matrix:
|
|||
- GROUP=ALL
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=dotnet
|
||||
- GROUP=LEXER
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=dotnet
|
||||
- GROUP=PARSER
|
||||
stage: extended-test
|
||||
- os: osx
|
||||
osx_image: xcode10.1
|
||||
osx_image: xcode10.2
|
||||
env:
|
||||
- TARGET=dotnet
|
||||
- GROUP=RECURSION
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
sudo apt-get update -qq
|
|
@ -2,7 +2,5 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
sudo apt-get update -qq
|
||||
eval "$(sudo gimme 1.7.3)"
|
||||
( go version ; go env ) || true
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
sudo apt-get update -qq
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
sudo apt-get update -qq
|
||||
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
|
||||
sudo apt-get install -qq nodejs
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
sudo apt-get update -qq
|
||||
python --version
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
python3 --version
|
|
@ -2,8 +2,10 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
python --version
|
||||
|
||||
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python2.* test
|
||||
|
||||
cd ../runtime/Python2/tests
|
||||
|
||||
python run.py
|
||||
python run.py
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
python3 --version
|
||||
|
||||
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python3.* test
|
||||
|
||||
cd ../runtime/Python3/test
|
||||
|
||||
python3.6 run.py
|
||||
python3 run.py
|
||||
|
|
|
@ -6,7 +6,7 @@ set -euo pipefail
|
|||
# here since environment variables doesn't pass
|
||||
# across scripts
|
||||
if [ $TRAVIS_OS_NAME == "linux" ]; then
|
||||
export SWIFT_VERSION=swift-4.2.1
|
||||
export SWIFT_VERSION=swift-5.0.1
|
||||
export SWIFT_HOME=$(pwd)/swift/$SWIFT_VERSION-RELEASE-ubuntu16.04/usr/bin/
|
||||
export PATH=$SWIFT_HOME:$PATH
|
||||
|
||||
|
|
|
@ -214,7 +214,9 @@ YYYY/MM/DD, github id, Full name, email
|
|||
2018/11/29, hannemann-tamas, Ralf Hannemann-Tamas, ralf.ht@gmail.com
|
||||
2018/12/20, WalterCouto, Walter Couto, WalterCouto@users.noreply.github.com
|
||||
2018/12/23, youkaichao, Kaichao You, youkaichao@gmail.com
|
||||
2019/01/16, kuegi, Markus Zancolo, markus.zancolo@roomle.com
|
||||
2019/02/06, ralucado, Cristina Raluca Vijulie, ralucris.v[at]gmail[dot]com
|
||||
2019/02/23, gedimitr, Gerasimos Dimitriadis, gedimitr@gmail.com
|
||||
2019/03/13, base698, Justin Thomas, justin.thomas1@gmail.com
|
||||
2019/03/18, carlodri, Carlo Dri, carlo.dri@gmail.com
|
||||
2019/05/02, askingalot, Andy Collins, askingalot@gmail.com
|
||||
|
@ -231,3 +233,7 @@ YYYY/MM/DD, github id, Full name, email
|
|||
2019/09/17, kaz, Kazuki Sawada, kazuki@6715.jp
|
||||
2019/09/28, lmy269, Mingyang Liu, lmy040758@gmail.com
|
||||
2019/10/29, tehbone, Tabari Alexander, tehbone@gmail.com
|
||||
2019/10/31, a-square, Alexei Averchenko, lex.aver@gmail.com
|
||||
2019/11/11, foxeverl, Liu Xinfeng, liuxf1986[at]gmail[dot]com
|
||||
2019/11/17, felixn, Felix Nieuwenhuizhen, felix@tdlrali.com
|
||||
2019/11/18, mlilback, Mark Lilback, mark@lilback.com
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "Object <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= "System.Collections.IList __ttt__ = <v>;" // just use static type system
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||
|
|
|
@ -11,8 +11,6 @@ Append(a,b) ::= "<a> + <b>->toString()"
|
|||
Concat(a,b) ::= "<a><b>"
|
||||
AppendStr(a,b) ::= "<a> + <b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "<s> = <v>"
|
||||
|
||||
AssertIsList(v) ::= "assert(<v>.size() >= 0);" // Use a method that exists only on a list (vector actually).
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
||||
|
@ -25,7 +23,6 @@ VarRef(n) ::= "<n>"
|
|||
GetMember(n) ::= "<n>"
|
||||
SetMember(n,v) ::= "<n> = <v>;"
|
||||
AddMember(n,v) ::= "<n> += <v>;"
|
||||
PlusMember(v,n) ::= "<v> + <n>"
|
||||
MemberEquals(n,v) ::= "<n> == <v>"
|
||||
ModMemberEquals(n,m,v) ::= "<n> % <m> == <v>"
|
||||
ModMemberNotEquals(n,m,v) ::= "<n> % <m> != <v>"
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array"}>>
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s, v) ::= "var <s> = <v>"
|
||||
|
||||
AssertIsList(v) ::= ""
|
||||
|
||||
AssignLocal(s, v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n, v) ::= <%<n> = <v>;%>
|
|||
|
||||
AddMember(n, v) ::= <%<n> += <v>;%>
|
||||
|
||||
PlusMember(v, n) ::= <%<v> + fmt.Sprint(<n>)%>
|
||||
|
||||
MemberEquals(n, v) ::= <%<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n, m, v) ::= <%<n> % <m> == <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "Object <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= "List\<?> __ttt__ = <v>;" // just use static type system
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "<s> = <v>"
|
||||
|
||||
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
|||
|
||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + str(self.<n>)%>
|
||||
|
||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "<s> = <v>"
|
||||
|
||||
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
|||
|
||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + str(self.<n>)%>
|
||||
|
||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
||||
|
||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
|||
|
||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
|||
|
||||
Concat(a,b) ::= "<a><b>"
|
||||
|
||||
DeclareLocal(s,v) ::= "var <s> = <v>"
|
||||
|
||||
AssertIsList(v) ::= "var __ttt__ = <v>;" // just use static type system
|
||||
|
||||
AssignLocal(s,v) ::= "<s> = <v>"
|
||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
|||
|
||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||
|
||||
PlusMember(v,n) ::= <%<v> + self.<n>%>
|
||||
|
||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||
|
||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||
|
@ -133,7 +129,7 @@ open func emit() -> Token {
|
|||
private func handleAcceptPositionForIdentifier() -> Bool {
|
||||
let tokenText = getText()
|
||||
var identifierLength = 0
|
||||
while ((identifierLength \< tokenText.characters.count) && isIdentifierChar(tokenText[tokenText.characters.index(tokenText.startIndex, offsetBy: identifierLength)])) {
|
||||
while ((identifierLength \< tokenText.count) && isIdentifierChar(tokenText[tokenText.index(tokenText.startIndex, offsetBy: identifierLength)])) {
|
||||
identifierLength += 1
|
||||
}
|
||||
|
||||
|
@ -147,8 +143,8 @@ private func handleAcceptPositionForIdentifier() -> Bool {
|
|||
}
|
||||
|
||||
private func handleAcceptPositionForKeyword(_ keyword:String) -> Bool {
|
||||
if getInputStream()!.index() > _tokenStartCharIndex + keyword.characters.count {
|
||||
let offset = keyword.characters.count - 1
|
||||
if getInputStream()!.index() > _tokenStartCharIndex + keyword.count {
|
||||
let offset = keyword.count - 1
|
||||
(getInterpreter() as! PositionAdjustingLexerATNSimulator).resetAcceptPosition(getInputStream()!, _tokenStartCharIndex + offset, _tokenStartLine, _tokenStartCharPositionInLine + offset)
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -57,12 +57,23 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
throw new RuntimeException("Swift runtime file not found at:" + swiftRuntime.getPath());
|
||||
}
|
||||
ANTLR_RUNTIME_PATH = swiftRuntime.getPath();
|
||||
fastFailRunProcess(ANTLR_RUNTIME_PATH, SWIFT_CMD, "build");
|
||||
try {
|
||||
fastFailRunProcess(ANTLR_RUNTIME_PATH, SWIFT_CMD, "build");
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
// shutdown logic
|
||||
Runtime.getRuntime().addShutdownHook(new Thread() {
|
||||
public void run() {
|
||||
fastFailRunProcess(ANTLR_RUNTIME_PATH, SWIFT_CMD, "package", "clean");
|
||||
try {
|
||||
fastFailRunProcess(ANTLR_RUNTIME_PATH, SWIFT_CMD, "package", "clean");
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -145,8 +156,14 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
|
||||
String projectName = "testcase-" + System.currentTimeMillis();
|
||||
String projectDir = getTmpDir() + "/" + projectName;
|
||||
buildProject(projectDir, projectName);
|
||||
return execTest(projectDir, projectName);
|
||||
try {
|
||||
buildProject(projectDir, projectName);
|
||||
return execTest(projectDir, projectName);
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -183,7 +200,7 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
Collections.addAll(this.sourceFiles, files);
|
||||
}
|
||||
|
||||
private void buildProject(String projectDir, String projectName) {
|
||||
private void buildProject(String projectDir, String projectName) throws IOException, InterruptedException {
|
||||
mkdir(projectDir);
|
||||
fastFailRunProcess(projectDir, SWIFT_CMD, "package", "init", "--type", "executable");
|
||||
for (String sourceFile: sourceFiles) {
|
||||
|
@ -191,20 +208,16 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
fastFailRunProcess(getTmpDir(), "mv", "-f", absPath, projectDir + "/Sources/" + projectName);
|
||||
}
|
||||
fastFailRunProcess(getTmpDir(), "mv", "-f", "input", projectDir);
|
||||
|
||||
try {
|
||||
String dylibPath = ANTLR_RUNTIME_PATH + "/.build/debug/";
|
||||
Pair<String, String> buildResult = runProcess(projectDir, SWIFT_CMD, "build",
|
||||
"-Xswiftc", "-I"+dylibPath,
|
||||
"-Xlinker", "-L"+dylibPath,
|
||||
"-Xlinker", "-lAntlr4",
|
||||
"-Xlinker", "-rpath",
|
||||
"-Xlinker", dylibPath);
|
||||
if (buildResult.b.length() > 0) {
|
||||
throw new RuntimeException("unit test build failed: " + buildResult.a + "\n" + buildResult.b);
|
||||
}
|
||||
} catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
String dylibPath = ANTLR_RUNTIME_PATH + "/.build/debug/";
|
||||
// System.err.println(dylibPath);
|
||||
Pair<String, String> buildResult = runProcess(projectDir, SWIFT_CMD, "build",
|
||||
"-Xswiftc", "-I"+dylibPath,
|
||||
"-Xlinker", "-L"+dylibPath,
|
||||
"-Xlinker", "-lAntlr4",
|
||||
"-Xlinker", "-rpath",
|
||||
"-Xlinker", dylibPath);
|
||||
if (buildResult.b.length() > 0) {
|
||||
throw new IOException("unit test build failed: " + buildResult.a + "\n" + buildResult.b);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,20 +227,22 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
StreamVacuum stderrVacuum = new StreamVacuum(process.getErrorStream());
|
||||
stdoutVacuum.start();
|
||||
stderrVacuum.start();
|
||||
process.waitFor();
|
||||
int status = process.waitFor();
|
||||
stdoutVacuum.join();
|
||||
stderrVacuum.join();
|
||||
if (status != 0) {
|
||||
throw new IOException("Process exited with status " + status + ":\n" + stdoutVacuum.toString() + "\n" + stderrVacuum.toString());
|
||||
}
|
||||
return new Pair<>(stdoutVacuum.toString(), stderrVacuum.toString());
|
||||
}
|
||||
|
||||
private static void fastFailRunProcess(String workingDir, String... command) {
|
||||
private static void fastFailRunProcess(String workingDir, String... command) throws IOException, InterruptedException {
|
||||
ProcessBuilder builder = new ProcessBuilder(command);
|
||||
builder.directory(new File(workingDir));
|
||||
try {
|
||||
Process p = builder.start();
|
||||
p.waitFor();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Process p = builder.start();
|
||||
int status = p.waitFor();
|
||||
if (status != 0) {
|
||||
throw new IOException("Process exited with status " + status);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -251,8 +266,14 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
|||
addSourceFiles("main.swift");
|
||||
String projectName = "testcase-" + System.currentTimeMillis();
|
||||
String projectDir = getTmpDir() + "/" + projectName;
|
||||
buildProject(projectDir, projectName);
|
||||
return execTest(projectDir, projectName);
|
||||
try {
|
||||
buildProject(projectDir, projectName);
|
||||
return execTest(projectDir, projectName);
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void writeParserTestFile(String parserName,
|
||||
|
|
|
@ -122,7 +122,9 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND ( CMAKE_SYSTEM_NAME MATCH
|
|||
endif()
|
||||
elseif(MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800)
|
||||
# Visual Studio 2012+ supports c++11 features
|
||||
else ()
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Emscripten")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
|
||||
else()
|
||||
message(FATAL_ERROR "Your C++ compiler does not support C++11.")
|
||||
endif()
|
||||
|
||||
|
|
|
@ -109,6 +109,12 @@ else()
|
|||
endif()
|
||||
|
||||
# Seperate build step as rarely people want both
|
||||
set(ANTLR4_BUILD_DIR ${ANTLR4_ROOT})
|
||||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0")
|
||||
# CMake 3.14 builds in above's SOURCE_SUBDIR when BUILD_IN_SOURCE is true
|
||||
set(ANTLR4_BUILD_DIR ${ANTLR4_ROOT}/runtime/Cpp)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add_Step(
|
||||
antlr4_runtime
|
||||
build_static
|
||||
|
@ -118,7 +124,7 @@ ExternalProject_Add_Step(
|
|||
DEPENDS antlr4_runtime
|
||||
BYPRODUCTS ${ANTLR4_STATIC_LIBRARIES}
|
||||
EXCLUDE_FROM_MAIN 1
|
||||
WORKING_DIRECTORY ${ANTLR4_ROOT})
|
||||
WORKING_DIRECTORY ${ANTLR4_BUILD_DIR})
|
||||
ExternalProject_Add_StepTargets(antlr4_runtime build_static)
|
||||
|
||||
add_library(antlr4_static STATIC IMPORTED)
|
||||
|
@ -135,7 +141,7 @@ ExternalProject_Add_Step(
|
|||
DEPENDS antlr4_runtime
|
||||
BYPRODUCTS ${ANTLR4_SHARED_LIBRARIES} ${ANTLR4_RUNTIME_LIBRARIES}
|
||||
EXCLUDE_FROM_MAIN 1
|
||||
WORKING_DIRECTORY ${ANTLR4_ROOT})
|
||||
WORKING_DIRECTORY ${ANTLR4_BUILD_DIR})
|
||||
ExternalProject_Add_StepTargets(antlr4_runtime build_shared)
|
||||
|
||||
add_library(antlr4_shared SHARED IMPORTED)
|
||||
|
|
|
@ -40,7 +40,8 @@ antlr_target(SampleGrammarLexer TLexer.g4 LEXER
|
|||
PACKAGE antlrcpptest)
|
||||
antlr_target(SampleGrammarParser TParser.g4 PARSER
|
||||
PACKAGE antlrcpptest
|
||||
DEPENDS_ANTLR SampleGrammarLexer)
|
||||
DEPENDS_ANTLR SampleGrammarLexer
|
||||
COMPILE_FLAGS -lib ${ANTLR_SampleGrammarLexer_OUTPUT_DIR})
|
||||
|
||||
# include generated files in project environment
|
||||
include_directories(${ANTLR_SampleGrammarLexer_OUTPUT_DIR})
|
||||
|
|
|
@ -0,0 +1,651 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug Static|Win32">
|
||||
<Configuration>Debug Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug Static|x64">
|
||||
<Configuration>Debug Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug DLL|Win32">
|
||||
<Configuration>Debug DLL</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug DLL|x64">
|
||||
<Configuration>Debug DLL</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Static|Win32">
|
||||
<Configuration>Release Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release Static|x64">
|
||||
<Configuration>Release Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release DLL|Win32">
|
||||
<Configuration>Release DLL</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release DLL|x64">
|
||||
<Configuration>Release DLL</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{83BE66CD-9C4F-4F84-B72A-DD1855C8FC8A}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>antlr4cpp</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\vs-2019\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(PlatformTarget)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<TargetName>antlr4-runtime</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_DLL;ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_DLL;ANTLR4CPP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ANTLR4CPP_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ForcedIncludeFiles>
|
||||
</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4251</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\ANTLRErrorListener.cpp" />
|
||||
<ClCompile Include="src\ANTLRErrorStrategy.cpp" />
|
||||
<ClCompile Include="src\ANTLRFileStream.cpp" />
|
||||
<ClCompile Include="src\ANTLRInputStream.cpp" />
|
||||
<ClCompile Include="src\atn\AbstractPredicateTransition.cpp" />
|
||||
<ClCompile Include="src\atn\ActionTransition.cpp" />
|
||||
<ClCompile Include="src\atn\AmbiguityInfo.cpp" />
|
||||
<ClCompile Include="src\atn\ArrayPredictionContext.cpp" />
|
||||
<ClCompile Include="src\atn\ATN.cpp" />
|
||||
<ClCompile Include="src\atn\ATNConfig.cpp" />
|
||||
<ClCompile Include="src\atn\ATNConfigSet.cpp" />
|
||||
<ClCompile Include="src\atn\ATNDeserializationOptions.cpp" />
|
||||
<ClCompile Include="src\atn\ATNDeserializer.cpp" />
|
||||
<ClCompile Include="src\atn\ATNSerializer.cpp" />
|
||||
<ClCompile Include="src\atn\ATNSimulator.cpp" />
|
||||
<ClCompile Include="src\atn\ATNState.cpp" />
|
||||
<ClCompile Include="src\atn\AtomTransition.cpp" />
|
||||
<ClCompile Include="src\atn\BasicBlockStartState.cpp" />
|
||||
<ClCompile Include="src\atn\BasicState.cpp" />
|
||||
<ClCompile Include="src\atn\BlockEndState.cpp" />
|
||||
<ClCompile Include="src\atn\BlockStartState.cpp" />
|
||||
<ClCompile Include="src\atn\ContextSensitivityInfo.cpp" />
|
||||
<ClCompile Include="src\atn\DecisionEventInfo.cpp" />
|
||||
<ClCompile Include="src\atn\DecisionInfo.cpp" />
|
||||
<ClCompile Include="src\atn\DecisionState.cpp" />
|
||||
<ClCompile Include="src\atn\EmptyPredictionContext.cpp" />
|
||||
<ClCompile Include="src\atn\EpsilonTransition.cpp" />
|
||||
<ClCompile Include="src\atn\ErrorInfo.cpp" />
|
||||
<ClCompile Include="src\atn\LexerAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerActionExecutor.cpp" />
|
||||
<ClCompile Include="src\atn\LexerATNConfig.cpp" />
|
||||
<ClCompile Include="src\atn\LexerATNSimulator.cpp" />
|
||||
<ClCompile Include="src\atn\LexerChannelAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerCustomAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerIndexedCustomAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerModeAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerMoreAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerPopModeAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerPushModeAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerSkipAction.cpp" />
|
||||
<ClCompile Include="src\atn\LexerTypeAction.cpp" />
|
||||
<ClCompile Include="src\atn\LL1Analyzer.cpp" />
|
||||
<ClCompile Include="src\atn\LookaheadEventInfo.cpp" />
|
||||
<ClCompile Include="src\atn\LoopEndState.cpp" />
|
||||
<ClCompile Include="src\atn\NotSetTransition.cpp" />
|
||||
<ClCompile Include="src\atn\OrderedATNConfigSet.cpp" />
|
||||
<ClCompile Include="src\atn\ParseInfo.cpp" />
|
||||
<ClCompile Include="src\atn\ParserATNSimulator.cpp" />
|
||||
<ClCompile Include="src\atn\PlusBlockStartState.cpp" />
|
||||
<ClCompile Include="src\atn\PlusLoopbackState.cpp" />
|
||||
<ClCompile Include="src\atn\PrecedencePredicateTransition.cpp" />
|
||||
<ClCompile Include="src\atn\PredicateEvalInfo.cpp" />
|
||||
<ClCompile Include="src\atn\PredicateTransition.cpp" />
|
||||
<ClCompile Include="src\atn\PredictionContext.cpp" />
|
||||
<ClCompile Include="src\atn\PredictionMode.cpp" />
|
||||
<ClCompile Include="src\atn\ProfilingATNSimulator.cpp" />
|
||||
<ClCompile Include="src\atn\RangeTransition.cpp" />
|
||||
<ClCompile Include="src\atn\RuleStartState.cpp" />
|
||||
<ClCompile Include="src\atn\RuleStopState.cpp" />
|
||||
<ClCompile Include="src\atn\RuleTransition.cpp" />
|
||||
<ClCompile Include="src\atn\SemanticContext.cpp" />
|
||||
<ClCompile Include="src\atn\SetTransition.cpp" />
|
||||
<ClCompile Include="src\atn\SingletonPredictionContext.cpp" />
|
||||
<ClCompile Include="src\atn\StarBlockStartState.cpp" />
|
||||
<ClCompile Include="src\atn\StarLoopbackState.cpp" />
|
||||
<ClCompile Include="src\atn\StarLoopEntryState.cpp" />
|
||||
<ClCompile Include="src\atn\TokensStartState.cpp" />
|
||||
<ClCompile Include="src\atn\Transition.cpp" />
|
||||
<ClCompile Include="src\atn\WildcardTransition.cpp" />
|
||||
<ClCompile Include="src\BailErrorStrategy.cpp" />
|
||||
<ClCompile Include="src\BaseErrorListener.cpp" />
|
||||
<ClCompile Include="src\BufferedTokenStream.cpp" />
|
||||
<ClCompile Include="src\CharStream.cpp" />
|
||||
<ClCompile Include="src\CommonToken.cpp" />
|
||||
<ClCompile Include="src\CommonTokenFactory.cpp" />
|
||||
<ClCompile Include="src\CommonTokenStream.cpp" />
|
||||
<ClCompile Include="src\ConsoleErrorListener.cpp" />
|
||||
<ClCompile Include="src\DefaultErrorStrategy.cpp" />
|
||||
<ClCompile Include="src\dfa\DFA.cpp" />
|
||||
<ClCompile Include="src\dfa\DFASerializer.cpp" />
|
||||
<ClCompile Include="src\dfa\DFAState.cpp" />
|
||||
<ClCompile Include="src\dfa\LexerDFASerializer.cpp" />
|
||||
<ClCompile Include="src\DiagnosticErrorListener.cpp" />
|
||||
<ClCompile Include="src\Exceptions.cpp" />
|
||||
<ClCompile Include="src\FailedPredicateException.cpp" />
|
||||
<ClCompile Include="src\InputMismatchException.cpp" />
|
||||
<ClCompile Include="src\InterpreterRuleContext.cpp" />
|
||||
<ClCompile Include="src\IntStream.cpp" />
|
||||
<ClCompile Include="src\Lexer.cpp" />
|
||||
<ClCompile Include="src\LexerInterpreter.cpp" />
|
||||
<ClCompile Include="src\LexerNoViableAltException.cpp" />
|
||||
<ClCompile Include="src\ListTokenSource.cpp" />
|
||||
<ClCompile Include="src\misc\InterpreterDataReader.cpp" />
|
||||
<ClCompile Include="src\misc\Interval.cpp" />
|
||||
<ClCompile Include="src\misc\IntervalSet.cpp" />
|
||||
<ClCompile Include="src\misc\MurmurHash.cpp" />
|
||||
<ClCompile Include="src\misc\Predicate.cpp" />
|
||||
<ClCompile Include="src\NoViableAltException.cpp" />
|
||||
<ClCompile Include="src\Parser.cpp" />
|
||||
<ClCompile Include="src\ParserInterpreter.cpp" />
|
||||
<ClCompile Include="src\ParserRuleContext.cpp" />
|
||||
<ClCompile Include="src\ProxyErrorListener.cpp" />
|
||||
<ClCompile Include="src\RecognitionException.cpp" />
|
||||
<ClCompile Include="src\Recognizer.cpp" />
|
||||
<ClCompile Include="src\RuleContext.cpp" />
|
||||
<ClCompile Include="src\RuleContextWithAltNum.cpp" />
|
||||
<ClCompile Include="src\RuntimeMetaData.cpp" />
|
||||
<ClCompile Include="src\support\Any.cpp" />
|
||||
<ClCompile Include="src\support\Arrays.cpp" />
|
||||
<ClCompile Include="src\support\CPPUtils.cpp" />
|
||||
<ClCompile Include="src\support\guid.cpp" />
|
||||
<ClCompile Include="src\support\StringUtils.cpp" />
|
||||
<ClCompile Include="src\Token.cpp" />
|
||||
<ClCompile Include="src\TokenSource.cpp" />
|
||||
<ClCompile Include="src\TokenStream.cpp" />
|
||||
<ClCompile Include="src\TokenStreamRewriter.cpp" />
|
||||
<ClCompile Include="src\tree\ErrorNode.cpp" />
|
||||
<ClCompile Include="src\tree\ErrorNodeImpl.cpp" />
|
||||
<ClCompile Include="src\tree\IterativeParseTreeWalker.cpp" />
|
||||
<ClCompile Include="src\tree\ParseTree.cpp" />
|
||||
<ClCompile Include="src\tree\ParseTreeListener.cpp" />
|
||||
<ClCompile Include="src\tree\ParseTreeVisitor.cpp" />
|
||||
<ClCompile Include="src\tree\ParseTreeWalker.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\Chunk.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\ParseTreeMatch.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\ParseTreePattern.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\ParseTreePatternMatcher.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\RuleTagToken.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\TagChunk.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\TextChunk.cpp" />
|
||||
<ClCompile Include="src\tree\pattern\TokenTagToken.cpp" />
|
||||
<ClCompile Include="src\tree\TerminalNode.cpp" />
|
||||
<ClCompile Include="src\tree\TerminalNodeImpl.cpp" />
|
||||
<ClCompile Include="src\tree\Trees.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPath.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathLexer.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathLexerErrorListener.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathRuleAnywhereElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathRuleElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathTokenAnywhereElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathTokenElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathWildcardAnywhereElement.cpp" />
|
||||
<ClCompile Include="src\tree\xpath\XPathWildcardElement.cpp" />
|
||||
<ClCompile Include="src\UnbufferedCharStream.cpp" />
|
||||
<ClCompile Include="src\UnbufferedTokenStream.cpp" />
|
||||
<ClCompile Include="src\Vocabulary.cpp" />
|
||||
<ClCompile Include="src\WritableToken.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\antlr4-common.h" />
|
||||
<ClInclude Include="src\antlr4-runtime.h" />
|
||||
<ClInclude Include="src\ANTLRErrorListener.h" />
|
||||
<ClInclude Include="src\ANTLRErrorStrategy.h" />
|
||||
<ClInclude Include="src\ANTLRFileStream.h" />
|
||||
<ClInclude Include="src\ANTLRInputStream.h" />
|
||||
<ClInclude Include="src\atn\AbstractPredicateTransition.h" />
|
||||
<ClInclude Include="src\atn\ActionTransition.h" />
|
||||
<ClInclude Include="src\atn\AmbiguityInfo.h" />
|
||||
<ClInclude Include="src\atn\ArrayPredictionContext.h" />
|
||||
<ClInclude Include="src\atn\ATN.h" />
|
||||
<ClInclude Include="src\atn\ATNConfig.h" />
|
||||
<ClInclude Include="src\atn\ATNConfigSet.h" />
|
||||
<ClInclude Include="src\atn\ATNDeserializationOptions.h" />
|
||||
<ClInclude Include="src\atn\ATNDeserializer.h" />
|
||||
<ClInclude Include="src\atn\ATNSerializer.h" />
|
||||
<ClInclude Include="src\atn\ATNSimulator.h" />
|
||||
<ClInclude Include="src\atn\ATNState.h" />
|
||||
<ClInclude Include="src\atn\ATNType.h" />
|
||||
<ClInclude Include="src\atn\AtomTransition.h" />
|
||||
<ClInclude Include="src\atn\BasicBlockStartState.h" />
|
||||
<ClInclude Include="src\atn\BasicState.h" />
|
||||
<ClInclude Include="src\atn\BlockEndState.h" />
|
||||
<ClInclude Include="src\atn\BlockStartState.h" />
|
||||
<ClInclude Include="src\atn\ConfigLookup.h" />
|
||||
<ClInclude Include="src\atn\ContextSensitivityInfo.h" />
|
||||
<ClInclude Include="src\atn\DecisionEventInfo.h" />
|
||||
<ClInclude Include="src\atn\DecisionInfo.h" />
|
||||
<ClInclude Include="src\atn\DecisionState.h" />
|
||||
<ClInclude Include="src\atn\EmptyPredictionContext.h" />
|
||||
<ClInclude Include="src\atn\EpsilonTransition.h" />
|
||||
<ClInclude Include="src\atn\ErrorInfo.h" />
|
||||
<ClInclude Include="src\atn\LexerAction.h" />
|
||||
<ClInclude Include="src\atn\LexerActionExecutor.h" />
|
||||
<ClInclude Include="src\atn\LexerActionType.h" />
|
||||
<ClInclude Include="src\atn\LexerATNConfig.h" />
|
||||
<ClInclude Include="src\atn\LexerATNSimulator.h" />
|
||||
<ClInclude Include="src\atn\LexerChannelAction.h" />
|
||||
<ClInclude Include="src\atn\LexerCustomAction.h" />
|
||||
<ClInclude Include="src\atn\LexerIndexedCustomAction.h" />
|
||||
<ClInclude Include="src\atn\LexerModeAction.h" />
|
||||
<ClInclude Include="src\atn\LexerMoreAction.h" />
|
||||
<ClInclude Include="src\atn\LexerPopModeAction.h" />
|
||||
<ClInclude Include="src\atn\LexerPushModeAction.h" />
|
||||
<ClInclude Include="src\atn\LexerSkipAction.h" />
|
||||
<ClInclude Include="src\atn\LexerTypeAction.h" />
|
||||
<ClInclude Include="src\atn\LL1Analyzer.h" />
|
||||
<ClInclude Include="src\atn\LookaheadEventInfo.h" />
|
||||
<ClInclude Include="src\atn\LoopEndState.h" />
|
||||
<ClInclude Include="src\atn\NotSetTransition.h" />
|
||||
<ClInclude Include="src\atn\OrderedATNConfigSet.h" />
|
||||
<ClInclude Include="src\atn\ParseInfo.h" />
|
||||
<ClInclude Include="src\atn\ParserATNSimulator.h" />
|
||||
<ClInclude Include="src\atn\PlusBlockStartState.h" />
|
||||
<ClInclude Include="src\atn\PlusLoopbackState.h" />
|
||||
<ClInclude Include="src\atn\PrecedencePredicateTransition.h" />
|
||||
<ClInclude Include="src\atn\PredicateEvalInfo.h" />
|
||||
<ClInclude Include="src\atn\PredicateTransition.h" />
|
||||
<ClInclude Include="src\atn\PredictionContext.h" />
|
||||
<ClInclude Include="src\atn\PredictionMode.h" />
|
||||
<ClInclude Include="src\atn\ProfilingATNSimulator.h" />
|
||||
<ClInclude Include="src\atn\RangeTransition.h" />
|
||||
<ClInclude Include="src\atn\RuleStartState.h" />
|
||||
<ClInclude Include="src\atn\RuleStopState.h" />
|
||||
<ClInclude Include="src\atn\RuleTransition.h" />
|
||||
<ClInclude Include="src\atn\SemanticContext.h" />
|
||||
<ClInclude Include="src\atn\SetTransition.h" />
|
||||
<ClInclude Include="src\atn\SingletonPredictionContext.h" />
|
||||
<ClInclude Include="src\atn\StarBlockStartState.h" />
|
||||
<ClInclude Include="src\atn\StarLoopbackState.h" />
|
||||
<ClInclude Include="src\atn\StarLoopEntryState.h" />
|
||||
<ClInclude Include="src\atn\TokensStartState.h" />
|
||||
<ClInclude Include="src\atn\Transition.h" />
|
||||
<ClInclude Include="src\atn\WildcardTransition.h" />
|
||||
<ClInclude Include="src\BailErrorStrategy.h" />
|
||||
<ClInclude Include="src\BaseErrorListener.h" />
|
||||
<ClInclude Include="src\BufferedTokenStream.h" />
|
||||
<ClInclude Include="src\CharStream.h" />
|
||||
<ClInclude Include="src\CommonToken.h" />
|
||||
<ClInclude Include="src\CommonTokenFactory.h" />
|
||||
<ClInclude Include="src\CommonTokenStream.h" />
|
||||
<ClInclude Include="src\ConsoleErrorListener.h" />
|
||||
<ClInclude Include="src\DefaultErrorStrategy.h" />
|
||||
<ClInclude Include="src\dfa\DFA.h" />
|
||||
<ClInclude Include="src\dfa\DFASerializer.h" />
|
||||
<ClInclude Include="src\dfa\DFAState.h" />
|
||||
<ClInclude Include="src\dfa\LexerDFASerializer.h" />
|
||||
<ClInclude Include="src\DiagnosticErrorListener.h" />
|
||||
<ClInclude Include="src\Exceptions.h" />
|
||||
<ClInclude Include="src\FailedPredicateException.h" />
|
||||
<ClInclude Include="src\InputMismatchException.h" />
|
||||
<ClInclude Include="src\InterpreterRuleContext.h" />
|
||||
<ClInclude Include="src\IntStream.h" />
|
||||
<ClInclude Include="src\Lexer.h" />
|
||||
<ClInclude Include="src\LexerInterpreter.h" />
|
||||
<ClInclude Include="src\LexerNoViableAltException.h" />
|
||||
<ClInclude Include="src\ListTokenSource.h" />
|
||||
<ClInclude Include="src\misc\InterpreterDataReader.h" />
|
||||
<ClInclude Include="src\misc\Interval.h" />
|
||||
<ClInclude Include="src\misc\IntervalSet.h" />
|
||||
<ClInclude Include="src\misc\MurmurHash.h" />
|
||||
<ClInclude Include="src\misc\Predicate.h" />
|
||||
<ClInclude Include="src\NoViableAltException.h" />
|
||||
<ClInclude Include="src\Parser.h" />
|
||||
<ClInclude Include="src\ParserInterpreter.h" />
|
||||
<ClInclude Include="src\ParserRuleContext.h" />
|
||||
<ClInclude Include="src\ProxyErrorListener.h" />
|
||||
<ClInclude Include="src\RecognitionException.h" />
|
||||
<ClInclude Include="src\Recognizer.h" />
|
||||
<ClInclude Include="src\RuleContext.h" />
|
||||
<ClInclude Include="src\RuleContextWithAltNum.h" />
|
||||
<ClInclude Include="src\RuntimeMetaData.h" />
|
||||
<ClInclude Include="src\support\Any.h" />
|
||||
<ClInclude Include="src\support\Arrays.h" />
|
||||
<ClInclude Include="src\support\BitSet.h" />
|
||||
<ClInclude Include="src\support\CPPUtils.h" />
|
||||
<ClInclude Include="src\support\Declarations.h" />
|
||||
<ClInclude Include="src\support\guid.h" />
|
||||
<ClInclude Include="src\support\StringUtils.h" />
|
||||
<ClInclude Include="src\Token.h" />
|
||||
<ClInclude Include="src\TokenFactory.h" />
|
||||
<ClInclude Include="src\TokenSource.h" />
|
||||
<ClInclude Include="src\TokenStream.h" />
|
||||
<ClInclude Include="src\TokenStreamRewriter.h" />
|
||||
<ClInclude Include="src\tree\AbstractParseTreeVisitor.h" />
|
||||
<ClInclude Include="src\tree\ErrorNode.h" />
|
||||
<ClInclude Include="src\tree\ErrorNodeImpl.h" />
|
||||
<ClInclude Include="src\tree\IterativeParseTreeWalker.h" />
|
||||
<ClInclude Include="src\tree\ParseTree.h" />
|
||||
<ClInclude Include="src\tree\ParseTreeListener.h" />
|
||||
<ClInclude Include="src\tree\ParseTreeProperty.h" />
|
||||
<ClInclude Include="src\tree\ParseTreeVisitor.h" />
|
||||
<ClInclude Include="src\tree\ParseTreeWalker.h" />
|
||||
<ClInclude Include="src\tree\pattern\Chunk.h" />
|
||||
<ClInclude Include="src\tree\pattern\ParseTreeMatch.h" />
|
||||
<ClInclude Include="src\tree\pattern\ParseTreePattern.h" />
|
||||
<ClInclude Include="src\tree\pattern\ParseTreePatternMatcher.h" />
|
||||
<ClInclude Include="src\tree\pattern\RuleTagToken.h" />
|
||||
<ClInclude Include="src\tree\pattern\TagChunk.h" />
|
||||
<ClInclude Include="src\tree\pattern\TextChunk.h" />
|
||||
<ClInclude Include="src\tree\pattern\TokenTagToken.h" />
|
||||
<ClInclude Include="src\tree\RuleNode.h" />
|
||||
<ClInclude Include="src\tree\SyntaxTree.h" />
|
||||
<ClInclude Include="src\tree\TerminalNode.h" />
|
||||
<ClInclude Include="src\tree\TerminalNodeImpl.h" />
|
||||
<ClInclude Include="src\tree\Trees.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPath.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathLexer.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathLexerErrorListener.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathRuleAnywhereElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathRuleElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathTokenAnywhereElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathTokenElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathWildcardAnywhereElement.h" />
|
||||
<ClInclude Include="src\tree\xpath\XPathWildcardElement.h" />
|
||||
<ClInclude Include="src\UnbufferedCharStream.h" />
|
||||
<ClInclude Include="src\UnbufferedTokenStream.h" />
|
||||
<ClInclude Include="src\Vocabulary.h" />
|
||||
<ClInclude Include="src\WritableToken.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,987 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\atn">
|
||||
<UniqueIdentifier>{587a2726-4856-4d21-937a-fbaebaa90232}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\atn">
|
||||
<UniqueIdentifier>{2662156f-1508-4dad-b991-a8298a6db9bf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\dfa">
|
||||
<UniqueIdentifier>{5b1e59b1-7fa5-46a5-8d92-965bd709cca0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\dfa">
|
||||
<UniqueIdentifier>{9de9fe74-5d67-441d-a972-3cebe6dfbfcc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\misc">
|
||||
<UniqueIdentifier>{89fd3896-0ab1-476d-8d64-a57f10a5e73b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\misc">
|
||||
<UniqueIdentifier>{23939d7b-8e11-421e-80eb-b2cfdfdd64e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\support">
|
||||
<UniqueIdentifier>{05f2bacb-b5b2-4ca3-abe1-ca9a7239ecaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\support">
|
||||
<UniqueIdentifier>{d3b2ae2d-836b-4c73-8180-aca4ebb7d658}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\tree">
|
||||
<UniqueIdentifier>{6674a0f0-c65d-4a00-a9e5-1f243b89d0a2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\tree">
|
||||
<UniqueIdentifier>{1893fffe-7a2b-4708-8ce5-003aa9b749f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\tree\pattern">
|
||||
<UniqueIdentifier>{053a0632-27bc-4043-b5e8-760951b3b5b9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\tree\pattern">
|
||||
<UniqueIdentifier>{048c180d-44cf-49ca-a7aa-d0053fea07f5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\tree\xpath">
|
||||
<UniqueIdentifier>{3181cae5-cc15-4050-8c45-22af44a823de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\tree\xpath">
|
||||
<UniqueIdentifier>{290632d2-c56e-4005-a417-eb83b9531e1a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\ANTLRErrorListener.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ANTLRErrorStrategy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ANTLRFileStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ANTLRInputStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\BailErrorStrategy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\BaseErrorListener.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\BufferedTokenStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\CharStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\CommonToken.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\CommonTokenFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\CommonTokenStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ConsoleErrorListener.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\DefaultErrorStrategy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\DiagnosticErrorListener.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Exceptions.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\FailedPredicateException.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\InputMismatchException.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\InterpreterRuleContext.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\IntStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Lexer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\LexerInterpreter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\LexerNoViableAltException.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ListTokenSource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\NoViableAltException.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Parser.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ParserInterpreter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ParserRuleContext.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ProxyErrorListener.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RecognitionException.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Recognizer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RuleContext.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Token.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\TokenFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\TokenSource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\TokenStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\TokenStreamRewriter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\UnbufferedCharStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\UnbufferedTokenStream.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\WritableToken.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\DecisionState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\EmptyPredictionContext.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\EpsilonTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerATNConfig.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerATNSimulator.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LL1Analyzer.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LoopEndState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\NotSetTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\OrderedATNConfigSet.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ParserATNSimulator.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PlusBlockStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PlusLoopbackState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PrecedencePredicateTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PredicateTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PredictionContext.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PredictionMode.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\RangeTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\RuleStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\RuleStopState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\RuleTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\SemanticContext.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\SetTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\SingletonPredictionContext.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\StarBlockStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\StarLoopbackState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\StarLoopEntryState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\TokensStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\Transition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\WildcardTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\AbstractPredicateTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ActionTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ArrayPredictionContext.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATN.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNConfig.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNConfigSet.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNDeserializationOptions.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNDeserializer.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNSerializer.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNSimulator.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ATNType.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\AtomTransition.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\BasicBlockStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\BasicState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\BlockEndState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\BlockStartState.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ConfigLookup.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\dfa\LexerDFASerializer.h">
|
||||
<Filter>Header Files\dfa</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\dfa\DFA.h">
|
||||
<Filter>Header Files\dfa</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\dfa\DFASerializer.h">
|
||||
<Filter>Header Files\dfa</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\dfa\DFAState.h">
|
||||
<Filter>Header Files\dfa</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\misc\Interval.h">
|
||||
<Filter>Header Files\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\misc\IntervalSet.h">
|
||||
<Filter>Header Files\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\misc\MurmurHash.h">
|
||||
<Filter>Header Files\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\Arrays.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\BitSet.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\CPPUtils.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\Declarations.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\guid.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\AbstractParseTreeVisitor.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ErrorNode.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ErrorNodeImpl.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ParseTree.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ParseTreeListener.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ParseTreeProperty.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ParseTreeVisitor.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\ParseTreeWalker.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\RuleNode.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\SyntaxTree.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\TerminalNode.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\TerminalNodeImpl.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\Trees.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\Chunk.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\ParseTreeMatch.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\ParseTreePattern.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\ParseTreePatternMatcher.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\RuleTagToken.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\TagChunk.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\TextChunk.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\pattern\TokenTagToken.h">
|
||||
<Filter>Header Files\tree\pattern</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathLexer.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Vocabulary.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\AmbiguityInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ContextSensitivityInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\DecisionEventInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\DecisionInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ErrorInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerActionExecutor.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerActionType.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerChannelAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerCustomAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerIndexedCustomAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerModeAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerMoreAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerPopModeAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerPushModeAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerSkipAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LexerTypeAction.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\LookaheadEventInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ParseInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\PredicateEvalInfo.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\atn\ProfilingATNSimulator.h">
|
||||
<Filter>Header Files\atn</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\misc\Predicate.h">
|
||||
<Filter>Header Files\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RuleContextWithAltNum.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RuntimeMetaData.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\StringUtils.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPath.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathLexerErrorListener.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathRuleAnywhereElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathRuleElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathTokenAnywhereElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathTokenElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathWildcardAnywhereElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\xpath\XPathWildcardElement.h">
|
||||
<Filter>Header Files\tree\xpath</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\antlr4-common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\antlr4-runtime.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\tree\IterativeParseTreeWalker.h">
|
||||
<Filter>Header Files\tree</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\misc\InterpreterDataReader.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\support\Any.h">
|
||||
<Filter>Header Files\support</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\ANTLRFileStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ANTLRInputStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\BailErrorStrategy.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\BaseErrorListener.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\BufferedTokenStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CharStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CommonToken.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CommonTokenFactory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CommonTokenStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ConsoleErrorListener.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DefaultErrorStrategy.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DiagnosticErrorListener.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Exceptions.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FailedPredicateException.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\InputMismatchException.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\InterpreterRuleContext.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IntStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Lexer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\LexerInterpreter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\LexerNoViableAltException.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ListTokenSource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NoViableAltException.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Parser.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ParserInterpreter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ParserRuleContext.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ProxyErrorListener.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RecognitionException.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Recognizer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RuleContext.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TokenStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TokenStreamRewriter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UnbufferedCharStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UnbufferedTokenStream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\AbstractPredicateTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ActionTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ArrayPredictionContext.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATN.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNConfig.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNConfigSet.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNDeserializationOptions.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNDeserializer.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNSerializer.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNSimulator.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ATNState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\AtomTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\BasicBlockStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\BasicState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\BlockEndState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\DecisionState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\EmptyPredictionContext.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\EpsilonTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerATNConfig.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerATNSimulator.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LL1Analyzer.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LoopEndState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\NotSetTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\OrderedATNConfigSet.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ParserATNSimulator.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PlusBlockStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PlusLoopbackState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PrecedencePredicateTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PredicateTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PredictionContext.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PredictionMode.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\RangeTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\RuleStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\RuleStopState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\RuleTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\SemanticContext.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\SetTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\SingletonPredictionContext.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\StarBlockStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\StarLoopbackState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\StarLoopEntryState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\TokensStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\Transition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\WildcardTransition.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\dfa\DFA.cpp">
|
||||
<Filter>Source Files\dfa</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\dfa\DFASerializer.cpp">
|
||||
<Filter>Source Files\dfa</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\dfa\DFAState.cpp">
|
||||
<Filter>Source Files\dfa</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\dfa\LexerDFASerializer.cpp">
|
||||
<Filter>Source Files\dfa</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\misc\Interval.cpp">
|
||||
<Filter>Source Files\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\misc\IntervalSet.cpp">
|
||||
<Filter>Source Files\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\misc\MurmurHash.cpp">
|
||||
<Filter>Source Files\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\support\Arrays.cpp">
|
||||
<Filter>Source Files\support</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\support\CPPUtils.cpp">
|
||||
<Filter>Source Files\support</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\support\guid.cpp">
|
||||
<Filter>Source Files\support</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ErrorNodeImpl.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ParseTreeWalker.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\TerminalNodeImpl.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\Trees.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\ParseTreeMatch.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\ParseTreePattern.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\ParseTreePatternMatcher.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\RuleTagToken.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\TagChunk.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\TextChunk.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\TokenTagToken.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\AmbiguityInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ContextSensitivityInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\DecisionEventInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\DecisionInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ErrorInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerActionExecutor.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerChannelAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerCustomAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerIndexedCustomAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerModeAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerMoreAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerPopModeAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerPushModeAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerSkipAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerTypeAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LookaheadEventInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ParseInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\PredicateEvalInfo.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\ProfilingATNSimulator.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RuleContextWithAltNum.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RuntimeMetaData.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\support\StringUtils.cpp">
|
||||
<Filter>Source Files\support</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPath.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathLexer.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathLexerErrorListener.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathRuleAnywhereElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathRuleElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathTokenAnywhereElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathTokenElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathWildcardAnywhereElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\xpath\XPathWildcardElement.cpp">
|
||||
<Filter>Source Files\tree\xpath</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Vocabulary.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ParseTree.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\IterativeParseTreeWalker.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\misc\InterpreterDataReader.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ANTLRErrorListener.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ANTLRErrorStrategy.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\BlockStartState.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\atn\LexerAction.cpp">
|
||||
<Filter>Source Files\atn</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\misc\Predicate.cpp">
|
||||
<Filter>Source Files\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Token.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TokenSource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WritableToken.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\support\Any.cpp">
|
||||
<Filter>Source Files\support</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ErrorNode.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ParseTreeListener.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\ParseTreeVisitor.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\TerminalNode.cpp">
|
||||
<Filter>Source Files\tree</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tree\pattern\Chunk.cpp">
|
||||
<Filter>Source Files\tree\pattern</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -29,8 +29,6 @@
|
|||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
|
@ -51,8 +49,6 @@
|
|||
ReferencedContainer = "container:antlrcpp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
|
|
@ -358,17 +358,18 @@ std::string BufferedTokenStream::getSourceName() const
|
|||
}
|
||||
|
||||
std::string BufferedTokenStream::getText() {
|
||||
fill();
|
||||
return getText(misc::Interval(0U, size() - 1));
|
||||
}
|
||||
|
||||
std::string BufferedTokenStream::getText(const misc::Interval &interval) {
|
||||
lazyInit();
|
||||
fill();
|
||||
size_t start = interval.a;
|
||||
size_t stop = interval.b;
|
||||
if (start == INVALID_INDEX || stop == INVALID_INDEX) {
|
||||
return "";
|
||||
}
|
||||
sync(stop);
|
||||
if (stop >= _tokens.size()) {
|
||||
stop = _tokens.size() - 1;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,20 @@
|
|||
|
||||
using namespace antlr4;
|
||||
|
||||
namespace {
|
||||
|
||||
// Create a normal shared pointer if the configurations are to be deleted. If not, then
|
||||
// the shared pointer is created with a deleter that does nothing.
|
||||
Ref<atn::ATNConfigSet> buildConfigsRef(atn::ATNConfigSet *configs, bool deleteConfigs) {
|
||||
if (deleteConfigs) {
|
||||
return Ref<atn::ATNConfigSet>(configs);
|
||||
} else {
|
||||
return Ref<atn::ATNConfigSet>(configs, [](atn::ATNConfigSet *){});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
NoViableAltException::NoViableAltException(Parser *recognizer)
|
||||
: NoViableAltException(recognizer, recognizer->getTokenStream(), recognizer->getCurrentToken(),
|
||||
recognizer->getCurrentToken(), nullptr, recognizer->getContext(), false) {
|
||||
|
@ -17,12 +31,10 @@ NoViableAltException::NoViableAltException(Parser *recognizer)
|
|||
NoViableAltException::NoViableAltException(Parser *recognizer, TokenStream *input,Token *startToken,
|
||||
Token *offendingToken, atn::ATNConfigSet *deadEndConfigs, ParserRuleContext *ctx, bool deleteConfigs)
|
||||
: RecognitionException("No viable alternative", recognizer, input, ctx, offendingToken),
|
||||
_deadEndConfigs(deadEndConfigs), _startToken(startToken), _deleteConfigs(deleteConfigs) {
|
||||
_deadEndConfigs(buildConfigsRef(deadEndConfigs, deleteConfigs)), _startToken(startToken) {
|
||||
}
|
||||
|
||||
NoViableAltException::~NoViableAltException() {
|
||||
if (_deleteConfigs)
|
||||
delete _deadEndConfigs;
|
||||
}
|
||||
|
||||
Token* NoViableAltException::getStartToken() const {
|
||||
|
@ -30,5 +42,5 @@ Token* NoViableAltException::getStartToken() const {
|
|||
}
|
||||
|
||||
atn::ATNConfigSet* NoViableAltException::getDeadEndConfigs() const {
|
||||
return _deadEndConfigs;
|
||||
return _deadEndConfigs.get();
|
||||
}
|
||||
|
|
|
@ -27,10 +27,9 @@ namespace antlr4 {
|
|||
|
||||
private:
|
||||
/// Which configurations did we try at input.index() that couldn't match input.LT(1)?
|
||||
atn::ATNConfigSet* _deadEndConfigs;
|
||||
|
||||
// Flag that indicates if we own the dead end config set and have to delete it on destruction.
|
||||
bool _deleteConfigs;
|
||||
/// Shared pointer that conditionally deletes the configurations (based on flag
|
||||
/// passed during construction)
|
||||
Ref<atn::ATNConfigSet> _deadEndConfigs;
|
||||
|
||||
/// The token object at the start index; the input stream might
|
||||
/// not be buffering tokens so get a reference to it. (At the
|
||||
|
|
|
@ -75,16 +75,16 @@ antlrcpp::Any RuleContext::accept(tree::ParseTreeVisitor *visitor) {
|
|||
return visitor->visitChildren(this);
|
||||
}
|
||||
|
||||
std::string RuleContext::toStringTree(Parser *recog) {
|
||||
return tree::Trees::toStringTree(this, recog);
|
||||
std::string RuleContext::toStringTree(Parser *recog, bool pretty) {
|
||||
return tree::Trees::toStringTree(this, recog, pretty);
|
||||
}
|
||||
|
||||
std::string RuleContext::toStringTree(std::vector<std::string> &ruleNames) {
|
||||
return tree::Trees::toStringTree(this, ruleNames);
|
||||
std::string RuleContext::toStringTree(std::vector<std::string> &ruleNames, bool pretty) {
|
||||
return tree::Trees::toStringTree(this, ruleNames, pretty);
|
||||
}
|
||||
|
||||
std::string RuleContext::toStringTree() {
|
||||
return toStringTree(nullptr);
|
||||
std::string RuleContext::toStringTree(bool pretty) {
|
||||
return toStringTree(nullptr, pretty);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -110,15 +110,15 @@ namespace antlr4 {
|
|||
/// (root child1 .. childN). Print just a node if this is a leaf.
|
||||
/// We have to know the recognizer so we can get rule names.
|
||||
/// </summary>
|
||||
virtual std::string toStringTree(Parser *recog) override;
|
||||
virtual std::string toStringTree(Parser *recog, bool pretty = false) override;
|
||||
|
||||
/// <summary>
|
||||
/// Print out a whole tree, not just a node, in LISP format
|
||||
/// (root child1 .. childN). Print just a node if this is a leaf.
|
||||
/// </summary>
|
||||
virtual std::string toStringTree(std::vector<std::string> &ruleNames);
|
||||
virtual std::string toStringTree(std::vector<std::string> &ruleNames, bool pretty = false);
|
||||
|
||||
virtual std::string toStringTree() override;
|
||||
virtual std::string toStringTree(bool pretty = false) override;
|
||||
virtual std::string toString() override;
|
||||
std::string toString(Recognizer *recog);
|
||||
std::string toString(const std::vector<std::string> &ruleNames);
|
||||
|
|
|
@ -39,12 +39,12 @@ namespace tree {
|
|||
|
||||
/// Print out a whole tree, not just a node, in LISP format
|
||||
/// {@code (root child1 .. childN)}. Print just a node if this is a leaf.
|
||||
virtual std::string toStringTree() = 0;
|
||||
virtual std::string toStringTree(bool pretty = false) = 0;
|
||||
virtual std::string toString() = 0;
|
||||
|
||||
/// Specialize toStringTree so that it can print out more information
|
||||
/// based upon the parser.
|
||||
virtual std::string toStringTree(Parser *parser) = 0;
|
||||
virtual std::string toStringTree(Parser *parser, bool pretty = false) = 0;
|
||||
|
||||
virtual bool operator == (const ParseTree &other) const;
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ std::string TerminalNodeImpl::getText() {
|
|||
return symbol->getText();
|
||||
}
|
||||
|
||||
std::string TerminalNodeImpl::toStringTree(Parser * /*parser*/) {
|
||||
std::string TerminalNodeImpl::toStringTree(Parser * /*parser*/, bool /*pretty*/) {
|
||||
return toString();
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,6 @@ std::string TerminalNodeImpl::toString() {
|
|||
return symbol->getText();
|
||||
}
|
||||
|
||||
std::string TerminalNodeImpl::toStringTree() {
|
||||
std::string TerminalNodeImpl::toStringTree(bool /*pretty*/) {
|
||||
return toString();
|
||||
}
|
||||
|
|
|
@ -23,9 +23,9 @@ namespace tree {
|
|||
virtual antlrcpp::Any accept(ParseTreeVisitor *visitor) override;
|
||||
|
||||
virtual std::string getText() override;
|
||||
virtual std::string toStringTree(Parser *parser) override;
|
||||
virtual std::string toStringTree(Parser *parser, bool pretty = false) override;
|
||||
virtual std::string toString() override;
|
||||
virtual std::string toStringTree() override;
|
||||
virtual std::string toStringTree(bool pretty = false) override;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -25,17 +25,17 @@ using namespace antlrcpp;
|
|||
Trees::Trees() {
|
||||
}
|
||||
|
||||
std::string Trees::toStringTree(ParseTree *t) {
|
||||
return toStringTree(t, nullptr);
|
||||
std::string Trees::toStringTree(ParseTree *t, bool pretty) {
|
||||
return toStringTree(t, nullptr, pretty);
|
||||
}
|
||||
|
||||
std::string Trees::toStringTree(ParseTree *t, Parser *recog) {
|
||||
std::string Trees::toStringTree(ParseTree *t, Parser *recog, bool pretty) {
|
||||
if (recog == nullptr)
|
||||
return toStringTree(t, std::vector<std::string>());
|
||||
return toStringTree(t, recog->getRuleNames());
|
||||
return toStringTree(t, std::vector<std::string>(), pretty);
|
||||
return toStringTree(t, recog->getRuleNames(), pretty);
|
||||
}
|
||||
|
||||
std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ruleNames) {
|
||||
std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ruleNames, bool pretty) {
|
||||
std::string temp = antlrcpp::escapeWhitespace(Trees::getNodeText(t, ruleNames), false);
|
||||
if (t->children.empty()) {
|
||||
return temp;
|
||||
|
@ -48,6 +48,7 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
|||
std::stack<size_t> stack;
|
||||
size_t childIndex = 0;
|
||||
ParseTree *run = t;
|
||||
size_t indentationLevel = 1;
|
||||
while (childIndex < run->children.size()) {
|
||||
if (childIndex > 0) {
|
||||
ss << ' ';
|
||||
|
@ -59,6 +60,13 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
|||
stack.push(childIndex);
|
||||
run = child;
|
||||
childIndex = 0;
|
||||
if (pretty) {
|
||||
++indentationLevel;
|
||||
ss << std::endl;
|
||||
for (size_t i = 0; i < indentationLevel; ++i) {
|
||||
ss << " ";
|
||||
}
|
||||
}
|
||||
ss << "(" << temp << " ";
|
||||
} else {
|
||||
ss << temp;
|
||||
|
@ -68,6 +76,9 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
|||
childIndex = stack.top();
|
||||
stack.pop();
|
||||
run = run->parent;
|
||||
if (pretty) {
|
||||
--indentationLevel;
|
||||
}
|
||||
ss << ")";
|
||||
} else {
|
||||
break;
|
||||
|
|
|
@ -18,17 +18,17 @@ namespace tree {
|
|||
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||
/// node payloads to get the text for the nodes. Detect
|
||||
/// parse trees and extract data appropriately.
|
||||
static std::string toStringTree(ParseTree *t);
|
||||
static std::string toStringTree(ParseTree *t, bool pretty = false);
|
||||
|
||||
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||
/// node payloads to get the text for the nodes. Detect
|
||||
/// parse trees and extract data appropriately.
|
||||
static std::string toStringTree(ParseTree *t, Parser *recog);
|
||||
static std::string toStringTree(ParseTree *t, Parser *recog, bool pretty = false);
|
||||
|
||||
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||
/// node payloads to get the text for the nodes. Detect
|
||||
/// parse trees and extract data appropriately.
|
||||
static std::string toStringTree(ParseTree *t, const std::vector<std::string> &ruleNames);
|
||||
static std::string toStringTree(ParseTree *t, const std::vector<std::string> &ruleNames, bool pretty = false);
|
||||
static std::string getNodeText(ParseTree *t, Parser *recog);
|
||||
static std::string getNodeText(ParseTree *t, const std::vector<std::string> &ruleNames);
|
||||
|
||||
|
|
|
@ -25,11 +25,10 @@ const std::string XPath::NOT = "!";
|
|||
XPath::XPath(Parser *parser, const std::string &path) {
|
||||
_parser = parser;
|
||||
_path = path;
|
||||
_elements = split(path);
|
||||
}
|
||||
|
||||
std::vector<XPathElement> XPath::split(const std::string &path) {
|
||||
ANTLRFileStream in(path);
|
||||
std::vector<std::unique_ptr<XPathElement>> XPath::split(const std::string &path) {
|
||||
ANTLRInputStream in(path);
|
||||
XPathLexer lexer(&in);
|
||||
lexer.removeErrorListeners();
|
||||
XPathLexerErrorListener listener;
|
||||
|
@ -44,7 +43,7 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
|||
}
|
||||
|
||||
std::vector<Token *> tokens = tokenStream.getTokens();
|
||||
std::vector<XPathElement> elements;
|
||||
std::vector<std::unique_ptr<XPathElement>> elements;
|
||||
size_t n = tokens.size();
|
||||
size_t i = 0;
|
||||
bool done = false;
|
||||
|
@ -62,9 +61,9 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
|||
i++;
|
||||
next = tokens[i];
|
||||
}
|
||||
XPathElement pathElement = getXPathElement(next, anywhere);
|
||||
pathElement.setInvert(invert);
|
||||
elements.push_back(pathElement);
|
||||
std::unique_ptr<XPathElement> pathElement = getXPathElement(next, anywhere);
|
||||
pathElement->setInvert(invert);
|
||||
elements.push_back(std::move(pathElement));
|
||||
i++;
|
||||
break;
|
||||
|
||||
|
@ -81,25 +80,26 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
|||
break;
|
||||
|
||||
default :
|
||||
throw IllegalArgumentException("Unknow path element " + el->toString());
|
||||
throw IllegalArgumentException("Unknown path element " + el->toString());
|
||||
}
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
|
||||
XPathElement XPath::getXPathElement(Token *wordToken, bool anywhere) {
|
||||
std::unique_ptr<XPathElement> XPath::getXPathElement(Token *wordToken, bool anywhere) {
|
||||
if (wordToken->getType() == Token::EOF) {
|
||||
throw IllegalArgumentException("Missing path element at end of path");
|
||||
}
|
||||
|
||||
std::string word = wordToken->getText();
|
||||
size_t ttype = _parser->getTokenType(word);
|
||||
ssize_t ruleIndex = _parser->getRuleIndex(word);
|
||||
switch (wordToken->getType()) {
|
||||
case XPathLexer::WILDCARD :
|
||||
if (anywhere)
|
||||
return XPathWildcardAnywhereElement();
|
||||
return XPathWildcardElement();
|
||||
return std::unique_ptr<XPathWildcardAnywhereElement>(new XPathWildcardAnywhereElement());
|
||||
return std::unique_ptr<XPathWildcardElement>(new XPathWildcardElement());
|
||||
|
||||
case XPathLexer::TOKEN_REF:
|
||||
case XPathLexer::STRING :
|
||||
|
@ -107,35 +107,42 @@ XPathElement XPath::getXPathElement(Token *wordToken, bool anywhere) {
|
|||
throw IllegalArgumentException(word + " at index " + std::to_string(wordToken->getStartIndex()) + " isn't a valid token name");
|
||||
}
|
||||
if (anywhere)
|
||||
return XPathTokenAnywhereElement(word, (int)ttype);
|
||||
return XPathTokenElement(word, (int)ttype);
|
||||
return std::unique_ptr<XPathTokenAnywhereElement>(new XPathTokenAnywhereElement(word, (int)ttype));
|
||||
return std::unique_ptr<XPathTokenElement>(new XPathTokenElement(word, (int)ttype));
|
||||
|
||||
default :
|
||||
if (ruleIndex == -1) {
|
||||
throw IllegalArgumentException(word + " at index " + std::to_string(wordToken->getStartIndex()) + " isn't a valid rule name");
|
||||
}
|
||||
if (anywhere)
|
||||
return XPathRuleAnywhereElement(word, (int)ruleIndex);
|
||||
return XPathRuleElement(word, (int)ruleIndex);
|
||||
return std::unique_ptr<XPathRuleAnywhereElement>(new XPathRuleAnywhereElement(word, (int)ruleIndex));
|
||||
return std::unique_ptr<XPathRuleElement>(new XPathRuleElement(word, (int)ruleIndex));
|
||||
}
|
||||
}
|
||||
|
||||
static ParserRuleContext dummyRoot;
|
||||
|
||||
std::vector<ParseTree *> XPath::findAll(ParseTree *tree, std::string const& xpath, Parser *parser) {
|
||||
XPath p(parser, xpath);
|
||||
return p.evaluate(tree);
|
||||
}
|
||||
|
||||
std::vector<ParseTree *> XPath::evaluate(ParseTree *t) {
|
||||
dummyRoot.children = { t }; // don't set t's parent.
|
||||
|
||||
std::vector<ParseTree *> work = { &dummyRoot };
|
||||
|
||||
size_t i = 0;
|
||||
while (i < _elements.size()) {
|
||||
std::vector<std::unique_ptr<XPathElement>> elements = split(_path);
|
||||
|
||||
while (i < elements.size()) {
|
||||
std::vector<ParseTree *> next;
|
||||
for (auto node : work) {
|
||||
if (!node->children.empty()) {
|
||||
// only try to match next element if it has children
|
||||
// e.g., //func/*/stat might have a token node for which
|
||||
// we can't go looking for stat nodes.
|
||||
auto matching = _elements[i].evaluate(node);
|
||||
auto matching = elements[i]->evaluate(node);
|
||||
next.insert(next.end(), matching.begin(), matching.end());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,8 +61,10 @@ namespace xpath {
|
|||
XPath(Parser *parser, const std::string &path);
|
||||
virtual ~XPath() {}
|
||||
|
||||
// TO_DO: check for invalid token/rule names, bad syntax
|
||||
virtual std::vector<XPathElement> split(const std::string &path);
|
||||
// TODO: check for invalid token/rule names, bad syntax
|
||||
virtual std::vector<std::unique_ptr<XPathElement>> split(const std::string &path);
|
||||
|
||||
static std::vector<ParseTree *> findAll(ParseTree *tree, std::string const& xpath, Parser *parser);
|
||||
|
||||
/// Return a list of all nodes starting at {@code t} as root that satisfy the
|
||||
/// path. The root {@code /} is relative to the node passed to
|
||||
|
@ -71,13 +73,12 @@ namespace xpath {
|
|||
|
||||
protected:
|
||||
std::string _path;
|
||||
std::vector<XPathElement> _elements;
|
||||
Parser *_parser;
|
||||
|
||||
/// Convert word like {@code *} or {@code ID} or {@code expr} to a path
|
||||
/// element. {@code anywhere} is {@code true} if {@code //} precedes the
|
||||
/// word.
|
||||
virtual XPathElement getXPathElement(Token *wordToken, bool anywhere);
|
||||
virtual std::unique_ptr<XPathElement> getXPathElement(Token *wordToken, bool anywhere);
|
||||
};
|
||||
|
||||
} // namespace xpath
|
||||
|
|
|
@ -101,7 +101,7 @@ public class DiagnosticErrorListener: BaseErrorListener {
|
|||
let decision: Int = dfa.decision
|
||||
let ruleIndex: Int = dfa.atnStartState.ruleIndex!
|
||||
|
||||
var ruleNames: [String] = recognizer.getRuleNames()
|
||||
let ruleNames: [String] = recognizer.getRuleNames()
|
||||
if ruleIndex < 0 || ruleIndex >= ruleNames.count {
|
||||
return String(decision)
|
||||
}
|
||||
|
|
|
@ -941,7 +941,7 @@ open class Parser: Recognizer<ParserATNSimulator> {
|
|||
|
||||
public func getRuleInvocationStack(_ p: RuleContext?) -> [String] {
|
||||
var p = p
|
||||
var ruleNames = getRuleNames()
|
||||
let ruleNames = getRuleNames()
|
||||
var stack = [String]()
|
||||
while let pWrap = p {
|
||||
// compute what follows who invoked us
|
||||
|
|
|
@ -343,6 +343,8 @@ fileprivate struct UInt8StreamIterator: IteratorProtocol {
|
|||
return nil
|
||||
case .opening, .open, .reading:
|
||||
break
|
||||
@unknown default:
|
||||
fatalError()
|
||||
}
|
||||
|
||||
let count = stream.read(&buffer, maxLength: buffer.count)
|
||||
|
|
|
@ -155,11 +155,9 @@ public class Vocabulary: Hashable {
|
|||
return String(tokenType)
|
||||
}
|
||||
|
||||
public var hashValue: Int {
|
||||
return Unmanaged.passUnretained(self).toOpaque().hashValue
|
||||
// return unsafeAddress(of: self).hashValue
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ObjectIdentifier(self))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: Vocabulary, rhs: Vocabulary) -> Bool {
|
||||
|
|
|
@ -126,20 +126,11 @@ public class ATNConfig: Hashable, CustomStringConvertible {
|
|||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// An ATN configuration is equal to another if both have
|
||||
/// the same state, they predict the same alternative, and
|
||||
/// syntactic/semantic contexts are the same.
|
||||
///
|
||||
|
||||
public var hashValue: Int {
|
||||
var hashCode = MurmurHash.initialize(7)
|
||||
hashCode = MurmurHash.update(hashCode, state.stateNumber)
|
||||
hashCode = MurmurHash.update(hashCode, alt)
|
||||
hashCode = MurmurHash.update(hashCode, context)
|
||||
hashCode = MurmurHash.update(hashCode, semanticContext)
|
||||
return MurmurHash.finish(hashCode, 4)
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(state.stateNumber)
|
||||
hasher.combine(alt)
|
||||
hasher.combine(context)
|
||||
hasher.combine(semanticContext)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
|
@ -166,6 +157,11 @@ public class ATNConfig: Hashable, CustomStringConvertible {
|
|||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// An ATN configuration is equal to another if both have
|
||||
/// the same state, they predict the same alternative, and
|
||||
/// syntactic/semantic contexts are the same.
|
||||
///
|
||||
public func ==(lhs: ATNConfig, rhs: ATNConfig) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
|
|
|
@ -203,16 +203,16 @@ public final class ATNConfigSet: Hashable, CustomStringConvertible {
|
|||
return false
|
||||
}
|
||||
|
||||
public var hashValue: Int {
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
if isReadonly() {
|
||||
if cachedHashCode == -1 {
|
||||
cachedHashCode = configsHashValue//configs.hashValue ;
|
||||
cachedHashCode = configsHashValue
|
||||
}
|
||||
|
||||
return cachedHashCode
|
||||
hasher.combine(cachedHashCode)
|
||||
}
|
||||
else {
|
||||
hasher.combine(configsHashValue)
|
||||
}
|
||||
|
||||
return configsHashValue // configs.hashValue;
|
||||
}
|
||||
|
||||
private var configsHashValue: Int {
|
||||
|
|
|
@ -78,8 +78,8 @@ public class ATNDeserializer {
|
|||
///
|
||||
internal func isFeatureSupported(_ feature: UUID, _ actualUuid: UUID) -> Bool {
|
||||
let supported = ATNDeserializer.SUPPORTED_UUIDS
|
||||
guard let featureIndex = supported.index(of: feature),
|
||||
let actualIndex = supported.index(of: actualUuid) else {
|
||||
guard let featureIndex = supported.firstIndex(of: feature),
|
||||
let actualIndex = supported.firstIndex(of: actualUuid) else {
|
||||
return false
|
||||
}
|
||||
return actualIndex >= featureIndex
|
||||
|
|
|
@ -123,11 +123,10 @@ public class ATNState: Hashable, CustomStringConvertible {
|
|||
public internal(set) final var nextTokenWithinRule: IntervalSet?
|
||||
|
||||
|
||||
public var hashValue: Int {
|
||||
return stateNumber
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(stateNumber)
|
||||
}
|
||||
|
||||
|
||||
public func isNonGreedyExitState() -> Bool {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -72,22 +72,14 @@ public class LexerATNConfig: ATNConfig {
|
|||
return passedThroughNonGreedyDecision
|
||||
}
|
||||
|
||||
override
|
||||
/*public func hashCode() -> Int {
|
||||
|
||||
}*/
|
||||
public var hashValue: Int {
|
||||
var hashCode = MurmurHash.initialize(7)
|
||||
hashCode = MurmurHash.update(hashCode, state.stateNumber)
|
||||
hashCode = MurmurHash.update(hashCode, alt)
|
||||
hashCode = MurmurHash.update(hashCode, context)
|
||||
hashCode = MurmurHash.update(hashCode, semanticContext)
|
||||
hashCode = MurmurHash.update(hashCode, passedThroughNonGreedyDecision ? 1 : 0)
|
||||
hashCode = MurmurHash.update(hashCode, lexerActionExecutor)
|
||||
return MurmurHash.finish(hashCode, 6)
|
||||
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(state.stateNumber)
|
||||
hasher.combine(alt)
|
||||
hasher.combine(context)
|
||||
hasher.combine(semanticContext)
|
||||
hasher.combine(passedThroughNonGreedyDecision)
|
||||
hasher.combine(lexerActionExecutor)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//useless
|
||||
|
|
|
@ -56,7 +56,7 @@ public class LexerAction: Hashable {
|
|||
fatalError(#function + " must be overridden")
|
||||
}
|
||||
|
||||
public var hashValue: Int {
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
fatalError(#function + " must be overridden")
|
||||
}
|
||||
|
||||
|
|
|
@ -176,11 +176,9 @@ public class LexerActionExecutor: Hashable {
|
|||
}
|
||||
|
||||
|
||||
public var hashValue: Int {
|
||||
return self.hashCode
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(hashCode)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerActionExecutor, rhs: LexerActionExecutor) -> Bool {
|
||||
|
|
|
@ -63,12 +63,9 @@ public final class LexerChannelAction: LexerAction, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
hash = MurmurHash.update(hash, channel)
|
||||
return MurmurHash.finish(hash, 2)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(getActionType())
|
||||
hasher.combine(channel)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
|
|
|
@ -92,24 +92,17 @@ public final class LexerCustomAction: LexerAction {
|
|||
try lexer.action(nil, ruleIndex, actionIndex)
|
||||
}
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
hash = MurmurHash.update(hash, ruleIndex)
|
||||
hash = MurmurHash.update(hash, actionIndex)
|
||||
return MurmurHash.finish(hash, 3)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ruleIndex)
|
||||
hasher.combine(actionIndex)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerCustomAction, rhs: LexerCustomAction) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
return lhs.ruleIndex == rhs.ruleIndex
|
||||
&& lhs.actionIndex == rhs.actionIndex
|
||||
}
|
||||
|
|
|
@ -96,24 +96,17 @@ public final class LexerIndexedCustomAction: LexerAction {
|
|||
}
|
||||
|
||||
|
||||
public override var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, offset)
|
||||
hash = MurmurHash.update(hash, action)
|
||||
return MurmurHash.finish(hash, 2)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(offset)
|
||||
hasher.combine(action)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerIndexedCustomAction, rhs: LexerIndexedCustomAction) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
return lhs.offset == rhs.offset
|
||||
&& lhs.action == rhs.action
|
||||
|
||||
}
|
||||
|
|
|
@ -62,25 +62,20 @@ public final class LexerModeAction: LexerAction, CustomStringConvertible {
|
|||
public func execute(_ lexer: Lexer) {
|
||||
lexer.mode(mode)
|
||||
}
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
hash = MurmurHash.update(hash, mode)
|
||||
return MurmurHash.finish(hash, 2)
|
||||
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(mode)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
return "mode(\(mode))"
|
||||
}
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerModeAction, rhs: LexerModeAction) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
return lhs.mode == rhs.mode
|
||||
|
||||
}
|
||||
|
|
|
@ -56,23 +56,15 @@ public final class LexerMoreAction: LexerAction, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
return MurmurHash.finish(hash, 1)
|
||||
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ObjectIdentifier(self))
|
||||
}
|
||||
|
||||
|
||||
public var description: String {
|
||||
return "more"
|
||||
}
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerMoreAction, rhs: LexerMoreAction) -> Bool {
|
||||
|
||||
return lhs === rhs
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -57,21 +57,15 @@ public final class LexerPopModeAction: LexerAction, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
return MurmurHash.finish(hash, 1)
|
||||
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ObjectIdentifier(self))
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
return "popMode"
|
||||
}
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerPopModeAction, rhs: LexerPopModeAction) -> Bool {
|
||||
|
||||
return lhs === rhs
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -63,15 +63,10 @@ public final class LexerPushModeAction: LexerAction, CustomStringConvertible {
|
|||
lexer.pushMode(mode)
|
||||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
hash = MurmurHash.update(hash, mode)
|
||||
return MurmurHash.finish(hash, 2)
|
||||
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(mode)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
return "pushMode(\(mode))"
|
||||
}
|
||||
|
@ -79,10 +74,8 @@ public final class LexerPushModeAction: LexerAction, CustomStringConvertible {
|
|||
|
||||
|
||||
public func ==(lhs: LexerPushModeAction, rhs: LexerPushModeAction) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
return true
|
||||
}
|
||||
|
||||
return lhs.mode == rhs.mode
|
||||
}
|
||||
|
|
|
@ -56,19 +56,15 @@ public final class LexerSkipAction: LexerAction, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
return MurmurHash.finish(hash, 1)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ObjectIdentifier(self))
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
return "skip"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerSkipAction, rhs: LexerSkipAction) -> Bool {
|
||||
|
||||
return lhs === rhs
|
||||
}
|
||||
|
|
|
@ -62,24 +62,18 @@ public class LexerTypeAction: LexerAction, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
||||
hash = MurmurHash.update(hash, type)
|
||||
return MurmurHash.finish(hash, 2)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(type)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
return "type(\(type))"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LexerTypeAction, rhs: LexerTypeAction) -> Bool {
|
||||
|
||||
if lhs === rhs {
|
||||
return true
|
||||
}
|
||||
|
||||
return lhs.type == rhs.type
|
||||
}
|
||||
|
|
|
@ -20,17 +20,12 @@ public class LookupATNConfig: Hashable {
|
|||
// dup
|
||||
config = old
|
||||
}
|
||||
public var hashValue: Int {
|
||||
|
||||
var hashCode: Int = 7
|
||||
hashCode = 31 * hashCode + config.state.stateNumber
|
||||
hashCode = 31 * hashCode + config.alt
|
||||
hashCode = 31 * hashCode + config.semanticContext.hashValue
|
||||
return hashCode
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(config.state.stateNumber)
|
||||
hasher.combine(config.alt)
|
||||
hasher.combine(config.semanticContext)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: LookupATNConfig, rhs: LookupATNConfig) -> Bool {
|
||||
|
|
|
@ -40,7 +40,7 @@ public class ParseInfo {
|
|||
/// full-context predictions during parsing.
|
||||
///
|
||||
public func getLLDecisions() -> Array<Int> {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var LL: Array<Int> = Array<Int>()
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -59,7 +59,7 @@ public class ParseInfo {
|
|||
/// _org.antlr.v4.runtime.atn.DecisionInfo#timeInPrediction_ for all decisions.
|
||||
///
|
||||
public func getTotalTimeInPrediction() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var t: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -74,7 +74,7 @@ public class ParseInfo {
|
|||
/// _org.antlr.v4.runtime.atn.DecisionInfo#SLL_TotalLook_ for all decisions.
|
||||
///
|
||||
public func getTotalSLLLookaheadOps() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var k: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -89,7 +89,7 @@ public class ParseInfo {
|
|||
/// _org.antlr.v4.runtime.atn.DecisionInfo#LL_TotalLook_ for all decisions.
|
||||
///
|
||||
public func getTotalLLLookaheadOps() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var k: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -103,7 +103,7 @@ public class ParseInfo {
|
|||
/// across all decisions made during parsing.
|
||||
///
|
||||
public func getTotalSLLATNLookaheadOps() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var k: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -117,7 +117,7 @@ public class ParseInfo {
|
|||
/// across all decisions made during parsing.
|
||||
///
|
||||
public func getTotalLLATNLookaheadOps() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var k: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
@ -135,7 +135,7 @@ public class ParseInfo {
|
|||
/// _#getTotalLLATNLookaheadOps_.
|
||||
///
|
||||
public func getTotalATNLookaheadOps() -> Int64 {
|
||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||
var k: Int64 = 0
|
||||
let length = decisions.count
|
||||
for i in 0..<length {
|
||||
|
|
|
@ -559,7 +559,7 @@ open class ParserATNSimulator: ATNSimulator {
|
|||
/// already cached
|
||||
///
|
||||
func getExistingTargetState(_ previousD: DFAState, _ t: Int) -> DFAState? {
|
||||
var edges = previousD.edges
|
||||
let edges = previousD.edges
|
||||
if edges == nil || (t + 1) < 0 || (t + 1) >= (edges!.count) {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -105,8 +105,8 @@ public class PredictionContext: Hashable, CustomStringConvertible {
|
|||
return getReturnState(size() - 1) == PredictionContext.EMPTY_RETURN_STATE
|
||||
}
|
||||
|
||||
public final var hashValue: Int {
|
||||
return cachedHashCode
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(cachedHashCode)
|
||||
}
|
||||
|
||||
static func calculateEmptyHashCode() -> Int {
|
||||
|
@ -668,7 +668,7 @@ public class PredictionContext: Hashable, CustomStringConvertible {
|
|||
}
|
||||
|
||||
public func toString<T>(_ recog: Recognizer<T>) -> String {
|
||||
return NSStringFromClass(PredictionContext.self)
|
||||
return String(describing: PredictionContext.self)
|
||||
// return toString(recog, ParserRuleContext.EMPTY);
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
|||
return self
|
||||
}
|
||||
|
||||
public var hashValue: Int {
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
fatalError(#function + " must be overridden")
|
||||
}
|
||||
|
||||
|
@ -94,16 +94,12 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
|||
return try parser.sempred(localctx, ruleIndex, predIndex)
|
||||
}
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hashCode = MurmurHash.initialize()
|
||||
hashCode = MurmurHash.update(hashCode, ruleIndex)
|
||||
hashCode = MurmurHash.update(hashCode, predIndex)
|
||||
hashCode = MurmurHash.update(hashCode, isCtxDependent ? 1 : 0)
|
||||
return MurmurHash.finish(hashCode, 3)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(ruleIndex)
|
||||
hasher.combine(predIndex)
|
||||
hasher.combine(isCtxDependent)
|
||||
}
|
||||
|
||||
|
||||
override
|
||||
public var description: String {
|
||||
return "{\(ruleIndex):\(predIndex)}?"
|
||||
|
@ -138,11 +134,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
var hashCode: Int = 1
|
||||
hashCode = 31 * hashCode + precedence
|
||||
return hashCode
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(precedence)
|
||||
}
|
||||
|
||||
override
|
||||
|
@ -214,12 +207,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
//MurmurHash.hashCode(opnds, AND.class.hashCode());
|
||||
let seed = 1554547125
|
||||
//NSStringFromClass(AND.self).hashValue
|
||||
return MurmurHash.hashCode(opnds, seed)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(opnds)
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -323,11 +312,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
|||
return opnds
|
||||
}
|
||||
|
||||
|
||||
override
|
||||
public var hashValue: Int {
|
||||
|
||||
return MurmurHash.hashCode(opnds, NSStringFromClass(OR.self).hashValue)
|
||||
public override func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(opnds)
|
||||
}
|
||||
|
||||
///
|
||||
|
|
|
@ -54,16 +54,16 @@ public class Transition {
|
|||
|
||||
public static let serializationTypes: Dictionary<String, Int> = [
|
||||
|
||||
NSStringFromClass(EpsilonTransition.self): EPSILON,
|
||||
NSStringFromClass(RangeTransition.self): RANGE,
|
||||
NSStringFromClass(RuleTransition.self): RULE,
|
||||
NSStringFromClass(PredicateTransition.self): PREDICATE,
|
||||
NSStringFromClass(AtomTransition.self): ATOM,
|
||||
NSStringFromClass(ActionTransition.self): ACTION,
|
||||
NSStringFromClass(SetTransition.self): SET,
|
||||
NSStringFromClass(NotSetTransition.self): NOT_SET,
|
||||
NSStringFromClass(WildcardTransition.self): WILDCARD,
|
||||
NSStringFromClass(PrecedencePredicateTransition.self): PRECEDENCE,
|
||||
String(describing: EpsilonTransition.self): EPSILON,
|
||||
String(describing: RangeTransition.self): RANGE,
|
||||
String(describing: RuleTransition.self): RULE,
|
||||
String(describing: PredicateTransition.self): PREDICATE,
|
||||
String(describing: AtomTransition.self): ATOM,
|
||||
String(describing: ActionTransition.self): ACTION,
|
||||
String(describing: SetTransition.self): SET,
|
||||
String(describing: NotSetTransition.self): NOT_SET,
|
||||
String(describing: WildcardTransition.self): WILDCARD,
|
||||
String(describing: PrecedencePredicateTransition.self): PRECEDENCE,
|
||||
|
||||
|
||||
]
|
||||
|
|
|
@ -109,10 +109,8 @@ public final class DFAState: Hashable, CustomStringConvertible {
|
|||
}
|
||||
|
||||
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize(7)
|
||||
hash = MurmurHash.update(hash, configs.hashValue)
|
||||
return MurmurHash.finish(hash, 1)
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(configs)
|
||||
}
|
||||
|
||||
public var description: String {
|
||||
|
|
|
@ -1053,7 +1053,7 @@ public class BitSet: Hashable, CustomStringConvertible {
|
|||
///
|
||||
/// - returns: the hash code value for this bit set
|
||||
///
|
||||
public var hashValue: Int {
|
||||
private var hashCode: Int {
|
||||
var h: Int64 = 1234
|
||||
var i: Int = wordsInUse
|
||||
i -= 1
|
||||
|
@ -1065,6 +1065,10 @@ public class BitSet: Hashable, CustomStringConvertible {
|
|||
return Int(Int32((h >> 32) ^ h))
|
||||
}
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(hashCode)
|
||||
}
|
||||
|
||||
///
|
||||
/// Returns the number of bits of space actually in use by this
|
||||
/// `BitSet` to represent bit values.
|
||||
|
|
|
@ -62,13 +62,12 @@ public class Interval: Hashable {
|
|||
}
|
||||
|
||||
|
||||
public var hashValue: Int {
|
||||
var hash: Int = 23
|
||||
hash = hash * 31 + a
|
||||
hash = hash * 31 + b
|
||||
return hash
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(a)
|
||||
hasher.combine(b)
|
||||
}
|
||||
///
|
||||
|
||||
///
|
||||
/// Does this start completely before other? Disjoint
|
||||
///
|
||||
public func startsBeforeDisjoint(_ other: Interval) -> Bool {
|
||||
|
|
|
@ -326,8 +326,8 @@ public class IntervalSet: IntSet, Hashable, CustomStringConvertible {
|
|||
return nil // nothing in common with null set
|
||||
}
|
||||
|
||||
var myIntervals = self.intervals
|
||||
var theirIntervals = (other as! IntervalSet).intervals
|
||||
let myIntervals = self.intervals
|
||||
let theirIntervals = (other as! IntervalSet).intervals
|
||||
var intersection: IntervalSet? = nil
|
||||
let mySize = myIntervals.count
|
||||
let theirSize = theirIntervals.count
|
||||
|
@ -470,25 +470,13 @@ public class IntervalSet: IntSet, Hashable, CustomStringConvertible {
|
|||
return intervals
|
||||
}
|
||||
|
||||
|
||||
public func hashCode() -> Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
for I: Interval in intervals {
|
||||
hash = MurmurHash.update(hash, I.a)
|
||||
hash = MurmurHash.update(hash, I.b)
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
for interval in intervals {
|
||||
hasher.combine(interval.a)
|
||||
hasher.combine(interval.b)
|
||||
}
|
||||
|
||||
return MurmurHash.finish(hash, intervals.count * 2)
|
||||
}
|
||||
public var hashValue: Int {
|
||||
var hash = MurmurHash.initialize()
|
||||
for I: Interval in intervals {
|
||||
hash = MurmurHash.update(hash, I.a)
|
||||
hash = MurmurHash.update(hash, I.b)
|
||||
}
|
||||
|
||||
return MurmurHash.finish(hash, intervals.count * 2)
|
||||
}
|
||||
///
|
||||
/// Are two IntervalSets equal? Because all intervals are sorted
|
||||
/// and disjoint, equals is a simple linear walk over both lists
|
||||
|
|
|
@ -848,11 +848,11 @@ StructDecl(struct,ctorAttrs,attrs,getters,dispatchMethods,interfaces,extensionMe
|
|||
func getRuleIndex() -> Int {
|
||||
return <parser.name>.RULE_<struct.derivedFromName>
|
||||
}
|
||||
<if(struct.provideCopyFrom)> <! don't need copy unless we have subclasses !>
|
||||
<! <accessLevelNotOpen(parser)> init() { }!>
|
||||
<if(struct.provideCopyFrom && struct.attrs)> <! don't need copy unless we have subclasses !>
|
||||
<accessLevelOpenOK(parser)>
|
||||
func copyFrom(_ ctx: <struct.name>) {
|
||||
super.copyFrom(ctx)
|
||||
override func copyFrom(_ ctx_: ParserRuleContext) {
|
||||
super.copyFrom(ctx_)
|
||||
let ctx = ctx_ as! <struct.name>
|
||||
<struct.attrs:{a | self.<a.name> = ctx.<a.name>;}; separator="\n">
|
||||
}
|
||||
<endif>
|
||||
|
|
Loading…
Reference in New Issue