Camilo Roca
94ee7cfbf9
refactored LL1Analyzer.js to use es6 classes
...
fix: dont wrap export in object
use const/let for better scoping
use jsdoc
2020-03-15 23:21:44 +01:00
Camilo Roca
ba6b0807c9
todo added due to code warning
2020-03-15 23:14:37 +01:00
Camilo Roca
fd8548acab
fix: dont return this on constructor
2020-03-15 23:14:11 +01:00
Camilo Roca
24ae4274a0
refactored Recognizer.js to use es6 classes
...
refactored Lexer.js to use es6 classes
fix: dont wrap class in object for exporting
use const/let for better scoping
use jsdoc
2020-03-15 22:46:08 +01:00
Camilo Roca
a3c380d7d4
refactored IntervalSet.js to use es6 classes
...
use const/let for better scoping
2020-03-15 16:29:28 +01:00
Camilo Roca
23351cadc4
refactored InputStream.js to use es6 classes
...
refactored FileStream.js to use es6 classes
fix: dont wrap class in an object for export
use const for better scoping
use jsdoc
2020-03-15 16:25:30 +01:00
Camilo Roca
181c44fb11
refactored CommonTokenStream.js to use es6 classes
...
fix: dont wrap class in an object for export
fix: annotate adjustSeekIndex with Number type to avoid warning
use const for better scoping
use jsdoc
2020-03-15 16:10:50 +01:00
Camilo Roca
5f6b7de72d
fix: remove unnecessary return statements
2020-03-15 16:04:28 +01:00
Camilo Roca
b2473f7564
refactored CommonTokenFactory.js to use es6 classes
...
fix: dont wrap class in an object for export
use const for better scoping
use jsdoc
2020-03-15 16:03:41 +01:00
Camilo Roca
2e139f8d08
fix: dont wrap class in an object for export
...
use jsdoc
2020-03-15 15:59:09 +01:00
Camilo Roca
4752ecf521
refactored BufferedTokenStream.js to use es6 classes
...
fix: dont wrap class in an object for export
use const/let for better scoping
use jsdoc
2020-03-15 15:55:15 +01:00
Camilo Roca
2988f32c3c
fix: invalid object destructuring
2020-03-07 14:03:59 +01:00
Camilo Roca
51bcf5ffad
refactored import statements to use object destructuring and avoid repetition
2020-03-07 13:59:30 +01:00
Camilo Roca
ae8602a463
refactored Transition.js to use es6 classes
...
use const for better scoping
2020-03-07 13:45:54 +01:00
Camilo Roca
6a38ae5e3d
fix: no need for return on constructor
2020-03-07 13:38:30 +01:00
Camilo Roca
6ebe0d1317
refactored SemanticContext.js.js to use es6 classes
...
use const/let for better scoping
use object destructuring
use jsdoc
2020-03-07 13:35:30 +01:00
Camilo Roca
21538ebb59
refactored PredictionMode.js to use es6 classes
...
use const/let for better scoping
use object destructuring
fix: dont wrap class in object for export
2020-03-07 13:16:42 +01:00
Camilo Roca
7f271a1fc0
refactored ParserATNSimulator.js to use es6 classes
...
use const/let for better scoping
use object destructuring
fix: dont wrap class in object for export
2020-03-06 22:38:11 +01:00
Camilo Roca
d1dce9e700
refactored LexerATNSimulator.js to use es6 classes
...
use const/let for better scoping
fix: dont wrap class in object for export
2020-03-06 22:12:49 +01:00
Camilo Roca
9aeac6d4f4
refactored LexerActionExecutor.js to use es6 classes
...
use const for better scoping
fix: dont wrap class in object for export
2020-03-06 20:05:05 +01:00
Camilo Roca
01c5dca26a
refactored ATNSimulator.js to use es6 classes
...
use const for better scoping
fix: dont wrap class in object for export
2020-03-06 19:54:10 +01:00
Camilo Roca
43f896d6dc
use const/let for better variable scoping
2020-03-06 19:49:10 +01:00
Camilo Roca
4f8527e9ee
refactored ATNDeserializer.js to use es6 classes
...
fix: dont wrap the class in an object for export
2020-03-06 19:33:38 +01:00
Camilo Roca
d61e4d5049
refactored LexerAction.js to use es 6 classes
...
use jsdoc
use module.exports
2020-03-06 19:29:23 +01:00
Camilo Roca
44331c067e
refactored ATNType.js to be a simple object with static definitions
2020-03-06 19:14:24 +01:00
Camilo Roca
78afe57b7d
refactored ATNState.js to es 6 classes
...
use module.exports
use jsdoc
2020-03-06 19:12:09 +01:00
Camilo Roca
430b7c1917
refactored ATNDeserializationOptions.js to es 6 classes
...
fix: dont wrap class in an object
refactored imports accordingly
2020-03-06 18:59:59 +01:00
Camilo Roca
7324e094b1
refactored ATNConfigSet.js to use es 6 classes
...
use module.exports
use const/let
use jsdoc
2020-03-06 18:46:34 +01:00
Camilo Roca
2246528ca6
use module.exports
...
fix: put the documentation on the method, not on the import
fix: move Token import to the top
2020-03-06 18:36:33 +01:00
Camilo Roca
1b440d364a
use jsdoc and const/let
2020-03-06 18:33:37 +01:00
Camilo Roca
8f1b2e5eb9
use jsdoc and const/let
2020-03-06 18:24:57 +01:00
Camilo Roca
15720d1e33
use jsdoc and const/let
2020-03-06 18:18:49 +01:00
Camilo Roca
e7b935e7e2
refactored ATN to be an es6 class
2020-03-06 18:10:34 +01:00
Terence Parr
225249fdae
Merge pull request #2761 from carocad/browser-support
...
Javascript: browser support increased with babel transformation
2020-02-25 09:35:36 -08:00
Camilo Roca
10bbcb9033
browser support increased with babel transformation
2020-02-23 19:09:26 +01:00
Camilo Roca
d95b3270c4
workaround current cyclic dependency on nodejs
2020-02-23 14:12:08 +01:00
Camilo Roca
5885aa4705
fix: RuleContext no longer needs object destructuring import
2020-02-23 13:09:36 +01:00
Camilo Roca
46ceb654f7
removed commented out call
2020-02-23 13:09:36 +01:00
Camilo Roca
1c946ce605
refactored antlr/tree exports to use es6 destructuring
2020-02-23 13:09:36 +01:00
Camilo Roca
6764f53024
export RuleContext directly instead of wrapping it on an anonymous object
2020-02-23 13:09:36 +01:00
Camilo Roca
20cbfc5a0a
export DFA and DiagnosticErrorListener directly instead of wrapping it on an anonymous object
2020-02-23 13:09:36 +01:00
Camilo Roca
96c2eb6a51
export Trees directly instead of wrapping it on an anonymous object
2020-02-23 13:09:36 +01:00
Camilo Roca
577a9b82bc
fix: no need to call RuleNode class as prototype chain is enough
2020-02-23 13:08:39 +01:00
Camilo Roca
5e42c49ced
fix: export ATN directly to avoid getting an empty object on (circular) imports
2020-02-23 13:08:39 +01:00
Camilo Roca
1eafbf9286
fix: dont destructure so early to avoid circular dependency problems
2020-02-23 13:08:39 +01:00
Camilo Roca
66c652142c
refactored Trees to be a plain object to avoid "this" invocation
2020-02-23 13:08:39 +01:00
Camilo Roca
af45a02d1e
refactored comments to be jsdoc compatible
2020-02-23 13:08:39 +01:00
Camilo Roca
edf24eab3f
fix: incorrect import of invalid_alt_number
...
removed unused RuleNode import
2020-02-23 13:08:39 +01:00
Camilo Roca
79d2c1c163
use const/let for better scoping
...
use object destructuring on import
2020-02-23 13:08:39 +01:00
Camilo Roca
4a7820aa4b
refactored comments to be jsdoc compatible
2020-02-23 13:08:39 +01:00
Camilo Roca
6cc2f082fb
use destructuring for imports
...
use module.exports with object literal for exports
2020-02-23 13:08:39 +01:00
Camilo Roca
e790ddb4ba
use const/let for better scoping
...
removed unused Utils import
2020-02-23 13:08:39 +01:00
Camilo Roca
32baf10944
refactored Tree implementations to be es6 classes
2020-02-23 13:08:39 +01:00
Camilo Roca
9d997438f9
refactored interfaces to be es6 classes
2020-02-23 13:08:39 +01:00
Eric Vergnaud
a1b89b7d93
add optional encoding
2020-02-16 13:05:56 +08:00
Terence Parr
db1c09c6d2
Merge pull request #2744 from julibert/master
...
Fix CMake packaging
2020-02-14 08:25:51 -08:00
Camilo Roca
6dd86eb960
fix: cannot reasign a const var
2020-02-10 22:23:54 +01:00
Camilo Roca
d6975d60b1
fix: second export was overwriting the first one
2020-02-10 22:22:12 +01:00
Camilo Roca
2d8e1b60d1
refactored PredPrediction and DFAState to JsDoc
2020-02-10 22:13:19 +01:00
Camilo Roca
2a294b8a60
fix DFA serializer doc position
2020-02-10 22:07:58 +01:00
Camilo Roca
68730a8288
refactored DFA docs to JsDoc compatible
2020-02-10 22:07:21 +01:00
Camilo Roca
8c1730f687
use const/let and module.exports
2020-02-10 22:01:04 +01:00
Camilo Roca
116dbca78a
refactor PredPrediction and DFAState to es6 classes
2020-02-10 21:58:44 +01:00
Camilo Roca
82d51aee99
use const/let
...
use module exports instead of exports
2020-02-10 21:56:40 +01:00
Camilo Roca
772286cf00
refactor DFASerializer and LexerDFASerializer to ES6 classes
2020-02-10 21:54:23 +01:00
Camilo Roca
e5910c3019
use object destructuring
2020-02-10 21:52:26 +01:00
Camilo Roca
a8e8402b77
refactor DFA function prototype into es6 classes
2020-02-10 21:51:11 +01:00
julibert
b37d2e3815
Fix CMake packaging.
2020-02-09 20:01:24 +01:00
Camilo Roca
4b4aa68be3
fix: npm build is not a valid command
2020-02-08 15:14:10 +01:00
Camilo Roca
d8435e13c3
removed conditional nodejs import in favour of webpack bundle
...
use const/let instead of var
use object destructuring
fix: missing new statement for DOM file reader
2020-02-07 14:08:19 +01:00
Camilo Roca
c2180d2d5c
adapted antlr4 js to use webpack for browser publishing
...
lib/require.js custom require removed in favour of webpack bundle
documentation updated
package-lock.json added
2020-02-07 13:57:20 +01:00
Camilo Roca
aeebc0bb0b
fix: use module.exports instead of exports to follow node best practices
...
cosmetic changes
2020-02-02 23:52:47 +01:00
Camilo Roca
a7017d1a49
missing const
2020-02-02 23:43:12 +01:00
Camilo Roca
19458051c0
refactored error directoryto use classes, const and let
2020-02-02 23:37:21 +01:00
Steve Vinoski
38200b6e31
Fix #2727 : improve setTokenFactory in Cpp target
...
Change the setTokenFactory template functions and the getTokenFactory
functions to use a plain pointer rather than a Ref. This makes the
caller of setTokenFactory responsible for managing the lifetime and
memory of the token factory instance they pass in. Change
CommonTokenFactory::DEFAULT to be a unique_ptr, and correct all places
using it as a Ref.
2020-01-24 08:11:41 -05:00
Larry Li
7cb0d427d4
dart test performance with aot compilation
2020-01-19 21:20:44 +11:00
Larry Li
46bd9e5569
add dart target
2020-01-19 18:22:06 +11:00
parrt
f1ffc01723
[maven-release-plugin] prepare for next development iteration
2020-01-18 13:37:08 -08:00
parrt
3f41f283d1
[maven-release-plugin] prepare release antlr4-master-4.8-1
2020-01-18 13:37:01 -08:00
parrt
f9cb658daa
Update PHP Runtime to latest version
2020-01-18 10:20:39 -08:00
parrt
6c4b491d1b
set version to 4.8-1 to fix release
2020-01-18 09:39:46 -08:00
parrt
42512526f9
update javascript target to 4.3
2020-01-16 12:39:52 -08:00
parrt
666131841c
[maven-release-plugin] prepare for next development iteration
2020-01-16 12:24:30 -08:00
parrt
d569f91795
[maven-release-plugin] prepare release 4.8
2020-01-16 12:24:22 -08:00
parrt
6ad9646382
update version in code to 4.8
2020-01-16 12:18:17 -08:00
parrt
441fea52b1
update to 4.3 version
2020-01-16 12:05:03 -08:00
Mike Lischke
e47fd9d918
Brought back a lost comment and fixed a description.
2020-01-03 14:57:04 +01:00
Mike Lischke
d295462e2e
Doc update for C++ target and fixes for VS 2019 builds
2020-01-03 11:54:30 +01:00
Mike Lischke
c487b1a580
Create pre-built binaries for VS 2017/19 instead of older VS versions
2020-01-03 09:01:13 +01:00
Terence Parr
4da24a261f
Merge pull request #2673 from zqlu/fix-javascript-pkg-main
...
Fix main entry point for JavaScript runtime npm package
2019-12-15 09:03:10 -08:00
Markus Zancolo
1565143529
Merge branch 'master' into fix/CppEmscripten
2019-12-12 10:56:42 +01:00
Terence Parr
8be60804ab
Merge pull request #2532 from WalterCouto/test2
...
don't unnecessary fetch all tokens when grabbing an interval of text …
2019-12-11 08:48:54 -08:00
WalterCouto
f650a0be67
Separate bug fix to Java runtimes
2019-12-11 00:40:20 -05:00
Felix N
5be29fd61d
Merge branch 'master' into master
2019-12-09 10:53:50 +01:00
Mark Lilback
3bd5465881
[Swift] fixed compiler warnings about using var instead of let
2019-11-18 13:42:07 -08:00
Ewan Mellor
a701f2b099
[Swift] Replace all uses of NSStringFromClass.
...
Bridging from NSString to String in Swift 5 is a transcoding operation, so
it is expensive. Use String(describing:) instead of NSStringFromClass
to avoid this cost.
2019-11-18 13:24:28 -08:00
Ewan Mellor
509eeefa4a
[Swift] Migrate Swift runtime to Swift 5.
...
This switches from using the deprecated hashValue to hash(into:).
It also switches from using index to firstIndex (matching the change in
the standard library).
In the test template, we switch to using String directly instead of
String.characters.
This also switches all the Travis macOS tests to use the Xcode 10.2 / Mojave
image and changes the Linux Swift tests to download Swift 5.0.1.
2019-11-18 13:24:28 -08:00
Felix Nieuwenhuizen
9029af3ef4
Fix for CMake 3.14
2019-11-17 14:09:35 +01:00
Gerasimos Dimitriadis
437c5a7b9a
Merge branch 'master' into master
2019-11-14 23:52:19 +02:00
jerry_liu
fa4b498fc2
Add pretty print AST
2019-11-11 21:33:04 +08:00
Alexei Averchenko
4f86ad5c17
Merge branch 'master' into master
2019-10-31 18:15:30 +03:00
Mike Lischke
3ae5d90296
Fixed an error regarding wrong unique_ptr usage
...
Also added VS 2019 project files.
2019-10-30 13:35:22 +01:00
zqlu
c37ef7e0ea
Fix main entry point for JavaScript runtime npm package
2019-10-22 20:31:36 +08:00
Markus Franke
76c0a65d19
Merge branch 'master' into master
2019-10-11 15:24:09 +02:00
Mike Lischke
4d649fbf71
Another attempt at solving this issue
...
There was already a patch to fix this issue, but it had some problems and was closed by the author after a while.
2019-10-11 14:47:39 +02:00
Mike Lischke
9723e4b9c9
C++ code cleanup
...
Converted back all TO_DO items to TODO (they were renamed ANTLR4 TODO items, but I had some for C++ which I all wanted to fix).
Also removed some default copy assignment operators which clang warned about.
2019-10-11 14:44:53 +02:00
Mike Lischke
e208be701d
Merge branch 'master-upstream'
2019-10-11 09:58:31 +02:00
Terence Parr
15e6619ddc
Merge branch 'master' into patch-1
2019-10-10 10:43:40 -07:00
miliu
35fcde7d69
add missed change
2019-09-29 20:51:31 -07:00
miliu
4a8eca579e
resolve comments
2019-09-29 20:46:30 -07:00
miliu
033bb7f8c5
fix toString()
2019-09-29 13:57:20 -07:00
Terence Parr
818c6be691
Merge branch 'master' into fix-javascript-hashing-bug
2019-09-22 08:46:37 -07:00
Marcos Passos
789d746636
PHP Target
2019-09-14 09:39:58 -03:00
neko1235
f88f763983
Remove the match_calls counter
...
This fixes the potential data race caused by unsynchronized concurrent access.
2019-09-10 22:44:42 -07:00
neko1235
db0a57c6ee
Increment match_calls atomically
...
This ensures the correctness of the counter value, i.e. the value is the number of calls to the match() method.
2019-09-10 21:16:49 -07:00
neko1235
e2b1ae7c79
Fix data race in LexerATNSimulator
...
There is a potential memory consistency problem.
2019-09-10 16:01:16 -07:00
João Henrique
ae28213343
Python3 XPath: Use Token.INVALID_TYPE instead of -1 on getXPathElement
2019-09-05 14:29:25 -03:00
João Henrique
b0eb1825fb
Spaces/Tabs mishap
2019-09-04 16:43:12 -03:00
João Henrique
8da2ce3044
Added XPath test on Python3 target
2019-09-04 16:02:39 -03:00
João Henrique
f15a9f7628
Prevent XPath from returning the same node multiple times in Python3
2019-09-04 15:53:02 -03:00
João Henrique
ae2a689a68
Fixed missing XPathLexer.STRING case
2019-09-04 15:33:24 -03:00
João Henrique
4c2f091e8c
Style touch-ups on Python3 XPath implementation
2019-09-04 14:34:19 -03:00
João Henrique
ff1283affb
General XPath fixes for the Python3 runtime
2019-09-03 19:21:42 -03:00
Markus Franke
5a711ac79c
Fix escaping of angle brackets
2019-08-27 13:28:40 +02:00
Eric Vergnaud
56eb0a3fab
fix 2 erroneous calls, thanks @akaJes
2019-08-24 01:47:12 +08:00
Eric Vergnaud
3e258c5d9d
avoid hashCode == 0
2019-08-24 01:46:11 +08:00
Eric Vergnaud
165dfa2b70
use same hash code whether readOnly or not
2019-08-24 01:45:31 +08:00
Eric Vergnaud
badee1ffe1
fix minor issue in deserializer
2019-08-24 01:44:53 +08:00
Eric Vergnaud
32470dbab4
align on other runtimes
2019-08-24 01:44:36 +08:00
Mike Lischke
91a50749f9
Added cmake build informations as reported in antlr4/#2606
2019-08-21 10:34:21 +02:00
Mike Lischke
d93857c8fe
Applied recommended settings after XCode upgrade.
2019-08-18 12:27:50 +02:00
Mike Lischke
8651498f41
Merge branch 'master-upstream'
2019-08-18 11:18:41 +02:00
olowo726
06cee866d2
Made converters thread_local instead of local to function for performance
2019-07-11 19:20:20 +02:00
Terence Parr
aa51ef297a
Merge branch 'master' into master
2019-06-23 15:45:10 -07:00
Thomas
3534089ddf
Fix formating
2019-05-14 08:57:18 +02:00
Thomas
409b207bf1
Fix formating
2019-05-14 08:57:01 +02:00
Thomas
c57996e589
Fix formating
2019-05-14 08:56:48 +02:00
Thomas
264db10290
Revert "Typo fix in XPath #2464"
...
This reverts commit d9c51b1525
.
2019-05-13 22:38:49 +02:00
Thomas
e7660d6cfa
Align overlap condition on java implementation
2019-05-13 22:38:06 +02:00
Thomas
6fbc156f6c
Align overlap condition on java implementation
2019-05-13 22:33:43 +02:00
Thomas
9a6b4e8fe8
Align overlap condition on java implementation
2019-05-13 22:33:16 +02:00
Thomas
0b0e521a8d
Align overlap condition on java implementation
2019-05-13 22:25:42 +02:00
Thomas
17d626bc73
Align overlap condition on java implementation
2019-05-13 22:23:06 +02:00
Thomas
f3184e9c8d
Align overlap condition on java implementation
2019-05-13 22:19:19 +02:00
Thomas
d9c51b1525
Typo fix in XPath #2464
2019-05-08 15:01:31 +02:00
Thomas
8d48f1a851
Fix overlaping condition
2019-05-08 14:26:11 +02:00
WalterCouto
31f4dcc7cf
don't unnecessary fetch all tokens when grabbing an interval of text (match C# logic)
...
When an exception is thrown, it calls getText to get the text of the tokens invloved but the current C++ and Java implemention first fetches the rest of the tokens instead of just using the tokens it already has. C#'s version is correct (fill() is called only when asking for the entire stream's text).
2019-04-17 20:10:37 -04:00
Alexei Averchenko
4cf4883514
Fixed -Wreorder warning
2019-04-09 09:20:04 +03:00
Gerasimos Dimitriadis
d69e7c4d0f
Avoid double deletion when NoViableAltException is thrown
...
When ownership of the configurations set is passed to a NoViableAltException,
it get deleted more than once if the exception happens to get copied.
2019-02-23 20:31:19 +02:00
Terence Parr
dade65a895
Merge pull request #2463 from youkaichao/python/test
...
update test script
2019-02-23 08:57:40 -08:00
Ralu
de58c28a24
Fix off by one error in getChild
2019-02-06 10:41:38 +01:00
Markus Zancolò
4fec5f9f7c
fix cpp cmake for emscripten
...
Emscripten can do C++11. added it to the compilercheck in CMakeLists
2019-01-16 14:55:03 +01:00
You Kaichao
45a4cdc67b
update test script
2019-01-04 09:17:36 +08:00
You Kaichao
18e2a605c1
update python runtime doc
2019-01-03 19:29:56 +08:00
Mike Lischke
ec665c1b90
A small fix in the C++ documentation.
2019-01-03 10:39:59 +01:00
You Kaichao
157afd1a8d
update code on updated master
2019-01-02 19:06:36 +08:00
Eric Vergnaud
90854967ca
fix broken API calls
2019-01-01 15:04:20 +01:00
Eric Vergnaud
3ad118f87e
fix invalid test sequence
2019-01-01 13:31:01 +01:00
Eric Vergnaud
cccf6e87da
Fix API inconsistency, where getText would expect a tuple named interval, leading to lots of confusion
2019-01-01 13:20:23 +01:00
Eric Vergnaud
108854f986
remove misleading API
2019-01-01 13:19:38 +01:00
Alexey Khoroshilov
f73ae702f2
LexerATNSimulator: avoid repeatable import of Lexer
...
Importing module is quite expensive operation for using it
in a lexer during normal operations.
The patch avoids it by caching the required properties
in LexerATNSimulator object.
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
2019-01-01 15:18:46 +03:00
Terence Parr
6808f9c4b4
Merge pull request #2447 from WalterCouto/test2
...
Change bitset upperbound to another higher arbitrary value to allow f…
2018-12-26 09:26:13 -07:00
Terence Parr
fa19ded837
Merge pull request #2446 from WalterCouto/test
...
C++ avoid warning in visual studio build due to clang specific directive
2018-12-21 12:01:22 -07:00
Terence Parr
fa466c42a1
Merge pull request #2445 from WalterCouto/master
...
C++: fix bug in PredictionContext::mergeArrays
2018-12-21 12:01:08 -07:00
Terence Parr
ce3b5a4cb4
Merge pull request #2176 from niccroad/atnsimulator_memleak
...
This resolves the recently opened issue 2175 (a memory leak).
2018-12-21 12:00:36 -07:00
WalterCouto
6195ec749b
Change bitset upperbound to another higher arbitrary value to allow for larger number of rules
...
We had a complex grammar file hit past this upperbound. One solution is to put this up higher, another is to refactor into a container that can grow.
2018-12-20 11:18:16 -05:00
WalterCouto
2d28400234
C++ avoid warning in visual studio build due to clang specific directive
...
The revently added clang directive cause a new warning for Visual Studio build. Need to include the new code with a directive checking for visual studio
2018-12-20 11:02:35 -05:00
WalterCouto
936db23a40
C++ runtime version of previousTokenOnChannel doesn't handle edge case correctly #2343
...
<!--
Before submitting an issue to ANTLR, please check off these boxes:
- [x] I am not submitting a question on how to use ANTLR; instead, go to [antlr4-discussion google group](https://groups.google.com/forum/#!forum/antlr-discussion ) or ask at [stackoverflow](http://stackoverflow.com/questions/tagged/antlr4 )
- [ x] I have done a search of the existing issues to make sure I'm not sending in a duplicate
Please include information about the expected behavior, actual behavior, and the smallest grammar or code that reproduces the behavior. If appropriate, please indicate the code generation targets such as Java, C#, ... Pointers into offending code regions are also very welcome.
-->
As documented previousTokenOnChannel, should "return -1 if there are no tokens on channel between i and 0." but the C++ version of the runtime returns 0 not -1 as can be seen below:
```
while (true) {
Token *token = _tokens[i].get();
if (token->getType() == Token::EOF || token->getChannel() == channel) {
return i;
}
if (i == 0)
break;
i--;
}
```
Looking at the Java implementation, it would seem the C++ code should instead be:
```
while (true) {
Token *token = _tokens[i].get();
if (token->getType() == Token::EOF || token->getChannel() == channel) {
return i;
}
if (i == 0)
return -1;
i--;
}
```
This bug causes getHiddenTokensToLeft() to miss hidden tokens that come before the first non-hidden token. There would also be a potential bug in CommonTokenStream::LB as the "< 0" case would never happen.
2018-12-20 10:24:49 -05:00
WalterCouto
27c8eb5c6a
C++: fix bug in PredictionContext::mergeArrays
...
In the orignal PredictionContext::mergeArrays there was a bug on Line 281 where the logic differs from java: It currently is:
bool both$ = payload == EMPTY_RETURN_STATE && a_parent && b_parent;
and should instead match java as:
bool both$ = payload == EMPTY_RETURN_STATE && !a_parent && !b_parent;
2018-12-20 10:07:59 -05:00
parrt
70d9ddcd0a
[maven-release-plugin] prepare for next development iteration
2018-12-18 10:35:34 -08:00
parrt
be58ebffde
[maven-release-plugin] prepare release 4.7.2
2018-12-18 10:35:24 -08:00
parrt
8fab6b98b3
[maven-release-plugin] rollback the release of 4.7.2
2018-12-18 10:33:52 -08:00
parrt
573cb86705
[maven-release-plugin] prepare release 4.7.2
2018-12-18 10:31:44 -08:00
parrt
9f6dfb1809
Merge branch 'master' of github.com:antlr/antlr4
2018-12-17 14:43:34 -08:00
Terence Parr
96890a3505
Merge branch 'master' into patch-1
2018-12-17 15:40:30 -07:00
parrt
38a95da397
manual edits of 4.7.1 -> 4.7.2
2018-12-17 14:32:39 -08:00
ralf
7fdec95d15
added virtual dtor to polymorphic class template ParseTreeProperty
2018-11-29 10:44:47 +01:00
Eric Vergnaud
56186d9e9f
fix NPE
2018-11-26 01:03:36 +08:00
Terence Parr
0308999f06
Merge pull request #2413 from nxtstep/fix/mutex-free
...
[Swift-runtime] Make sure mutexes are being freed accordingly
2018-11-18 09:13:57 -08:00
Eric Vergnaud
77c830e6e1
fix #1955 for Javascript
2018-11-18 19:44:33 +08:00
Eric Vergnaud
43e529ca73
fix #1955 for Python
2018-11-18 19:41:47 +08:00
Eric Vergnaud
f6537bf4ac
fix #1955 for Chsarp
2018-11-18 19:31:47 +08:00
Terence Parr
d714d7ba9c
Merge pull request #2409 from amykyta3/master
...
Fix install dependency for 'typing' library in python3.4
2018-11-17 09:30:40 -08:00
Terence Parr
6080a0639c
Merge pull request #2411 from ewanmellor/swift-fix-2369
...
[Swift] Syntax error in antlr4/runtime/Swift/boot.py
2018-11-16 08:48:09 -08:00
nxtstep
4e744043a3
Make sure mutexes are being freed accordingly
2018-11-16 17:26:52 +01:00
Ewan Mellor
9d29f116cb
[Swift] Syntax error in antlr4/runtime/Swift/boot.py
...
Make boot.py work under both Python 2 and 3. This fixes #2369 .
Add an extra exception handler, for neater error messages.
2018-11-15 21:49:58 -08:00
Ewan Mellor
0f1614dd99
[Swift] Tidy-ups around addDFAEdge.
...
Do some tidy-ups around addDFAEdge, improving the handling of nils so that
we're not forcing or nil-checking so much.
2018-11-15 21:25:47 -08:00
Ewan Mellor
8f42439943
[Swift] Remove unused constructors.
...
Remove unused constructors from ATNConfig and DFAState, and merge two
by using a default parameter instead.
2018-11-15 21:25:47 -08:00
Ewan Mellor
176d92d373
[Swift] Tighten up the permissions on lots of fields
...
Tighten up the permissions on lots of fields, for debuggability.
2018-11-15 21:25:47 -08:00
Ewan Mellor
623fe00fb7
[Swift] Change a whole bunch of "final var" to "let".
...
I think that there was some confusion when the original port from Java
was done, because "final" in Java is not the same as "final" in Swift.
2018-11-15 21:25:47 -08:00
Ewan Mellor
e01d0be92c
[Swift] Remove implicitly unwrapped optional from ATN.grammarType.
...
This is set in the constructor and is never nil, so this wasn't doing
anything.
2018-11-15 21:25:47 -08:00
Ewan Mellor
9ca1a9e158
[Swift] Remove ATNState.INITIAL_NUM_TRANSITIONS.
...
This was brought over from the Java runtime in the initial port, but there
it was used as an array capacity hint. We're not using it in Swift so
this is useless.
2018-11-15 21:25:47 -08:00
Ewan Mellor
8a34dcdcf9
[Swift] Move doc-comment.
...
This was attached to the incorrect method in the initial port from Java.
2018-11-15 21:25:47 -08:00
Ewan Mellor
3deb4d91e6
[Swift] Remove OrderedATNConfigSet.
...
This is a subclass that only exists to have a different constructor. There
is no need for this construction in Swift, since we have named parameters,
so we can remove the entire subclass and make ATNConfigSet final instead.
2018-11-15 21:25:47 -08:00
Ewan Mellor
657ab4b3b4
[Swift] Remove OrderedATNConfig.
...
This is unused.
2018-11-15 21:25:47 -08:00
Alex Mykyta
2a3530f513
Fix install dependency for python3.4
...
Add install dependency for "typing" backport if using anything older than Python3.5
2018-11-15 20:15:39 -08:00
Ewan Mellor
768a0a66e6
[Swift] Build and test error checking.
...
Change all the subprocess calls in boot.py to check whether they succeeded,
and set the script status appropriately.
In particular, when our unit tests fail, we need the script to exit
with a failure code so that we actually notice on Travis.
2018-11-15 15:33:10 -08:00
Ewan Mellor
d275a8c97f
[Swift] Make ParserATNSimulator.precedenceTransition return a nullable value.
...
This was always clearly a possibility, looking at the body of the method.
The newly-enabled performance tests expose this bug (and I don't know how
we've gotten away with it otherwise for so long).
The Java runtime also returns null at this point.
2018-11-15 15:28:47 -08:00
Terence Parr
237ba0f9e1
Merge pull request #2406 from vinoski/cpp-any-fix-is
...
Do not throw std::bad_cast from antlrcpp::Any::is
2018-11-15 13:21:53 -08:00
Ewan Mellor
8cd798431d
[Swift] Change getStateToAltMap to use Int as the dictionary key, not ATNState.
...
The ATNState hashValue and == override are just using the stateNumber field, so
using the Int directly is equivalent, and saves bouncing through those methods.
This also seems to be a correctness issue with the new Hashable protocol changes in
Swift 4.2 (though I admit that I don't know why).
Remove PredictionMode.getStateToAltMap, which was just a stub onto
ATNConfigSet.getStateToAltMap and didn't seem to be doing anything useful.
2018-11-15 11:26:09 -08:00