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
|
- clang-3.7
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=cpp
|
- TARGET=cpp
|
||||||
- GROUP=LEXER
|
- GROUP=LEXER
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=cpp
|
- TARGET=cpp
|
||||||
- GROUP=PARSER
|
- GROUP=PARSER
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=cpp
|
- TARGET=cpp
|
||||||
- GROUP=RECURSION
|
- GROUP=RECURSION
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=swift
|
- TARGET=swift
|
||||||
- GROUP=LEXER
|
- GROUP=LEXER
|
||||||
stage: main-test
|
stage: main-test
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=swift
|
- TARGET=swift
|
||||||
- GROUP=PARSER
|
- GROUP=PARSER
|
||||||
stage: main-test
|
stage: main-test
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=swift
|
- TARGET=swift
|
||||||
- GROUP=RECURSION
|
- GROUP=RECURSION
|
||||||
|
@ -122,19 +122,19 @@ matrix:
|
||||||
- GROUP=ALL
|
- GROUP=ALL
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=dotnet
|
- TARGET=dotnet
|
||||||
- GROUP=LEXER
|
- GROUP=LEXER
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=dotnet
|
- TARGET=dotnet
|
||||||
- GROUP=PARSER
|
- GROUP=PARSER
|
||||||
stage: extended-test
|
stage: extended-test
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode10.1
|
osx_image: xcode10.2
|
||||||
env:
|
env:
|
||||||
- TARGET=dotnet
|
- TARGET=dotnet
|
||||||
- GROUP=RECURSION
|
- 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
|
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)"
|
eval "$(sudo gimme 1.7.3)"
|
||||||
( go version ; go env ) || true
|
( 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
|
set -euo pipefail
|
||||||
|
|
||||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
|
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
|
||||||
sudo apt-get install -qq nodejs
|
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
|
set -euo pipefail
|
||||||
|
|
||||||
|
python --version
|
||||||
|
|
||||||
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python2.* test
|
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python2.* test
|
||||||
|
|
||||||
cd ../runtime/Python2/tests
|
cd ../runtime/Python2/tests
|
||||||
|
|
||||||
python run.py
|
python run.py
|
||||||
|
|
|
@ -2,8 +2,10 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
python3 --version
|
||||||
|
|
||||||
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python3.* test
|
mvn -q -Dparallel=methods -DthreadCount=4 -Dtest=python3.* test
|
||||||
|
|
||||||
cd ../runtime/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
|
# here since environment variables doesn't pass
|
||||||
# across scripts
|
# across scripts
|
||||||
if [ $TRAVIS_OS_NAME == "linux" ]; then
|
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 SWIFT_HOME=$(pwd)/swift/$SWIFT_VERSION-RELEASE-ubuntu16.04/usr/bin/
|
||||||
export PATH=$SWIFT_HOME:$PATH
|
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/11/29, hannemann-tamas, Ralf Hannemann-Tamas, ralf.ht@gmail.com
|
||||||
2018/12/20, WalterCouto, Walter Couto, WalterCouto@users.noreply.github.com
|
2018/12/20, WalterCouto, Walter Couto, WalterCouto@users.noreply.github.com
|
||||||
2018/12/23, youkaichao, Kaichao You, youkaichao@gmail.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/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/13, base698, Justin Thomas, justin.thomas1@gmail.com
|
||||||
2019/03/18, carlodri, Carlo Dri, carlo.dri@gmail.com
|
2019/03/18, carlodri, Carlo Dri, carlo.dri@gmail.com
|
||||||
2019/05/02, askingalot, Andy Collins, askingalot@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/17, kaz, Kazuki Sawada, kazuki@6715.jp
|
||||||
2019/09/28, lmy269, Mingyang Liu, lmy040758@gmail.com
|
2019/09/28, lmy269, Mingyang Liu, lmy040758@gmail.com
|
||||||
2019/10/29, tehbone, Tabari Alexander, tehbone@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>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "Object <s> = <v>;"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= "System.Collections.IList __ttt__ = <v>;" // just use static type system
|
AssertIsList(v) ::= "System.Collections.IList __ttt__ = <v>;" // just use static type system
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<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";}>>
|
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||||
|
|
|
@ -11,8 +11,6 @@ Append(a,b) ::= "<a> + <b>->toString()"
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
AppendStr(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).
|
AssertIsList(v) ::= "assert(<v>.size() >= 0);" // Use a method that exists only on a list (vector actually).
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
|
||||||
|
@ -25,7 +23,6 @@ VarRef(n) ::= "<n>"
|
||||||
GetMember(n) ::= "<n>"
|
GetMember(n) ::= "<n>"
|
||||||
SetMember(n,v) ::= "<n> = <v>;"
|
SetMember(n,v) ::= "<n> = <v>;"
|
||||||
AddMember(n,v) ::= "<n> += <v>;"
|
AddMember(n,v) ::= "<n> += <v>;"
|
||||||
PlusMember(v,n) ::= "<v> + <n>"
|
|
||||||
MemberEquals(n,v) ::= "<n> == <v>"
|
MemberEquals(n,v) ::= "<n> == <v>"
|
||||||
ModMemberEquals(n,m,v) ::= "<n> % <m> == <v>"
|
ModMemberEquals(n,m,v) ::= "<n> % <m> == <v>"
|
||||||
ModMemberNotEquals(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>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "var <s> = <v>;"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<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"}>>
|
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array"}>>
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
||||||
|
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s, v) ::= "var <s> = <v>"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= ""
|
AssertIsList(v) ::= ""
|
||||||
|
|
||||||
AssignLocal(s, v) ::= "<s> = <v>;"
|
AssignLocal(s, v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n, v) ::= <%<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n, v) ::= <%<n> += <v>;%>
|
AddMember(n, v) ::= <%<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v, n) ::= <%<v> + fmt.Sprint(<n>)%>
|
|
||||||
|
|
||||||
MemberEquals(n, v) ::= <%<n> == <v>%>
|
MemberEquals(n, v) ::= <%<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n, m, v) ::= <%<n> % <m> == <v>%>
|
ModMemberEquals(n, m, v) ::= <%<n> % <m> == <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "Object <s> = <v>;"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= "List\<?> __ttt__ = <v>;" // just use static type system
|
AssertIsList(v) ::= "List\<?> __ttt__ = <v>;" // just use static type system
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
MemberEquals(n,v) ::= <%this.<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> == <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<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";}>>
|
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
||||||
|
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "<s> = <v>"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>"
|
AssignLocal(s,v) ::= "<s> = <v>"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + str(self.<n>)%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= "<a> + <b>"
|
||||||
|
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "<s> = <v>"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>"
|
AssignLocal(s,v) ::= "<s> = <v>"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + str(self.<n>)%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<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";}>>
|
AssertIsList(v) ::= <<if ( !(v instanceof Array) ) {throw "value is not an array";}>>
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>;"
|
AssignLocal(s,v) ::= "<s> = <v>;"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%this.<n> = <v>;%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
AddMember(n,v) ::= <%this.<n> += <v>;%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + this.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
MemberEquals(n,v) ::= <%this.<n> === <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
ModMemberEquals(n,m,v) ::= <%this.<n> % <m> === <v>%>
|
||||||
|
|
|
@ -18,8 +18,6 @@ AppendStr(a,b) ::= <%<Append(a,b)>%>
|
||||||
|
|
||||||
Concat(a,b) ::= "<a><b>"
|
Concat(a,b) ::= "<a><b>"
|
||||||
|
|
||||||
DeclareLocal(s,v) ::= "var <s> = <v>"
|
|
||||||
|
|
||||||
AssertIsList(v) ::= "var __ttt__ = <v>;" // just use static type system
|
AssertIsList(v) ::= "var __ttt__ = <v>;" // just use static type system
|
||||||
|
|
||||||
AssignLocal(s,v) ::= "<s> = <v>"
|
AssignLocal(s,v) ::= "<s> = <v>"
|
||||||
|
@ -40,8 +38,6 @@ SetMember(n,v) ::= <%self.<n> = <v>%>
|
||||||
|
|
||||||
AddMember(n,v) ::= <%self.<n> += <v>%>
|
AddMember(n,v) ::= <%self.<n> += <v>%>
|
||||||
|
|
||||||
PlusMember(v,n) ::= <%<v> + self.<n>%>
|
|
||||||
|
|
||||||
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
MemberEquals(n,v) ::= <%self.<n> == <v>%>
|
||||||
|
|
||||||
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
ModMemberEquals(n,m,v) ::= <%self.<n> % <m> == <v>%>
|
||||||
|
@ -133,7 +129,7 @@ open func emit() -> Token {
|
||||||
private func handleAcceptPositionForIdentifier() -> Bool {
|
private func handleAcceptPositionForIdentifier() -> Bool {
|
||||||
let tokenText = getText()
|
let tokenText = getText()
|
||||||
var identifierLength = 0
|
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
|
identifierLength += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,8 +143,8 @@ private func handleAcceptPositionForIdentifier() -> Bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func handleAcceptPositionForKeyword(_ keyword:String) -> Bool {
|
private func handleAcceptPositionForKeyword(_ keyword:String) -> Bool {
|
||||||
if getInputStream()!.index() > _tokenStartCharIndex + keyword.characters.count {
|
if getInputStream()!.index() > _tokenStartCharIndex + keyword.count {
|
||||||
let offset = keyword.characters.count - 1
|
let offset = keyword.count - 1
|
||||||
(getInterpreter() as! PositionAdjustingLexerATNSimulator).resetAcceptPosition(getInputStream()!, _tokenStartCharIndex + offset, _tokenStartLine, _tokenStartCharPositionInLine + offset)
|
(getInterpreter() as! PositionAdjustingLexerATNSimulator).resetAcceptPosition(getInputStream()!, _tokenStartCharIndex + offset, _tokenStartLine, _tokenStartCharPositionInLine + offset)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,12 +57,23 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
||||||
throw new RuntimeException("Swift runtime file not found at:" + swiftRuntime.getPath());
|
throw new RuntimeException("Swift runtime file not found at:" + swiftRuntime.getPath());
|
||||||
}
|
}
|
||||||
ANTLR_RUNTIME_PATH = 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
|
// shutdown logic
|
||||||
Runtime.getRuntime().addShutdownHook(new Thread() {
|
Runtime.getRuntime().addShutdownHook(new Thread() {
|
||||||
public void run() {
|
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 projectName = "testcase-" + System.currentTimeMillis();
|
||||||
String projectDir = getTmpDir() + "/" + projectName;
|
String projectDir = getTmpDir() + "/" + projectName;
|
||||||
buildProject(projectDir, projectName);
|
try {
|
||||||
return execTest(projectDir, projectName);
|
buildProject(projectDir, projectName);
|
||||||
|
return execTest(projectDir, projectName);
|
||||||
|
}
|
||||||
|
catch (IOException | InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -183,7 +200,7 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
||||||
Collections.addAll(this.sourceFiles, files);
|
Collections.addAll(this.sourceFiles, files);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buildProject(String projectDir, String projectName) {
|
private void buildProject(String projectDir, String projectName) throws IOException, InterruptedException {
|
||||||
mkdir(projectDir);
|
mkdir(projectDir);
|
||||||
fastFailRunProcess(projectDir, SWIFT_CMD, "package", "init", "--type", "executable");
|
fastFailRunProcess(projectDir, SWIFT_CMD, "package", "init", "--type", "executable");
|
||||||
for (String sourceFile: sourceFiles) {
|
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", absPath, projectDir + "/Sources/" + projectName);
|
||||||
}
|
}
|
||||||
fastFailRunProcess(getTmpDir(), "mv", "-f", "input", projectDir);
|
fastFailRunProcess(getTmpDir(), "mv", "-f", "input", projectDir);
|
||||||
|
String dylibPath = ANTLR_RUNTIME_PATH + "/.build/debug/";
|
||||||
try {
|
// System.err.println(dylibPath);
|
||||||
String dylibPath = ANTLR_RUNTIME_PATH + "/.build/debug/";
|
Pair<String, String> buildResult = runProcess(projectDir, SWIFT_CMD, "build",
|
||||||
Pair<String, String> buildResult = runProcess(projectDir, SWIFT_CMD, "build",
|
"-Xswiftc", "-I"+dylibPath,
|
||||||
"-Xswiftc", "-I"+dylibPath,
|
"-Xlinker", "-L"+dylibPath,
|
||||||
"-Xlinker", "-L"+dylibPath,
|
"-Xlinker", "-lAntlr4",
|
||||||
"-Xlinker", "-lAntlr4",
|
"-Xlinker", "-rpath",
|
||||||
"-Xlinker", "-rpath",
|
"-Xlinker", dylibPath);
|
||||||
"-Xlinker", dylibPath);
|
if (buildResult.b.length() > 0) {
|
||||||
if (buildResult.b.length() > 0) {
|
throw new IOException("unit test build failed: " + buildResult.a + "\n" + buildResult.b);
|
||||||
throw new RuntimeException("unit test build failed: " + buildResult.a + "\n" + buildResult.b);
|
|
||||||
}
|
|
||||||
} catch (IOException | InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,20 +227,22 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
||||||
StreamVacuum stderrVacuum = new StreamVacuum(process.getErrorStream());
|
StreamVacuum stderrVacuum = new StreamVacuum(process.getErrorStream());
|
||||||
stdoutVacuum.start();
|
stdoutVacuum.start();
|
||||||
stderrVacuum.start();
|
stderrVacuum.start();
|
||||||
process.waitFor();
|
int status = process.waitFor();
|
||||||
stdoutVacuum.join();
|
stdoutVacuum.join();
|
||||||
stderrVacuum.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());
|
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);
|
ProcessBuilder builder = new ProcessBuilder(command);
|
||||||
builder.directory(new File(workingDir));
|
builder.directory(new File(workingDir));
|
||||||
try {
|
Process p = builder.start();
|
||||||
Process p = builder.start();
|
int status = p.waitFor();
|
||||||
p.waitFor();
|
if (status != 0) {
|
||||||
} catch (Exception e) {
|
throw new IOException("Process exited with status " + status);
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,8 +266,14 @@ public class BaseSwiftTest implements RuntimeTestSupport {
|
||||||
addSourceFiles("main.swift");
|
addSourceFiles("main.swift");
|
||||||
String projectName = "testcase-" + System.currentTimeMillis();
|
String projectName = "testcase-" + System.currentTimeMillis();
|
||||||
String projectDir = getTmpDir() + "/" + projectName;
|
String projectDir = getTmpDir() + "/" + projectName;
|
||||||
buildProject(projectDir, projectName);
|
try {
|
||||||
return execTest(projectDir, projectName);
|
buildProject(projectDir, projectName);
|
||||||
|
return execTest(projectDir, projectName);
|
||||||
|
}
|
||||||
|
catch (IOException | InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeParserTestFile(String parserName,
|
private void writeParserTestFile(String parserName,
|
||||||
|
|
|
@ -122,7 +122,9 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND ( CMAKE_SYSTEM_NAME MATCH
|
||||||
endif()
|
endif()
|
||||||
elseif(MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800)
|
elseif(MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800)
|
||||||
# Visual Studio 2012+ supports c++11 features
|
# 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.")
|
message(FATAL_ERROR "Your C++ compiler does not support C++11.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,12 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Seperate build step as rarely people want both
|
# 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(
|
ExternalProject_Add_Step(
|
||||||
antlr4_runtime
|
antlr4_runtime
|
||||||
build_static
|
build_static
|
||||||
|
@ -118,7 +124,7 @@ ExternalProject_Add_Step(
|
||||||
DEPENDS antlr4_runtime
|
DEPENDS antlr4_runtime
|
||||||
BYPRODUCTS ${ANTLR4_STATIC_LIBRARIES}
|
BYPRODUCTS ${ANTLR4_STATIC_LIBRARIES}
|
||||||
EXCLUDE_FROM_MAIN 1
|
EXCLUDE_FROM_MAIN 1
|
||||||
WORKING_DIRECTORY ${ANTLR4_ROOT})
|
WORKING_DIRECTORY ${ANTLR4_BUILD_DIR})
|
||||||
ExternalProject_Add_StepTargets(antlr4_runtime build_static)
|
ExternalProject_Add_StepTargets(antlr4_runtime build_static)
|
||||||
|
|
||||||
add_library(antlr4_static STATIC IMPORTED)
|
add_library(antlr4_static STATIC IMPORTED)
|
||||||
|
@ -135,7 +141,7 @@ ExternalProject_Add_Step(
|
||||||
DEPENDS antlr4_runtime
|
DEPENDS antlr4_runtime
|
||||||
BYPRODUCTS ${ANTLR4_SHARED_LIBRARIES} ${ANTLR4_RUNTIME_LIBRARIES}
|
BYPRODUCTS ${ANTLR4_SHARED_LIBRARIES} ${ANTLR4_RUNTIME_LIBRARIES}
|
||||||
EXCLUDE_FROM_MAIN 1
|
EXCLUDE_FROM_MAIN 1
|
||||||
WORKING_DIRECTORY ${ANTLR4_ROOT})
|
WORKING_DIRECTORY ${ANTLR4_BUILD_DIR})
|
||||||
ExternalProject_Add_StepTargets(antlr4_runtime build_shared)
|
ExternalProject_Add_StepTargets(antlr4_runtime build_shared)
|
||||||
|
|
||||||
add_library(antlr4_shared SHARED IMPORTED)
|
add_library(antlr4_shared SHARED IMPORTED)
|
||||||
|
|
|
@ -40,7 +40,8 @@ antlr_target(SampleGrammarLexer TLexer.g4 LEXER
|
||||||
PACKAGE antlrcpptest)
|
PACKAGE antlrcpptest)
|
||||||
antlr_target(SampleGrammarParser TParser.g4 PARSER
|
antlr_target(SampleGrammarParser TParser.g4 PARSER
|
||||||
PACKAGE antlrcpptest
|
PACKAGE antlrcpptest
|
||||||
DEPENDS_ANTLR SampleGrammarLexer)
|
DEPENDS_ANTLR SampleGrammarLexer
|
||||||
|
COMPILE_FLAGS -lib ${ANTLR_SampleGrammarLexer_OUTPUT_DIR})
|
||||||
|
|
||||||
# include generated files in project environment
|
# include generated files in project environment
|
||||||
include_directories(${ANTLR_SampleGrammarLexer_OUTPUT_DIR})
|
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">
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
<Testables>
|
<Testables>
|
||||||
</Testables>
|
</Testables>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
|
@ -51,8 +49,6 @@
|
||||||
ReferencedContainer = "container:antlrcpp.xcodeproj">
|
ReferencedContainer = "container:antlrcpp.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|
|
@ -358,17 +358,18 @@ std::string BufferedTokenStream::getSourceName() const
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string BufferedTokenStream::getText() {
|
std::string BufferedTokenStream::getText() {
|
||||||
|
fill();
|
||||||
return getText(misc::Interval(0U, size() - 1));
|
return getText(misc::Interval(0U, size() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string BufferedTokenStream::getText(const misc::Interval &interval) {
|
std::string BufferedTokenStream::getText(const misc::Interval &interval) {
|
||||||
lazyInit();
|
lazyInit();
|
||||||
fill();
|
|
||||||
size_t start = interval.a;
|
size_t start = interval.a;
|
||||||
size_t stop = interval.b;
|
size_t stop = interval.b;
|
||||||
if (start == INVALID_INDEX || stop == INVALID_INDEX) {
|
if (start == INVALID_INDEX || stop == INVALID_INDEX) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
sync(stop);
|
||||||
if (stop >= _tokens.size()) {
|
if (stop >= _tokens.size()) {
|
||||||
stop = _tokens.size() - 1;
|
stop = _tokens.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,20 @@
|
||||||
|
|
||||||
using namespace antlr4;
|
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::NoViableAltException(Parser *recognizer)
|
||||||
: NoViableAltException(recognizer, recognizer->getTokenStream(), recognizer->getCurrentToken(),
|
: NoViableAltException(recognizer, recognizer->getTokenStream(), recognizer->getCurrentToken(),
|
||||||
recognizer->getCurrentToken(), nullptr, recognizer->getContext(), false) {
|
recognizer->getCurrentToken(), nullptr, recognizer->getContext(), false) {
|
||||||
|
@ -17,12 +31,10 @@ NoViableAltException::NoViableAltException(Parser *recognizer)
|
||||||
NoViableAltException::NoViableAltException(Parser *recognizer, TokenStream *input,Token *startToken,
|
NoViableAltException::NoViableAltException(Parser *recognizer, TokenStream *input,Token *startToken,
|
||||||
Token *offendingToken, atn::ATNConfigSet *deadEndConfigs, ParserRuleContext *ctx, bool deleteConfigs)
|
Token *offendingToken, atn::ATNConfigSet *deadEndConfigs, ParserRuleContext *ctx, bool deleteConfigs)
|
||||||
: RecognitionException("No viable alternative", recognizer, input, ctx, offendingToken),
|
: RecognitionException("No viable alternative", recognizer, input, ctx, offendingToken),
|
||||||
_deadEndConfigs(deadEndConfigs), _startToken(startToken), _deleteConfigs(deleteConfigs) {
|
_deadEndConfigs(buildConfigsRef(deadEndConfigs, deleteConfigs)), _startToken(startToken) {
|
||||||
}
|
}
|
||||||
|
|
||||||
NoViableAltException::~NoViableAltException() {
|
NoViableAltException::~NoViableAltException() {
|
||||||
if (_deleteConfigs)
|
|
||||||
delete _deadEndConfigs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Token* NoViableAltException::getStartToken() const {
|
Token* NoViableAltException::getStartToken() const {
|
||||||
|
@ -30,5 +42,5 @@ Token* NoViableAltException::getStartToken() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
atn::ATNConfigSet* NoViableAltException::getDeadEndConfigs() const {
|
atn::ATNConfigSet* NoViableAltException::getDeadEndConfigs() const {
|
||||||
return _deadEndConfigs;
|
return _deadEndConfigs.get();
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,10 +27,9 @@ namespace antlr4 {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Which configurations did we try at input.index() that couldn't match input.LT(1)?
|
/// Which configurations did we try at input.index() that couldn't match input.LT(1)?
|
||||||
atn::ATNConfigSet* _deadEndConfigs;
|
/// Shared pointer that conditionally deletes the configurations (based on flag
|
||||||
|
/// passed during construction)
|
||||||
// Flag that indicates if we own the dead end config set and have to delete it on destruction.
|
Ref<atn::ATNConfigSet> _deadEndConfigs;
|
||||||
bool _deleteConfigs;
|
|
||||||
|
|
||||||
/// The token object at the start index; the input stream might
|
/// The token object at the start index; the input stream might
|
||||||
/// not be buffering tokens so get a reference to it. (At the
|
/// 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);
|
return visitor->visitChildren(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string RuleContext::toStringTree(Parser *recog) {
|
std::string RuleContext::toStringTree(Parser *recog, bool pretty) {
|
||||||
return tree::Trees::toStringTree(this, recog);
|
return tree::Trees::toStringTree(this, recog, pretty);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string RuleContext::toStringTree(std::vector<std::string> &ruleNames) {
|
std::string RuleContext::toStringTree(std::vector<std::string> &ruleNames, bool pretty) {
|
||||||
return tree::Trees::toStringTree(this, ruleNames);
|
return tree::Trees::toStringTree(this, ruleNames, pretty);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string RuleContext::toStringTree() {
|
std::string RuleContext::toStringTree(bool pretty) {
|
||||||
return toStringTree(nullptr);
|
return toStringTree(nullptr, pretty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -110,15 +110,15 @@ namespace antlr4 {
|
||||||
/// (root child1 .. childN). Print just a node if this is a leaf.
|
/// (root child1 .. childN). Print just a node if this is a leaf.
|
||||||
/// We have to know the recognizer so we can get rule names.
|
/// We have to know the recognizer so we can get rule names.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
virtual std::string toStringTree(Parser *recog) override;
|
virtual std::string toStringTree(Parser *recog, bool pretty = false) override;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Print out a whole tree, not just a node, in LISP format
|
/// Print out a whole tree, not just a node, in LISP format
|
||||||
/// (root child1 .. childN). Print just a node if this is a leaf.
|
/// (root child1 .. childN). Print just a node if this is a leaf.
|
||||||
/// </summary>
|
/// </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;
|
virtual std::string toString() override;
|
||||||
std::string toString(Recognizer *recog);
|
std::string toString(Recognizer *recog);
|
||||||
std::string toString(const std::vector<std::string> &ruleNames);
|
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
|
/// 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.
|
/// {@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;
|
virtual std::string toString() = 0;
|
||||||
|
|
||||||
/// Specialize toStringTree so that it can print out more information
|
/// Specialize toStringTree so that it can print out more information
|
||||||
/// based upon the parser.
|
/// 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;
|
virtual bool operator == (const ParseTree &other) const;
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ std::string TerminalNodeImpl::getText() {
|
||||||
return symbol->getText();
|
return symbol->getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TerminalNodeImpl::toStringTree(Parser * /*parser*/) {
|
std::string TerminalNodeImpl::toStringTree(Parser * /*parser*/, bool /*pretty*/) {
|
||||||
return toString();
|
return toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,6 @@ std::string TerminalNodeImpl::toString() {
|
||||||
return symbol->getText();
|
return symbol->getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TerminalNodeImpl::toStringTree() {
|
std::string TerminalNodeImpl::toStringTree(bool /*pretty*/) {
|
||||||
return toString();
|
return toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,9 @@ namespace tree {
|
||||||
virtual antlrcpp::Any accept(ParseTreeVisitor *visitor) override;
|
virtual antlrcpp::Any accept(ParseTreeVisitor *visitor) override;
|
||||||
|
|
||||||
virtual std::string getText() 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 toString() override;
|
||||||
virtual std::string toStringTree() override;
|
virtual std::string toStringTree(bool pretty = false) override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,17 +25,17 @@ using namespace antlrcpp;
|
||||||
Trees::Trees() {
|
Trees::Trees() {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Trees::toStringTree(ParseTree *t) {
|
std::string Trees::toStringTree(ParseTree *t, bool pretty) {
|
||||||
return toStringTree(t, nullptr);
|
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)
|
if (recog == nullptr)
|
||||||
return toStringTree(t, std::vector<std::string>());
|
return toStringTree(t, std::vector<std::string>(), pretty);
|
||||||
return toStringTree(t, recog->getRuleNames());
|
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);
|
std::string temp = antlrcpp::escapeWhitespace(Trees::getNodeText(t, ruleNames), false);
|
||||||
if (t->children.empty()) {
|
if (t->children.empty()) {
|
||||||
return temp;
|
return temp;
|
||||||
|
@ -48,6 +48,7 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
||||||
std::stack<size_t> stack;
|
std::stack<size_t> stack;
|
||||||
size_t childIndex = 0;
|
size_t childIndex = 0;
|
||||||
ParseTree *run = t;
|
ParseTree *run = t;
|
||||||
|
size_t indentationLevel = 1;
|
||||||
while (childIndex < run->children.size()) {
|
while (childIndex < run->children.size()) {
|
||||||
if (childIndex > 0) {
|
if (childIndex > 0) {
|
||||||
ss << ' ';
|
ss << ' ';
|
||||||
|
@ -59,6 +60,13 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
||||||
stack.push(childIndex);
|
stack.push(childIndex);
|
||||||
run = child;
|
run = child;
|
||||||
childIndex = 0;
|
childIndex = 0;
|
||||||
|
if (pretty) {
|
||||||
|
++indentationLevel;
|
||||||
|
ss << std::endl;
|
||||||
|
for (size_t i = 0; i < indentationLevel; ++i) {
|
||||||
|
ss << " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
ss << "(" << temp << " ";
|
ss << "(" << temp << " ";
|
||||||
} else {
|
} else {
|
||||||
ss << temp;
|
ss << temp;
|
||||||
|
@ -68,6 +76,9 @@ std::string Trees::toStringTree(ParseTree *t, const std::vector<std::string> &ru
|
||||||
childIndex = stack.top();
|
childIndex = stack.top();
|
||||||
stack.pop();
|
stack.pop();
|
||||||
run = run->parent;
|
run = run->parent;
|
||||||
|
if (pretty) {
|
||||||
|
--indentationLevel;
|
||||||
|
}
|
||||||
ss << ")";
|
ss << ")";
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -18,17 +18,17 @@ namespace tree {
|
||||||
/// Print out a whole tree in LISP form. getNodeText is used on the
|
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||||
/// node payloads to get the text for the nodes. Detect
|
/// node payloads to get the text for the nodes. Detect
|
||||||
/// parse trees and extract data appropriately.
|
/// 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
|
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||||
/// node payloads to get the text for the nodes. Detect
|
/// node payloads to get the text for the nodes. Detect
|
||||||
/// parse trees and extract data appropriately.
|
/// 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
|
/// Print out a whole tree in LISP form. getNodeText is used on the
|
||||||
/// node payloads to get the text for the nodes. Detect
|
/// node payloads to get the text for the nodes. Detect
|
||||||
/// parse trees and extract data appropriately.
|
/// 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, Parser *recog);
|
||||||
static std::string getNodeText(ParseTree *t, const std::vector<std::string> &ruleNames);
|
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) {
|
XPath::XPath(Parser *parser, const std::string &path) {
|
||||||
_parser = parser;
|
_parser = parser;
|
||||||
_path = path;
|
_path = path;
|
||||||
_elements = split(path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<XPathElement> XPath::split(const std::string &path) {
|
std::vector<std::unique_ptr<XPathElement>> XPath::split(const std::string &path) {
|
||||||
ANTLRFileStream in(path);
|
ANTLRInputStream in(path);
|
||||||
XPathLexer lexer(&in);
|
XPathLexer lexer(&in);
|
||||||
lexer.removeErrorListeners();
|
lexer.removeErrorListeners();
|
||||||
XPathLexerErrorListener listener;
|
XPathLexerErrorListener listener;
|
||||||
|
@ -44,7 +43,7 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Token *> tokens = tokenStream.getTokens();
|
std::vector<Token *> tokens = tokenStream.getTokens();
|
||||||
std::vector<XPathElement> elements;
|
std::vector<std::unique_ptr<XPathElement>> elements;
|
||||||
size_t n = tokens.size();
|
size_t n = tokens.size();
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
bool done = false;
|
bool done = false;
|
||||||
|
@ -62,9 +61,9 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
||||||
i++;
|
i++;
|
||||||
next = tokens[i];
|
next = tokens[i];
|
||||||
}
|
}
|
||||||
XPathElement pathElement = getXPathElement(next, anywhere);
|
std::unique_ptr<XPathElement> pathElement = getXPathElement(next, anywhere);
|
||||||
pathElement.setInvert(invert);
|
pathElement->setInvert(invert);
|
||||||
elements.push_back(pathElement);
|
elements.push_back(std::move(pathElement));
|
||||||
i++;
|
i++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -81,25 +80,26 @@ std::vector<XPathElement> XPath::split(const std::string &path) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default :
|
default :
|
||||||
throw IllegalArgumentException("Unknow path element " + el->toString());
|
throw IllegalArgumentException("Unknown path element " + el->toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return elements;
|
return elements;
|
||||||
}
|
}
|
||||||
|
|
||||||
XPathElement XPath::getXPathElement(Token *wordToken, bool anywhere) {
|
std::unique_ptr<XPathElement> XPath::getXPathElement(Token *wordToken, bool anywhere) {
|
||||||
if (wordToken->getType() == Token::EOF) {
|
if (wordToken->getType() == Token::EOF) {
|
||||||
throw IllegalArgumentException("Missing path element at end of path");
|
throw IllegalArgumentException("Missing path element at end of path");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string word = wordToken->getText();
|
std::string word = wordToken->getText();
|
||||||
size_t ttype = _parser->getTokenType(word);
|
size_t ttype = _parser->getTokenType(word);
|
||||||
ssize_t ruleIndex = _parser->getRuleIndex(word);
|
ssize_t ruleIndex = _parser->getRuleIndex(word);
|
||||||
switch (wordToken->getType()) {
|
switch (wordToken->getType()) {
|
||||||
case XPathLexer::WILDCARD :
|
case XPathLexer::WILDCARD :
|
||||||
if (anywhere)
|
if (anywhere)
|
||||||
return XPathWildcardAnywhereElement();
|
return std::unique_ptr<XPathWildcardAnywhereElement>(new XPathWildcardAnywhereElement());
|
||||||
return XPathWildcardElement();
|
return std::unique_ptr<XPathWildcardElement>(new XPathWildcardElement());
|
||||||
|
|
||||||
case XPathLexer::TOKEN_REF:
|
case XPathLexer::TOKEN_REF:
|
||||||
case XPathLexer::STRING :
|
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");
|
throw IllegalArgumentException(word + " at index " + std::to_string(wordToken->getStartIndex()) + " isn't a valid token name");
|
||||||
}
|
}
|
||||||
if (anywhere)
|
if (anywhere)
|
||||||
return XPathTokenAnywhereElement(word, (int)ttype);
|
return std::unique_ptr<XPathTokenAnywhereElement>(new XPathTokenAnywhereElement(word, (int)ttype));
|
||||||
return XPathTokenElement(word, (int)ttype);
|
return std::unique_ptr<XPathTokenElement>(new XPathTokenElement(word, (int)ttype));
|
||||||
|
|
||||||
default :
|
default :
|
||||||
if (ruleIndex == -1) {
|
if (ruleIndex == -1) {
|
||||||
throw IllegalArgumentException(word + " at index " + std::to_string(wordToken->getStartIndex()) + " isn't a valid rule name");
|
throw IllegalArgumentException(word + " at index " + std::to_string(wordToken->getStartIndex()) + " isn't a valid rule name");
|
||||||
}
|
}
|
||||||
if (anywhere)
|
if (anywhere)
|
||||||
return XPathRuleAnywhereElement(word, (int)ruleIndex);
|
return std::unique_ptr<XPathRuleAnywhereElement>(new XPathRuleAnywhereElement(word, (int)ruleIndex));
|
||||||
return XPathRuleElement(word, (int)ruleIndex);
|
return std::unique_ptr<XPathRuleElement>(new XPathRuleElement(word, (int)ruleIndex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ParserRuleContext dummyRoot;
|
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) {
|
std::vector<ParseTree *> XPath::evaluate(ParseTree *t) {
|
||||||
dummyRoot.children = { t }; // don't set t's parent.
|
dummyRoot.children = { t }; // don't set t's parent.
|
||||||
|
|
||||||
std::vector<ParseTree *> work = { &dummyRoot };
|
std::vector<ParseTree *> work = { &dummyRoot };
|
||||||
|
|
||||||
size_t i = 0;
|
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;
|
std::vector<ParseTree *> next;
|
||||||
for (auto node : work) {
|
for (auto node : work) {
|
||||||
if (!node->children.empty()) {
|
if (!node->children.empty()) {
|
||||||
// only try to match next element if it has children
|
// only try to match next element if it has children
|
||||||
// e.g., //func/*/stat might have a token node for which
|
// e.g., //func/*/stat might have a token node for which
|
||||||
// we can't go looking for stat nodes.
|
// 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());
|
next.insert(next.end(), matching.begin(), matching.end());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,8 +61,10 @@ namespace xpath {
|
||||||
XPath(Parser *parser, const std::string &path);
|
XPath(Parser *parser, const std::string &path);
|
||||||
virtual ~XPath() {}
|
virtual ~XPath() {}
|
||||||
|
|
||||||
// TO_DO: check for invalid token/rule names, bad syntax
|
// TODO: check for invalid token/rule names, bad syntax
|
||||||
virtual std::vector<XPathElement> split(const std::string &path);
|
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
|
/// 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
|
/// path. The root {@code /} is relative to the node passed to
|
||||||
|
@ -71,13 +73,12 @@ namespace xpath {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::string _path;
|
std::string _path;
|
||||||
std::vector<XPathElement> _elements;
|
|
||||||
Parser *_parser;
|
Parser *_parser;
|
||||||
|
|
||||||
/// Convert word like {@code *} or {@code ID} or {@code expr} to a path
|
/// Convert word like {@code *} or {@code ID} or {@code expr} to a path
|
||||||
/// element. {@code anywhere} is {@code true} if {@code //} precedes the
|
/// element. {@code anywhere} is {@code true} if {@code //} precedes the
|
||||||
/// word.
|
/// word.
|
||||||
virtual XPathElement getXPathElement(Token *wordToken, bool anywhere);
|
virtual std::unique_ptr<XPathElement> getXPathElement(Token *wordToken, bool anywhere);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace xpath
|
} // namespace xpath
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class DiagnosticErrorListener: BaseErrorListener {
|
||||||
let decision: Int = dfa.decision
|
let decision: Int = dfa.decision
|
||||||
let ruleIndex: Int = dfa.atnStartState.ruleIndex!
|
let ruleIndex: Int = dfa.atnStartState.ruleIndex!
|
||||||
|
|
||||||
var ruleNames: [String] = recognizer.getRuleNames()
|
let ruleNames: [String] = recognizer.getRuleNames()
|
||||||
if ruleIndex < 0 || ruleIndex >= ruleNames.count {
|
if ruleIndex < 0 || ruleIndex >= ruleNames.count {
|
||||||
return String(decision)
|
return String(decision)
|
||||||
}
|
}
|
||||||
|
|
|
@ -941,7 +941,7 @@ open class Parser: Recognizer<ParserATNSimulator> {
|
||||||
|
|
||||||
public func getRuleInvocationStack(_ p: RuleContext?) -> [String] {
|
public func getRuleInvocationStack(_ p: RuleContext?) -> [String] {
|
||||||
var p = p
|
var p = p
|
||||||
var ruleNames = getRuleNames()
|
let ruleNames = getRuleNames()
|
||||||
var stack = [String]()
|
var stack = [String]()
|
||||||
while let pWrap = p {
|
while let pWrap = p {
|
||||||
// compute what follows who invoked us
|
// compute what follows who invoked us
|
||||||
|
|
|
@ -343,6 +343,8 @@ fileprivate struct UInt8StreamIterator: IteratorProtocol {
|
||||||
return nil
|
return nil
|
||||||
case .opening, .open, .reading:
|
case .opening, .open, .reading:
|
||||||
break
|
break
|
||||||
|
@unknown default:
|
||||||
|
fatalError()
|
||||||
}
|
}
|
||||||
|
|
||||||
let count = stream.read(&buffer, maxLength: buffer.count)
|
let count = stream.read(&buffer, maxLength: buffer.count)
|
||||||
|
|
|
@ -155,11 +155,9 @@ public class Vocabulary: Hashable {
|
||||||
return String(tokenType)
|
return String(tokenType)
|
||||||
}
|
}
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
return Unmanaged.passUnretained(self).toOpaque().hashValue
|
hasher.combine(ObjectIdentifier(self))
|
||||||
// return unsafeAddress(of: self).hashValue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: Vocabulary, rhs: Vocabulary) -> Bool {
|
public func ==(lhs: Vocabulary, rhs: Vocabulary) -> Bool {
|
||||||
|
|
|
@ -126,20 +126,11 @@ public class ATNConfig: Hashable, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
public func hash(into hasher: inout Hasher) {
|
||||||
/// An ATN configuration is equal to another if both have
|
hasher.combine(state.stateNumber)
|
||||||
/// the same state, they predict the same alternative, and
|
hasher.combine(alt)
|
||||||
/// syntactic/semantic contexts are the same.
|
hasher.combine(context)
|
||||||
///
|
hasher.combine(semanticContext)
|
||||||
|
|
||||||
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 var description: String {
|
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 {
|
public func ==(lhs: ATNConfig, rhs: ATNConfig) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
|
|
|
@ -203,16 +203,16 @@ public final class ATNConfigSet: Hashable, CustomStringConvertible {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
if isReadonly() {
|
if isReadonly() {
|
||||||
if cachedHashCode == -1 {
|
if cachedHashCode == -1 {
|
||||||
cachedHashCode = configsHashValue//configs.hashValue ;
|
cachedHashCode = configsHashValue
|
||||||
}
|
}
|
||||||
|
hasher.combine(cachedHashCode)
|
||||||
return cachedHashCode
|
}
|
||||||
|
else {
|
||||||
|
hasher.combine(configsHashValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
return configsHashValue // configs.hashValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private var configsHashValue: Int {
|
private var configsHashValue: Int {
|
||||||
|
|
|
@ -78,8 +78,8 @@ public class ATNDeserializer {
|
||||||
///
|
///
|
||||||
internal func isFeatureSupported(_ feature: UUID, _ actualUuid: UUID) -> Bool {
|
internal func isFeatureSupported(_ feature: UUID, _ actualUuid: UUID) -> Bool {
|
||||||
let supported = ATNDeserializer.SUPPORTED_UUIDS
|
let supported = ATNDeserializer.SUPPORTED_UUIDS
|
||||||
guard let featureIndex = supported.index(of: feature),
|
guard let featureIndex = supported.firstIndex(of: feature),
|
||||||
let actualIndex = supported.index(of: actualUuid) else {
|
let actualIndex = supported.firstIndex(of: actualUuid) else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return actualIndex >= featureIndex
|
return actualIndex >= featureIndex
|
||||||
|
|
|
@ -123,11 +123,10 @@ public class ATNState: Hashable, CustomStringConvertible {
|
||||||
public internal(set) final var nextTokenWithinRule: IntervalSet?
|
public internal(set) final var nextTokenWithinRule: IntervalSet?
|
||||||
|
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
return stateNumber
|
hasher.combine(stateNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public func isNonGreedyExitState() -> Bool {
|
public func isNonGreedyExitState() -> Bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,22 +72,14 @@ public class LexerATNConfig: ATNConfig {
|
||||||
return passedThroughNonGreedyDecision
|
return passedThroughNonGreedyDecision
|
||||||
}
|
}
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
/*public func hashCode() -> Int {
|
hasher.combine(state.stateNumber)
|
||||||
|
hasher.combine(alt)
|
||||||
}*/
|
hasher.combine(context)
|
||||||
public var hashValue: Int {
|
hasher.combine(semanticContext)
|
||||||
var hashCode = MurmurHash.initialize(7)
|
hasher.combine(passedThroughNonGreedyDecision)
|
||||||
hashCode = MurmurHash.update(hashCode, state.stateNumber)
|
hasher.combine(lexerActionExecutor)
|
||||||
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)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//useless
|
//useless
|
||||||
|
|
|
@ -56,7 +56,7 @@ public class LexerAction: Hashable {
|
||||||
fatalError(#function + " must be overridden")
|
fatalError(#function + " must be overridden")
|
||||||
}
|
}
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
fatalError(#function + " must be overridden")
|
fatalError(#function + " must be overridden")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,11 +176,9 @@ public class LexerActionExecutor: Hashable {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
return self.hashCode
|
hasher.combine(hashCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerActionExecutor, rhs: LexerActionExecutor) -> Bool {
|
public func ==(lhs: LexerActionExecutor, rhs: LexerActionExecutor) -> Bool {
|
||||||
|
|
|
@ -63,12 +63,9 @@ public final class LexerChannelAction: LexerAction, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(getActionType())
|
||||||
var hash = MurmurHash.initialize()
|
hasher.combine(channel)
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
hash = MurmurHash.update(hash, channel)
|
|
||||||
return MurmurHash.finish(hash, 2)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
|
|
|
@ -92,24 +92,17 @@ public final class LexerCustomAction: LexerAction {
|
||||||
try lexer.action(nil, ruleIndex, actionIndex)
|
try lexer.action(nil, ruleIndex, actionIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(ruleIndex)
|
||||||
var hash = MurmurHash.initialize()
|
hasher.combine(actionIndex)
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
hash = MurmurHash.update(hash, ruleIndex)
|
|
||||||
hash = MurmurHash.update(hash, actionIndex)
|
|
||||||
return MurmurHash.finish(hash, 3)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerCustomAction, rhs: LexerCustomAction) -> Bool {
|
public func ==(lhs: LexerCustomAction, rhs: LexerCustomAction) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return lhs.ruleIndex == rhs.ruleIndex
|
return lhs.ruleIndex == rhs.ruleIndex
|
||||||
&& lhs.actionIndex == rhs.actionIndex
|
&& lhs.actionIndex == rhs.actionIndex
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,24 +96,17 @@ public final class LexerIndexedCustomAction: LexerAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override var hashValue: Int {
|
public override func hash(into hasher: inout Hasher) {
|
||||||
var hash = MurmurHash.initialize()
|
hasher.combine(offset)
|
||||||
hash = MurmurHash.update(hash, offset)
|
hasher.combine(action)
|
||||||
hash = MurmurHash.update(hash, action)
|
|
||||||
return MurmurHash.finish(hash, 2)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerIndexedCustomAction, rhs: LexerIndexedCustomAction) -> Bool {
|
public func ==(lhs: LexerIndexedCustomAction, rhs: LexerIndexedCustomAction) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return lhs.offset == rhs.offset
|
return lhs.offset == rhs.offset
|
||||||
&& lhs.action == rhs.action
|
&& lhs.action == rhs.action
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,25 +62,20 @@ public final class LexerModeAction: LexerAction, CustomStringConvertible {
|
||||||
public func execute(_ lexer: Lexer) {
|
public func execute(_ lexer: Lexer) {
|
||||||
lexer.mode(mode)
|
lexer.mode(mode)
|
||||||
}
|
}
|
||||||
override
|
|
||||||
public var hashValue: Int {
|
public override func hash(into hasher: inout Hasher) {
|
||||||
var hash = MurmurHash.initialize()
|
hasher.combine(mode)
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
hash = MurmurHash.update(hash, mode)
|
|
||||||
return MurmurHash.finish(hash, 2)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "mode(\(mode))"
|
return "mode(\(mode))"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerModeAction, rhs: LexerModeAction) -> Bool {
|
public func ==(lhs: LexerModeAction, rhs: LexerModeAction) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return lhs.mode == rhs.mode
|
return lhs.mode == rhs.mode
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,23 +56,15 @@ public final class LexerMoreAction: LexerAction, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(ObjectIdentifier(self))
|
||||||
var hash = MurmurHash.initialize()
|
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
return MurmurHash.finish(hash, 1)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "more"
|
return "more"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerMoreAction, rhs: LexerMoreAction) -> Bool {
|
public func ==(lhs: LexerMoreAction, rhs: LexerMoreAction) -> Bool {
|
||||||
|
|
||||||
return lhs === rhs
|
return lhs === rhs
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,21 +57,15 @@ public final class LexerPopModeAction: LexerAction, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(ObjectIdentifier(self))
|
||||||
var hash = MurmurHash.initialize()
|
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
return MurmurHash.finish(hash, 1)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "popMode"
|
return "popMode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerPopModeAction, rhs: LexerPopModeAction) -> Bool {
|
public func ==(lhs: LexerPopModeAction, rhs: LexerPopModeAction) -> Bool {
|
||||||
|
|
||||||
return lhs === rhs
|
return lhs === rhs
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,15 +63,10 @@ public final class LexerPushModeAction: LexerAction, CustomStringConvertible {
|
||||||
lexer.pushMode(mode)
|
lexer.pushMode(mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override func hash(into hasher: inout Hasher) {
|
||||||
override
|
hasher.combine(mode)
|
||||||
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 var description: String {
|
public var description: String {
|
||||||
return "pushMode(\(mode))"
|
return "pushMode(\(mode))"
|
||||||
}
|
}
|
||||||
|
@ -79,10 +74,8 @@ public final class LexerPushModeAction: LexerAction, CustomStringConvertible {
|
||||||
|
|
||||||
|
|
||||||
public func ==(lhs: LexerPushModeAction, rhs: LexerPushModeAction) -> Bool {
|
public func ==(lhs: LexerPushModeAction, rhs: LexerPushModeAction) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
return lhs.mode == rhs.mode
|
return lhs.mode == rhs.mode
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,19 +56,15 @@ public final class LexerSkipAction: LexerAction, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(ObjectIdentifier(self))
|
||||||
var hash = MurmurHash.initialize()
|
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
return MurmurHash.finish(hash, 1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "skip"
|
return "skip"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerSkipAction, rhs: LexerSkipAction) -> Bool {
|
public func ==(lhs: LexerSkipAction, rhs: LexerSkipAction) -> Bool {
|
||||||
|
|
||||||
return lhs === rhs
|
return lhs === rhs
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,24 +62,18 @@ public class LexerTypeAction: LexerAction, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(type)
|
||||||
var hash = MurmurHash.initialize()
|
|
||||||
hash = MurmurHash.update(hash, getActionType().rawValue)
|
|
||||||
hash = MurmurHash.update(hash, type)
|
|
||||||
return MurmurHash.finish(hash, 2)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "type(\(type))"
|
return "type(\(type))"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: LexerTypeAction, rhs: LexerTypeAction) -> Bool {
|
public func ==(lhs: LexerTypeAction, rhs: LexerTypeAction) -> Bool {
|
||||||
|
|
||||||
if lhs === rhs {
|
if lhs === rhs {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
return lhs.type == rhs.type
|
return lhs.type == rhs.type
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,17 +20,12 @@ public class LookupATNConfig: Hashable {
|
||||||
// dup
|
// dup
|
||||||
config = old
|
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 {
|
public func ==(lhs: LookupATNConfig, rhs: LookupATNConfig) -> Bool {
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class ParseInfo {
|
||||||
/// full-context predictions during parsing.
|
/// full-context predictions during parsing.
|
||||||
///
|
///
|
||||||
public func getLLDecisions() -> Array<Int> {
|
public func getLLDecisions() -> Array<Int> {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var LL: Array<Int> = Array<Int>()
|
var LL: Array<Int> = Array<Int>()
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -59,7 +59,7 @@ public class ParseInfo {
|
||||||
/// _org.antlr.v4.runtime.atn.DecisionInfo#timeInPrediction_ for all decisions.
|
/// _org.antlr.v4.runtime.atn.DecisionInfo#timeInPrediction_ for all decisions.
|
||||||
///
|
///
|
||||||
public func getTotalTimeInPrediction() -> Int64 {
|
public func getTotalTimeInPrediction() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var t: Int64 = 0
|
var t: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -74,7 +74,7 @@ public class ParseInfo {
|
||||||
/// _org.antlr.v4.runtime.atn.DecisionInfo#SLL_TotalLook_ for all decisions.
|
/// _org.antlr.v4.runtime.atn.DecisionInfo#SLL_TotalLook_ for all decisions.
|
||||||
///
|
///
|
||||||
public func getTotalSLLLookaheadOps() -> Int64 {
|
public func getTotalSLLLookaheadOps() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var k: Int64 = 0
|
var k: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -89,7 +89,7 @@ public class ParseInfo {
|
||||||
/// _org.antlr.v4.runtime.atn.DecisionInfo#LL_TotalLook_ for all decisions.
|
/// _org.antlr.v4.runtime.atn.DecisionInfo#LL_TotalLook_ for all decisions.
|
||||||
///
|
///
|
||||||
public func getTotalLLLookaheadOps() -> Int64 {
|
public func getTotalLLLookaheadOps() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var k: Int64 = 0
|
var k: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -103,7 +103,7 @@ public class ParseInfo {
|
||||||
/// across all decisions made during parsing.
|
/// across all decisions made during parsing.
|
||||||
///
|
///
|
||||||
public func getTotalSLLATNLookaheadOps() -> Int64 {
|
public func getTotalSLLATNLookaheadOps() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var k: Int64 = 0
|
var k: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -117,7 +117,7 @@ public class ParseInfo {
|
||||||
/// across all decisions made during parsing.
|
/// across all decisions made during parsing.
|
||||||
///
|
///
|
||||||
public func getTotalLLATNLookaheadOps() -> Int64 {
|
public func getTotalLLATNLookaheadOps() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var k: Int64 = 0
|
var k: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
@ -135,7 +135,7 @@ public class ParseInfo {
|
||||||
/// _#getTotalLLATNLookaheadOps_.
|
/// _#getTotalLLATNLookaheadOps_.
|
||||||
///
|
///
|
||||||
public func getTotalATNLookaheadOps() -> Int64 {
|
public func getTotalATNLookaheadOps() -> Int64 {
|
||||||
var decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
|
||||||
var k: Int64 = 0
|
var k: Int64 = 0
|
||||||
let length = decisions.count
|
let length = decisions.count
|
||||||
for i in 0..<length {
|
for i in 0..<length {
|
||||||
|
|
|
@ -559,7 +559,7 @@ open class ParserATNSimulator: ATNSimulator {
|
||||||
/// already cached
|
/// already cached
|
||||||
///
|
///
|
||||||
func getExistingTargetState(_ previousD: DFAState, _ t: Int) -> DFAState? {
|
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) {
|
if edges == nil || (t + 1) < 0 || (t + 1) >= (edges!.count) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,8 +105,8 @@ public class PredictionContext: Hashable, CustomStringConvertible {
|
||||||
return getReturnState(size() - 1) == PredictionContext.EMPTY_RETURN_STATE
|
return getReturnState(size() - 1) == PredictionContext.EMPTY_RETURN_STATE
|
||||||
}
|
}
|
||||||
|
|
||||||
public final var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
return cachedHashCode
|
hasher.combine(cachedHashCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func calculateEmptyHashCode() -> Int {
|
static func calculateEmptyHashCode() -> Int {
|
||||||
|
@ -668,7 +668,7 @@ public class PredictionContext: Hashable, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
public func toString<T>(_ recog: Recognizer<T>) -> String {
|
public func toString<T>(_ recog: Recognizer<T>) -> String {
|
||||||
return NSStringFromClass(PredictionContext.self)
|
return String(describing: PredictionContext.self)
|
||||||
// return toString(recog, ParserRuleContext.EMPTY);
|
// return toString(recog, ParserRuleContext.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
||||||
return self
|
return self
|
||||||
}
|
}
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
fatalError(#function + " must be overridden")
|
fatalError(#function + " must be overridden")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,16 +94,12 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
||||||
return try parser.sempred(localctx, ruleIndex, predIndex)
|
return try parser.sempred(localctx, ruleIndex, predIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(ruleIndex)
|
||||||
var hashCode = MurmurHash.initialize()
|
hasher.combine(predIndex)
|
||||||
hashCode = MurmurHash.update(hashCode, ruleIndex)
|
hasher.combine(isCtxDependent)
|
||||||
hashCode = MurmurHash.update(hashCode, predIndex)
|
|
||||||
hashCode = MurmurHash.update(hashCode, isCtxDependent ? 1 : 0)
|
|
||||||
return MurmurHash.finish(hashCode, 3)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
override
|
||||||
public var description: String {
|
public var description: String {
|
||||||
return "{\(ruleIndex):\(predIndex)}?"
|
return "{\(ruleIndex):\(predIndex)}?"
|
||||||
|
@ -138,11 +134,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(precedence)
|
||||||
var hashCode: Int = 1
|
|
||||||
hashCode = 31 * hashCode + precedence
|
|
||||||
return hashCode
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override
|
override
|
||||||
|
@ -214,12 +207,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override
|
public override func hash(into hasher: inout Hasher) {
|
||||||
public var hashValue: Int {
|
hasher.combine(opnds)
|
||||||
//MurmurHash.hashCode(opnds, AND.class.hashCode());
|
|
||||||
let seed = 1554547125
|
|
||||||
//NSStringFromClass(AND.self).hashValue
|
|
||||||
return MurmurHash.hashCode(opnds, seed)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -323,11 +312,8 @@ public class SemanticContext: Hashable, CustomStringConvertible {
|
||||||
return opnds
|
return opnds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override func hash(into hasher: inout Hasher) {
|
||||||
override
|
hasher.combine(opnds)
|
||||||
public var hashValue: Int {
|
|
||||||
|
|
||||||
return MurmurHash.hashCode(opnds, NSStringFromClass(OR.self).hashValue)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
|
@ -54,16 +54,16 @@ public class Transition {
|
||||||
|
|
||||||
public static let serializationTypes: Dictionary<String, Int> = [
|
public static let serializationTypes: Dictionary<String, Int> = [
|
||||||
|
|
||||||
NSStringFromClass(EpsilonTransition.self): EPSILON,
|
String(describing: EpsilonTransition.self): EPSILON,
|
||||||
NSStringFromClass(RangeTransition.self): RANGE,
|
String(describing: RangeTransition.self): RANGE,
|
||||||
NSStringFromClass(RuleTransition.self): RULE,
|
String(describing: RuleTransition.self): RULE,
|
||||||
NSStringFromClass(PredicateTransition.self): PREDICATE,
|
String(describing: PredicateTransition.self): PREDICATE,
|
||||||
NSStringFromClass(AtomTransition.self): ATOM,
|
String(describing: AtomTransition.self): ATOM,
|
||||||
NSStringFromClass(ActionTransition.self): ACTION,
|
String(describing: ActionTransition.self): ACTION,
|
||||||
NSStringFromClass(SetTransition.self): SET,
|
String(describing: SetTransition.self): SET,
|
||||||
NSStringFromClass(NotSetTransition.self): NOT_SET,
|
String(describing: NotSetTransition.self): NOT_SET,
|
||||||
NSStringFromClass(WildcardTransition.self): WILDCARD,
|
String(describing: WildcardTransition.self): WILDCARD,
|
||||||
NSStringFromClass(PrecedencePredicateTransition.self): PRECEDENCE,
|
String(describing: PrecedencePredicateTransition.self): PRECEDENCE,
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -109,10 +109,8 @@ public final class DFAState: Hashable, CustomStringConvertible {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
var hash = MurmurHash.initialize(7)
|
hasher.combine(configs)
|
||||||
hash = MurmurHash.update(hash, configs.hashValue)
|
|
||||||
return MurmurHash.finish(hash, 1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var description: String {
|
public var description: String {
|
||||||
|
|
|
@ -1053,7 +1053,7 @@ public class BitSet: Hashable, CustomStringConvertible {
|
||||||
///
|
///
|
||||||
/// - returns: the hash code value for this bit set
|
/// - returns: the hash code value for this bit set
|
||||||
///
|
///
|
||||||
public var hashValue: Int {
|
private var hashCode: Int {
|
||||||
var h: Int64 = 1234
|
var h: Int64 = 1234
|
||||||
var i: Int = wordsInUse
|
var i: Int = wordsInUse
|
||||||
i -= 1
|
i -= 1
|
||||||
|
@ -1065,6 +1065,10 @@ public class BitSet: Hashable, CustomStringConvertible {
|
||||||
return Int(Int32((h >> 32) ^ h))
|
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
|
/// Returns the number of bits of space actually in use by this
|
||||||
/// `BitSet` to represent bit values.
|
/// `BitSet` to represent bit values.
|
||||||
|
|
|
@ -62,13 +62,12 @@ public class Interval: Hashable {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public var hashValue: Int {
|
public func hash(into hasher: inout Hasher) {
|
||||||
var hash: Int = 23
|
hasher.combine(a)
|
||||||
hash = hash * 31 + a
|
hasher.combine(b)
|
||||||
hash = hash * 31 + b
|
|
||||||
return hash
|
|
||||||
}
|
}
|
||||||
///
|
|
||||||
|
///
|
||||||
/// Does this start completely before other? Disjoint
|
/// Does this start completely before other? Disjoint
|
||||||
///
|
///
|
||||||
public func startsBeforeDisjoint(_ other: Interval) -> Bool {
|
public func startsBeforeDisjoint(_ other: Interval) -> Bool {
|
||||||
|
|
|
@ -326,8 +326,8 @@ public class IntervalSet: IntSet, Hashable, CustomStringConvertible {
|
||||||
return nil // nothing in common with null set
|
return nil // nothing in common with null set
|
||||||
}
|
}
|
||||||
|
|
||||||
var myIntervals = self.intervals
|
let myIntervals = self.intervals
|
||||||
var theirIntervals = (other as! IntervalSet).intervals
|
let theirIntervals = (other as! IntervalSet).intervals
|
||||||
var intersection: IntervalSet? = nil
|
var intersection: IntervalSet? = nil
|
||||||
let mySize = myIntervals.count
|
let mySize = myIntervals.count
|
||||||
let theirSize = theirIntervals.count
|
let theirSize = theirIntervals.count
|
||||||
|
@ -470,25 +470,13 @@ public class IntervalSet: IntSet, Hashable, CustomStringConvertible {
|
||||||
return intervals
|
return intervals
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func hash(into hasher: inout Hasher) {
|
||||||
public func hashCode() -> Int {
|
for interval in intervals {
|
||||||
var hash = MurmurHash.initialize()
|
hasher.combine(interval.a)
|
||||||
for I: Interval in intervals {
|
hasher.combine(interval.b)
|
||||||
hash = MurmurHash.update(hash, I.a)
|
|
||||||
hash = MurmurHash.update(hash, I.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
|
/// Are two IntervalSets equal? Because all intervals are sorted
|
||||||
/// and disjoint, equals is a simple linear walk over both lists
|
/// 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 {
|
func getRuleIndex() -> Int {
|
||||||
return <parser.name>.RULE_<struct.derivedFromName>
|
return <parser.name>.RULE_<struct.derivedFromName>
|
||||||
}
|
}
|
||||||
<if(struct.provideCopyFrom)> <! don't need copy unless we have subclasses !>
|
<if(struct.provideCopyFrom && struct.attrs)> <! don't need copy unless we have subclasses !>
|
||||||
<! <accessLevelNotOpen(parser)> init() { }!>
|
|
||||||
<accessLevelOpenOK(parser)>
|
<accessLevelOpenOK(parser)>
|
||||||
func copyFrom(_ ctx: <struct.name>) {
|
override func copyFrom(_ ctx_: ParserRuleContext) {
|
||||||
super.copyFrom(ctx)
|
super.copyFrom(ctx_)
|
||||||
|
let ctx = ctx_ as! <struct.name>
|
||||||
<struct.attrs:{a | self.<a.name> = ctx.<a.name>;}; separator="\n">
|
<struct.attrs:{a | self.<a.name> = ctx.<a.name>;}; separator="\n">
|
||||||
}
|
}
|
||||||
<endif>
|
<endif>
|
||||||
|
|
Loading…
Reference in New Issue