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
5e5476a61a
Merge branch 'master' of github.com:antlr/antlr4
2018-12-18 10:32:05 -08:00
parrt
573cb86705
[maven-release-plugin] prepare release 4.7.2
2018-12-18 10:31:44 -08:00
Terence Parr
ab08f43746
Merge pull request #2443 from parrt/master
...
prep for 4.7.2
2018-12-17 16:16:31 -07:00
parrt
9f6dfb1809
Merge branch 'master' of github.com:antlr/antlr4
2018-12-17 14:43:34 -08:00
parrt
4ccf715bc4
tweak script
2018-12-17 14:43:23 -08:00
Terence Parr
d7e0f4b3fc
Merge pull request #2309 from scadgek/patch-1
...
Avoid StringIndexOutOfBoundException
2018-12-17 15:40:39 -07: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
Terence Parr
b3f00ca72a
Merge pull request #2426 from hannemann-tamas/master
...
virtual dtor for ParseTreeProperty
2018-11-30 09:40:51 -08:00
ralf
80230131ac
added virtual dtor to polymorphic class template ParseTreeProperty and added myself as contributor
2018-11-29 11:03:49 +01:00
ralf
7fdec95d15
added virtual dtor to polymorphic class template ParseTreeProperty
2018-11-29 10:44:47 +01:00
Terence Parr
8268fdd957
Merge pull request #2423 from ericvergnaud/fix-illegal-dict-key
...
fix NPE
2018-11-25 09:08:45 -08:00
Eric Vergnaud
56186d9e9f
fix NPE
2018-11-26 01:03:36 +08:00
parrt
5faa48a645
fix https link issue; fixes #2422
2018-11-22 14:17:51 -08:00
Terence Parr
62b1cf8a4f
Merge pull request #2421 from prateekgulati/patch-2
...
Updating current directory in classpath
2018-11-22 11:46:30 -08:00
Prateek Gulati
aa503dfafb
Updating current directory in classpath
...
Otherwise it throws "Can't load Hello as lexer or parser" error
2018-11-22 15:03:09 +05:30
Terence Parr
180f1af968
Merge pull request #2420 from prateekgulati/patch-1
...
Updated antlr version for windows
2018-11-21 09:46:35 -08:00
Prateek Gulati
1d6f03aecf
Updated antlr version for windows
2018-11-21 16:26:21 +05:30
Terence Parr
5fc056d1d1
Merge pull request #2358 from KvanTTT/AssignTokenNamesToStringLiteralsInParseRuleContexts
...
Assign token names to string literals in parse rule contexts
2018-11-19 11:06:42 -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
Terence Parr
eaa7e32001
Merge pull request #2418 from ericvergnaud/fix-#1955-javascript
...
Fix #1955 javascript
2018-11-18 09:13:14 -08:00
Terence Parr
be49141903
Merge pull request #2417 from ericvergnaud/fix-#1955-python
...
Fix #1955 python
2018-11-18 09:12:25 -08:00
Ivan Kochurkin
2f7c5bfe4a
Add AssignTokenNamesToStringLiteralsInGeneratedParserRuleContexts and AssignTokenNamesToStringLiteralArraysInGeneratedParserRuleContexts unit-tests
2018-11-18 15:54:20 +03:00
Ivan Kochurkin
70e3e5de70
ElementFrequenciesVisitor: override stringRef(TerminalAST ref) for correct processing of arrays of string literals
2018-11-18 15:54:20 +03:00
Ivan Kochurkin
d3745c7b93
RuleFunction: process STRING_LITERAL along with RULE_REF and TOKEN_REF. Add getRuleTokens method
2018-11-18 15:54:20 +03:00
Ivan Kochurkin
0a6dbc37b7
Grammar.java: add getTokenName(String literal) method
2018-11-18 15:54:20 +03: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
Terence Parr
46a5f29fc8
Merge pull request #2410 from ewanmellor/swift-tidyups
...
Swift tidyups
2018-11-16 08:47:42 -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