Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Excess token consumption during recovery #795

Closed
michaelpj opened this issue Jan 19, 2015 · 11 comments · Fixed by #797
Closed

Excess token consumption during recovery #795

michaelpj opened this issue Jan 19, 2015 · 11 comments · Fixed by #797

Comments

@michaelpj
Copy link
Contributor

The method recoverInline in ANTLRErrorStrategy returns a Token, however, in my generated parsers, I see it used like this:

        try {
            enterOuterAlt(_localctx, 1);
            {
            setState(479);
            _la = _input.LA(1);
            if ( !(_la==TKminus || _la==TKplus) ) {
            _errHandler.recoverInline(this);
            }
            consume();
            }
        }

That is, the Token produced from recoverInline is ignored.

This can lead to excess token consumption, as the DefaultErrorStrategy will call consume if it deletes a token, returning the matched token. (It calls it first in singleTokenDeletion to delete the token, but then again in recoverInline). But then the parser will consume once again, so we also consume the token after the one we wanted.

Needless to say, this can really mess up error recovery.

It's not clear to me from the documentation of recoverInline whether a successful return indicates that the token has been consumed or not. I suspect it does, since singleTokenInsertion does not in fact insert a token into the stream that could later be consumed. Hence, the fix is probably just to put the generated consume in an else block.

@michaelpj
Copy link
Contributor Author

This is with 4.4 - I haven't tried with 4.5 RC1 yet.

@parrt
Copy link
Member

parrt commented Jan 19, 2015

The goal of in-line recovery is to modify the token stream such that there is a chance the parser can continue from the current error. Can you give me the grammar fragment? It still looks okay because if the current input symbol is not a plus or minus, the recovery will consume tokens until it sees one in look ahead (not consumed), which will then be consumed by the mechanism afterwards. We have not seen any bugs related to this. Is this merely an efficiency issue?

@sharwell
Copy link
Member

The result of recoverInline is assigned to the label variable if your token in the grammar is labeled.

There are three different behaviors the default implementation of recoverInline gives. Suppose you are trying to match a token Y followed by Z.

  1. If the input sequence is LA(1)=X, LA(2)=Y, (i.e. skipping X will allow the parser to match Y), then we call consume to skip X and then return LT(1). This code path should work fine. When the call returns, LA(1)=Y which means we should call consume (which it does). See below
  2. If the input sequence is LA(1)=Z, then assume the Y is missing, and we construct a new token Y. When the call returns, LA(1)=Z which means we should not call consume. This code appears to have a bug.
  3. If neither of the above work, then throw an InputMismatchException. This code path should work fine.

@michaelpj
Copy link
Contributor Author

Here's a more complete fragment:

    public final SimpleIdContext simpleId() throws RecognitionException {
        SimpleIdContext _localctx = new SimpleIdContext(_ctx, getState());
        enterRule(_localctx, 50, RULE_simpleId);
        int _la;
        try {
            enterOuterAlt(_localctx, 1);
            {
            setState(457);
            _la = _input.LA(1);
            if ( !(_la==Lowerid || _la==Upperid) ) {
            _errHandler.recoverInline(this);
            }
            consume();
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            _errHandler.reportError(this, re);
            _errHandler.recover(this, re);
        }
        finally {
            exitRule();
        }
        return _localctx;
    }

This is generated from the rule:

simpleId : Lowerid 
         | Upperid 
         ;

I think we're on the same page as to what recovery is supposed to do, but I don't think that lines up with what the DefaultErrorStrategy does.

Notably, here we're in your case 1., Sam. But we see that we've already deleted the offending token, and then we consume again. I think that means we actually consume Y as well before we return. In that case it's not safe to call consume.

I think you're correct that path 2. has a bug as well, but that wasn't the one I hit ;)

@michaelpj
Copy link
Contributor Author

(Crucially, singleTokenDeletion already consumes the token we want to skip.)

@michaelpj
Copy link
Contributor Author

And apologies for the red herring - whether the return value of recoverInline gets used is irrelevant. The problem is just the unconditional consume in the parser.

@sharwell
Copy link
Member

So the solution is putting the generated call to consume in an else block.

Edit: Which is exactly what you said.

@michaelpj
Copy link
Contributor Author

I believe so - that fixes the bug in path 1., and I think it also fixes the bug in path 2. singleTokenInsertion doesn't actually add a new Token to the stream, so we never want to call consume after we do that.

Path 3. is of course okay as we're in an exceptional control flow at that point.

@sharwell
Copy link
Member

👍 Nice analysis here.

@michaelpj
Copy link
Contributor Author

Alright, I'll see if I can whip up a test case and send a PR your way.

@parrt
Copy link
Member

parrt commented Jan 19, 2015

cool. I'll integrate for 4.5 if you can get it to me quickly. thanks very much Michael! Don't forget to add yourself to the contributors list as part of the pull request.

@parrt parrt added this to the ANTLR 4.5 milestone Jan 19, 2015
@michaelpj michaelpj changed the title Result of recoverInline is ignored, leading to excess token consumption during recovery Excess token consumption during recovery Jan 20, 2015
parrt added a commit to parrt/antlr4-python3 that referenced this issue Jan 21, 2015
sharwell added a commit to sharwell/antlr4cs that referenced this issue Jun 8, 2016
f2412b0 Merge remote-tracking branch 'antlr/master' into update-branch
6ae2f8f Build XPath lexer with version 4.5.3
47cd4d5 Merge pull request #23 from sharwell/release/4.5.3-opt
03a234e [maven-release-plugin] prepare for next development iteration
09f3894 [maven-release-plugin] prepare release 4.5.3-opt
f114a78 Merge pull request #22 from sharwell/update-metadata
8132350 Use an older version of bnd when running on Java 6
7a206c4 Merge pull request #21 from sharwell/coverage-badge
57e6e76 Updated OSGi metadata for runtime bundles
40bebaa Add code coverage badge to README
b029e10 Fix JaCoCo enablement and include normal report
8b5b489 Use report-aggregate instead of report
93df322 Disable code coverage reporting for Java 6
465ed57 Enable code coverage reporting
5c054a6 Increase memory for Maven builds
1d417d7 Merge commit 'cd0913712a86e6a10feeb01966225b293d201e10' into optimized
b4ac3b1 Merge commit '67c0ff5d78ebd8a2d4cd9a8957d5f671c70b9cde' into optimized
893df2e Merge commit '05b50325a84a81879933e41c92e66cc72f207cdc' into optimized
4a5f038 Merge commit 'c77c2a39e9d6048c55dde540f2ee598b58c768ba' into optimized
ca73c9f Merge commit '7b602e60541acb3807adb97199bc4455f4f5ba89' into optimized
d106c5d Merge commit '2cd8cc0e70132210fc0bb0776b9511511a378cfb' into optimized
fadf0de Merge commit '84588075de065593d62efdd629be73c0ace0c16a' into optimized
20c1d6b Merge commit '1e6b4efb5f0eeb2a0b9ff116bbd4e1891f72de17' into optimized
1e22ac4 Merge commit 'e3eaeeb542e90c8685464b0c544e6dd78f098d1e' into optimized
dad4b95 Merge commit '6439b40d09a8bba8bfacfbcfc338ddf39ef1da62' into optimized
bc5edf5 Merge commit '0f1516b7985b0fad1f342943a2be07473acd86dd' into optimized
390fcd6 Merge commit '4115a0ad4702a2fd2162f3ca11a7befb5ff277ba' into optimized
2f079a9 Merge commit '226755955071b8f85963324f3510a642fdcd645a' into optimized
7beb648 Merge commit '4c063ee7694450c116bd45faf9a192333098a4d2' into optimized
95c75f8 Merge commit 'a319ea4b3ecec4018df351b9c0724052cab9aaa2' into optimized
7b3ab26 Merge commit '4bee04f1140cfc138cf22a3a36759214637bfa98' into optimized
61cdaeb Merge commit '7d36891c827ef214e6c6e59c4f86772f6db89a2b' into optimized
ffabb4a Merge commit 'e3dded6ffc948e8669a3aaf455a9932b470866bb' into optimized
1032a0e Merge commit '235d1a92165423e49af20fbd95be6d2653b3537b' into optimized
c86e839 Merge commit 'd2b86997d109a9147d463de175139156a7c16983' into optimized
d430f49 add comments to "dead" code in serializer. text from Sam Harwell.
14f05bb Update releasing-antlr.md
b9ed52e Update releasing-antlr.md
b92f227 [maven-release-plugin] prepare for next development iteration
567fcc6 [maven-release-plugin] prepare release antlr4-master-4.5.3
cd09137 set code string versions to 4.5.3
91560f7 tweak doc
3d21617 need blank ctor
148aedc back out change to python versions in travis
9352c9c force 3.5 python to see if we can get travis to work.
75da31b spit out python versions
0c971a1 try specifying pythons in travis file
b78e0e9 add test and a guard in action translator. minor. Relates to https://github.com/antlr/antlr4/issues/1143
cbef19c Merge pull request #1154 from parrt/add-alt-num-to-trees
9e98714 Add ability to set parse tree internal node super class with option contextSuperClass. Provide impl in Java target that has altNum backing field.  Add test across targets to set/get alt num. Fixes #1152.
7d16438 only gen "set stop token" if finally/after actions exist.
b05d86c Merge pull request #1131 from gagern/setStopToken
9c440c5 Merge pull request #1139 from dtymon/06_fix_SemanticPredicate
4deb708 Merge pull request #1138 from dtymon/05_fix_OR_toString
0c804f0 Merge pull request #1137 from dtymon/04_lexerActionExecutor_equals
69ff266 Merge pull request #1117 from ericvergnaud/python-del-keyword
196c4d5 argh! cutt out too much last push
3a48085 a piece of another branch snuck in! del.
90d753b Add getMaxTokenType for C# vocab object like https://github.com/antlr/antlr4/pull/1146
d9272ed use python 3.5 not 3.4
5cdca22 Merge branch 'msteiger-fix-904'
ac1637c add get max token type to vocab.
1356186 add get max token type to vocab.
d74e6f4 Merge branch 'master' of github.com:antlr/antlr4
bf6e807 Merge branch 'michaelpj-left-recursive-prefix-alternatives'
f36e77f use latest python
eeea98c tweak to michaelpj's PR; alter name. Indicate this fixes #1048.
f2cbc6e Merge branch 'left-recursive-prefix-alternatives' of git://github.com/michaelpj/antlr4 into michaelpj-left-recursive-prefix-alternatives
20ad4bc Merge pull request #1127 from gagern/patch-1
1beb8fe add "return" to python3 keywords
41a1960 Merge branch 'master' of github.com:antlr/antlr4
9655a92 Merge pull request #1149 from Wingpad/master
8725a8a Merge pull request #1140 from dtymon/07_fix_falsey_alt
c123a48 Merge pull request #1153 from reitzig/patch-2
65341a3 Merge pull request #1116 from reitzig/patch-1
7b9a7b5 Update contributors.txt
cd9ed40 Merge branch 'master' of github.com:antlr/antlr4
4bc7083 Merge pull request #1130 from gagern/javadoc
1075647 Signing contributors.txt
2c71663 Fix Javadoc errors
e4a4253 more impl of get/set alt num; update doc
420f4e0 Update contributors.txt
6ca812e Add Vocabulary.getMaxTokenType()
fa10ca6 add method to RuleContext
67c0ff5 Merge pull request #1151 from beardlybread/master
ba64a1e documentation typos
93b1fa5 Fixing Issue #1148, Python Target Generates Invalid Code With Rule Named 'Return'
eb5af71 JS: ATNConfig can incorrectly change "alt" of 0 to null
5e176e4 JS: SemanticPredicate should be SemanticContext
0dbb12a JS: Fix copy-and-paste error in OR SemanticContext toString() method
0262aac JS: LexerActionExecutor equals() should do deep comparison of Actions array
e3e3f2b Set stop token in postamble
eef470a Format feature parity table as markdown table
5967674 Track 'prefix' and 'other' alternatives together
b1b2579 Add tests for alternative precedence in left-recursive transformation
99b2d66 added missing del keyword to Python targets
1fa0be9 Fixes Markdown table in targets.md
d0fb48c Merge pull request #1103 from ericvergnaud/master
832903a Merge pull request #1110 from parrt/pull-1081
ae8ea83 reopen PR #1081
7b4e85b Merge branch 'master' of github.com:parrt/antlr4
b0196bc fixes #1108
7a59e92 latest version of honey-require
184f711 [maven-release-plugin] prepare for next development iteration
dcca95d [maven-release-plugin] prepare release 4.5.2
a0204f2 update doc
c92ddcb update version to 4.5.2 in source / packaging stuff.
29a875d tweak release doc
08f3ad7 [maven-release-plugin] prepare for next development iteration
c5a2965 [maven-release-plugin] prepare release 4.5.2
fa6f674 [maven-release-plugin] rollback the release of 4.5.2
009f3ca [maven-release-plugin] prepare release 4.5.2
6b31cea [maven-release-plugin] rollback the release of 4.5.2
6b3f981 [maven-release-plugin] prepare for next development iteration
b446c50 [maven-release-plugin] prepare release 4.5.2
2d9f2b5 add travis status
c15e159 Merge branch 'dtymon-01_fix-missing-requires'
7b4e508 tweak contrib
8fbf46b why oh why does intellij skip changes when i push?
664d778 Merge pull request #1094 from Pursuit92/master
2b9f5de Merge pull request #1090 from pboyer/patch-3
9a053d6 Merge pull request #1084 from dtymon/03_lexerActionExecutor_hash_string_clash
da27381 Merge pull request #1083 from dtymon/02_ll1analyzer-incorrect_atnconfig_ctor
c0ebb3c Merge branch 'dtymon-add-contrib'
121aba1 pull in contrib
cfa0174 Merge branch 'pboyer-patch-1'
ca5f65c Merge branch 'patch-1' of git://github.com/cooperra/antlr4 into cooperra-patch-1  Fixes #1081
34787c0 Merge branch 'patch-1' of git://github.com/cooperra/antlr4 into cooperra-patch-1  Fixes #1081
49cc92a Merge pull request #1060 from ericvergnaud/missing-js-visitor-methods
80b7d5a Merge pull request #1099 from parrt/master
7e6af55 Merge branch 'master' of github.com:antlr/antlr4
7b517f0 Merge branch 'cooperra-patch-1'
3a733af Merge branch 'patch-1' of git://github.com/cooperra/antlr4 into cooperra-patch-1
5299d43 Merge branch 'patch-1' of git://github.com/cooperra/antlr4 into cooperra-patch-1
f870566 Merge pull request #1085 from gfx/remove_awt_deps
9c6e212 Update creating-a-language-target.md
7d478b1 Only run the maven plugin when needed.
6bb2419 Update ace-javascript-target.md
cceda58 One  more
c432ce8 Update ace-javascript-target.md
a1c6323 JS: Added 'require' statements are missing the class names
4a1ec7d Remove Utils#waitForClose()
f77a8c9 Sign contributors list
8127946 JS: LexerActionExecutor cached hash string name clashes with function
f40ce5a JS: LL1Analyzer passing PredictionContext incorrectly to ATNConfig constructor
0455e0a JS: Fix missing 'requires' statements
8eaea91 Fix merge conflict in contributors
6a7cae8 Update contributors.txt
ac3d785 Merge pull request #1067 from sebadur/patch-1
a631e30 Signed to contributors.txt - Also implemented sharwell's suggested changes of originally pull request
3876cc6 Fixing typos in listeners.md
797dd82 Fix mistake in tokenIndex bounds check
c651c83 fix #1058
01e6923 Merge pull request #1059 from parrt/KvanTTT-master
1438ab8 why oh why does intellij skip changes when i push?
99563b1 merging KvanTTT changes.
a072f59 Merge branch 'master' of github.com:antlr/antlr4
e7ba496 tweak doc
6068a4a Merge pull request #1054 from abego/patch-4
36d8d41 Merge pull request #1046 from abego/extraNullCheckInTestRig
6da877e Merge pull request #1053 from abego/patch-3
bd947c9 Merge pull request #1055 from abego/patch-5
b9b1afe sign "contributors.txt" file
10edd9a Possible NullPointerException in ActionTranslater#translateActionChunk
0857dc4 Doc: more details on remotes `origin` and `upstream` in local Git repo
8d62034 Merge pull request #1052 from parrt/master
15f69d6 this->self.
8a4aa39 fix links
3726992 Merge pull request #1051 from parrt/move-doc-to-repo
292dce4 add more doc
5aa8b29 add more doc
e107341 more doc
1c3b451 add more doc
73f0421 add more doc
586bcd2 Merge branch 'master' of github.com:parrt/antlr4 into move-doc-to-repo
05b5032 Merge pull request #991 from michaelpj/sync-before-predict
3fa8cfe add more doc
a71ffbe Extra 'null' check in TestRig#process
42cb08f Add proper qualifiers to the JS and Python errHandler calls
b48c86c Use correct sync method in C# codegen
f6920d8 add more doc
3abca79 Add cooperra to contributors.txt
c77c2a3 Merge pull request #1031 from HSorensen/patch-1
99f818b Merge pull request #1032 from HSorensen/patch-2
bd4200b Merge pull request #1040 from ericvergnaud/update-javascript-package
98abfc1 Update GitHub references in npm package
fd21669 add fuzzy doc
12e25a2 add lexer rule doc
edc0474 add more doc
a441b29 fix javadoc arg in pom, update javadoc instructions
fcffaca fix index
9b682b6 add to index
3b00c09 parser rules doc in
1232e1b table messed up
d6a075b mid-addition of parser rules
dcbe2ae TreeViewer: Fix NPE
147b7eb fix grammars
4d3e508 fix grammars
4aa9a6d add grammars
2401e96 add lexicon
b2db71a got doc in on adding tests
7be6ff5 getting antlr build doc in
d692e1f Fixed @sharwell remarks: typos and etc.
84c283c Update TestRig.java
8e286bb first doc commit
66c0aeb first doc commit
78fde76 first doc commit
8aac8e7 Merge branch 'master' into move-doc-to-repo
e92a0e9 Merge pull request #1030 from parrt/move-faq-to-repo
85f453d finish adding the faq
35dc46e adding more faq
35bf8c4 adding a few sample faq files
25c8c88 adding a few sample faq files
52d45fe add index of faq
7be5962 finish adding the faq
4cd24f8 Merge pull request #1029 from parrt/hkff-master
482d8d4 resolve contrib conflict
3e79f72 adding more faq
c8e022f adding a few sample faq files
77aa9ff adding a few sample faq files
48b7771 Merge pull request #1027 from parrt/HSorensen-javalr-fix
a2fb725 resolve contrib conflict
f25747d Merge pull request #1028 from parrt/brwml-master
f662966 resolve contrib conflict
2e5cbc2 add index of faq
2106fdc contributors.txt signed
ce50312 resolve conflict in contributors file
5148e15 Merge pull request #1026 from martin-probst/master
3756ae3 added myself to contributors.txt
af9e8a1 fix #1023: getExpectedTokens() returns out of context tokens on consecutive runs
e051b1a Fixing BufferedTokenStream.getTokenStream() calls
0e09f8b Adding getTokenSource in BufferedTokenStream
1ed689c Handle left-recursion overloads by disabling ambiguous method reference warning.
9fbef85 Updated contributors list.
8bf480d Fixed non-informative NullPointerException. Empty strings now not allowed. fixed #959.
3ae2b34 Resolve unlabeled left-recursive rules method names.
8f53a8e Resolve overloaded labeled method. When left recursion is used the rule method is overloaded. When not resolved a C# compiler is generated and defaults to the parameterless method. This explicitly sets it to the parameterless method.
8abc110 Merge pull request #1012 from ericvergnaud/lexer-bug-in-javascript-runtime
2f1ea39 Merge pull request #1019 from fedotovalex/contrib
f3fcc72 Signed contribution agreement.
84fbffd Updating contributors file.
78427ba Fixed typos in comments.
a7a9804 Restrict certain token, channel, mode names. fixed #1015
935c25b Removed wildcard imports.
fce6c08 Update doc comment in C# target base listener and visitor classes to use correct method name.
a14ba03 Changed error code (170), added grammar sample to description.
a87ac86 Error in case of mode conflicts with token. fixed #996
3e80713 local replica of #1010
158ef2c same fix as #1010
1b01140 Useful information for code completion
a3b2776 fix type
dfced27 Added contributors from master
7a031a8 Added myself as contributor
417c208 Merge pull request #1 from antlr/master
f2877d5 Prepare for merge
3bdc4b7 Merge branch 'worsht-master'
ca467f2 fix merge in contrib file
7a37322 Adding name to contributors
dfe05b5 Merge pull request #997 from krzkaczor/master
230221a Merge pull request #995 from ericvergnaud/fix-maven-test-scope
7b602e6 Merge pull request #993 from ericvergnaud/minor-javacript-bug-fixes
5c101e7 re-enable full csharp test suite
7beb07b SUCCESS!!!! All ANTLR targets successfully build and pass tests on travis-ci!
2f082e2 fix mono 3.12.1 stack overflow on ubuntu with 60k+ string concat expression #2
7743e44 fix mono 3.12.1 stack overflow on ubuntu with 60k+ string concat expression
2cea588 get errors from xbuild
f21ec58 More info, maybe?
6d859a5 Get compile error for failing test
8bf760a now try mono
95578de fix maven warning
f804d12 need PR #993 to run on TRAVIS-CI
cbd3fad fix maven warnings
e255480 added myself as contributor
55fce54 reverted fix
68cdaea now trying mono!
50e1512 ok, now locate python3.4!
41f2455 better with autoconf?
a3c071a and again
14ade86 and again
cb75cce and again
986d00a missing 'new', thanks Mike
e5f011a #999: Using unicode(c) instead of str(c) to avoid exception when unicode string contains high byte chars
50cc266 and again
6c4e56c try 3.4 again
b2d771e fixed bug that prevented run on nodejs
7a74809 added proper visit function in ParseTreeVisitor
41a7833 print python version
9d3a8e8 and again
332e2e0 and again
ac05695 rollback travis yaml
70c3372 try again
0e9f19f travis install requires sudo
f05c996 force travis build
fce545b try installing python3
377fd29 try again
6e9680f trying to get python3 tests to run on travis-ci
f7a9a73 fix test generation parameters, enable non-java targets
a24b4fd fix TestGenerator unclear path detection, enable generation of all targets except javascript browsers
488f7b9 was failing when ran in NodeJS
66bd976 Merge pull request #989 from ericvergnaud/make-require-worker-compatible
ac64b03 Merge pull request #988 from ericvergnaud/fix-javascript-generation
1e89482 Actually, Torben was kind enough to fix the require version from Smoothie, moved to a new framework called Honey, and to switch to the MIT license. So dropped my version, which also required some fix for Safari, in favor of this one that I don't have to maintain
0c29b54 Update generated test source
09588d2 Update templates for other languages similarly
af00e52 Correctly append newline to test output
797cf08 Delete remaining commented out syncs.
940cbcf Uncomment syncs before adaptivePredict
6c0b7d9 Improve compatibility across contexts: nodejs, web ui and web worker
e7cdc22 Largely rewritten to support usage in web worker thread without breaking compatibility with NodeJS require
a80052f Fixed a bug when locating JavaScript runtime, and refactored common code
b65d521 Fix test generator to support browser tests generation when generating all tests
ebf8b9a Fix templates which were referring to a missing class
bf00f6b Switch to selenium v46
ee3d29c Fixes an issue pointed out by Mike Cargal, where null literals where registered as 'null' instead of null in both lexicalNames and symbolicNames, thus resulting in erroneous error messages when handling parsing errors.
4617daa Merge pull request #987 from ericvergnaud/improve-hashing-performance
27855f7 remove slow asserts
d7d59c5 more tuning
1b3f744 typo
295d235 typo
980072b more tuning
3a10724 typo
1b5437a more tuning
2f4f36d typos
e6d27c7 use native tuple hash instead of str hash
164a34b use native tuple hash instead of str hash
cfb557c add performance test
c07aa4e [maven-release-plugin] prepare for next development iteration
3611fde [maven-release-plugin] prepare release 4.5.1-1
53ec195 Merge pull request #983 from jvanzyl/master
9623d95 Add Main-Class attribute to shaded tool JAR
88f0fda Update README.md
869bf03 Update README.md
4bd204e Revert eclipse project specific setting
1072ace remove uncessary sourceName variable
6320090 Fix whitespace damage
86980fa Proper check of JavaLR vs Java grammar
cabb96f Add myself to contributers.txt
eede25c Added eclipse /bin/ folder
c158777 Rename tool-testsuite/test/org.antlr.v4.test.tool.Java-LR.g4 to JavaLR.g4
3c08f49 Fix NameError in LexerATNSimulator.reset()
ad6a1bd rm generated files, update a manifest
3d181af [maven-release-plugin] prepare for next development iteration
79dae1e [maven-release-plugin] prepare release 4.5.1
2cd8cc0 Merge pull request #956 from parrt/rm-manual-bild-stuff
ec14027 mvn is working well. remove bild stuff
b555099 Merge pull request #955 from parrt/move-swing-dependency
2921865 add TestRig proxy.
fcd1e54 rm unneeded plug-in from maven
b395127 move swing related stuff out of runtime package into org.antlr.v4.gui
8458807 Merge pull request #952 from ericvergnaud/clarify-nodejs-usage
7a8dc8e simpler and clearer
735b404 Merge pull request #950 from ericvergnaud/suppress-octals-in-javascript-serialization
d1eb13c Fix antlr4-javascript #36. Octal is not supported in strict mode.
5367886 rm a few local test files
050cdd1 Merge pull request #946 from parrt/master
c2dfb7f rm a few local test files
7114dcd Merge branch 'fold-into-master' of github.com:antlr/antlr4-python3
d81fa33 mv files into proper position for folding into main antlr4 repo; delete already moved stuff
40ef11a Merge branch 'fold-into-master' of github.com:antlr/antlr4-python2
fe207fb mv files into proper position for folding into main antlr4 repo; delete already moved stuff
8df10b2 Merge pull request #944 from parrt/master
6bd039e fold in history from javascript repo
c0aa3b3 get .project into position
d5fb13a rm non target language runtime files as we have them folded already into main antlr4 repo (no history)
dac66a6 mv files into proper position for folding into main antlr4 repo
147a4b3 Merge pull request #943 from parrt/master
76d5f7b Merge branch 'fold-into-master' of github.com:antlr/antlr4-csharp
631a6ae rm non target language runtime files as we have them folded already into main antlr4 repo (no history)
738d5b2 mv files into proper position for folding into main antlr4 repo
1e6b4ef Merge pull request #942 from parrt/fold-in-target-repos-experimental
a142a5b Create shaded tool JAR
398f7fc Run all Java target tests by default
c129166 we are calling the test generator directly because Jason said that was much easier than a plug-in that used during the build itself; simplifying to remove that plug-in.
661a565 rename rts to tests to make it more understandable
9de674a Correct name of runtime suite directory
5d45e15 Place the runtime and tool test suites in a separate profile
f48aa50 Add a command and README.md for the generation of the runtime test harness.
ee4bb93 Enable the generation of the runtime tests
1accfe1 rm test build stuff
a13352d Make javascript test sources compile. Jetty and Selenium required.
fd13f13 All projects are now building and tests passing from Maven
d0c3694 yet more playing with python build
7d8078c comment out a class-based testbild thingie
9fa4b03 add iml file
d4e703a figured out classpath issue
681e6c3 a test bild script that works on all but a few tool tests.
8c255b9 trying to get tests to run
e921ba6 tweak java version
f98a0a7 Fix copyright notices for maven plugins
f5b48ef manual cherrypick of Sam's https://github.com/sharwell/antlr4/commit/d74781d2fe6fe47774d0aff3818f0e923b3f5782
b05e3cc messing with poms  to get test generation in there. it doesn't seem to compiled and properly though. mvn compile works but mvn install doesn't finished compiling generated tests.
f71e225 Fix Travis configuration so the build passes
47c234a Improve m2e integration for the test generator
eeb158d rm circular dependency; update a comment
157749e Generate tests during the build
9247334 Update getTargetNameFromTemplatesFileName() to also work on Windows systems
5494e7c IDE .ipr knows how to build complete jar artifact.
dec5d26 tweak pom so it compiles in `compile` phase and `install` phase but doesn't run tests correctly.
f4709f2 tweak pom to give version of maven-jar-plugin so it doesn't fail. success reported for "maven test" but no tests run. ;)
5d2d75d looks like i had python2 and 3 swapped. java, python3, c# pass. python2, js each have same single test failing: testCharSetWithQuote1
99ad09e ok, somehow python2 runtime got overwritten with weird stuff. it passes tests again now with fresh copy.
9203dd1 add gen3/4 for now to avoid bootstrap issue
b3133ab gitignore was dropping all my target generators. ugh.
8e361ef gen all targets now pays attention to -o option. Simplified target spec. `Regen tests with java org.antlr.v4.testgen.TestGenerator -root /Users/parrt/antlr/code/antlr4` from command-line.
7b5ac5a fix Node test gen
ca80d27 tweak list of resources to no avail for testing python
da818c0 got javascript/node tests passing; folded in all js targets
8e89af9 all Python2 runtime tests pass
d1f9508 all Python3 runtime tests pass. Using same "get resource" mechanism to find runtime python code as I did for C#.
ef870a4 reset resource locations to entire runtime dir.
80b011a reset resource locations to target name under antlr4/runtime for consistency.
3b641b0 ugh. intellij missed a file for commit (again!) wtf?
6711cdf Got C# target runtime tests working by finding files as resource not relative path. updated intellij proj to include correct stuff as resources.
e8c4bc4 Manual copy/add-to-git from antlr4-csharp repo (w/o history) to show how C# target should get injected into main antlr4 repo. Pieces go into tool for code gen, runtime-testsuite, and of course the runtime module.
6d892c7 mv JavaTarget to new target package
f971839 temporarily add manual intellij project files so i can compile.
1cd4ad1 add import for BaseTest so tool tests compile. it all appears to compile and tool tests pass.
e1c2214 Ooops.  do the same update for ErrorQueue, which also moved location.
66ccef1 update test gen templates and the generated templates themselves to use the new location for BaseTest.
0430833 move ErrorQueue, used by BaseTest, to the runtime test area.
8ae7f22 move BaseTest to be in the runtime test area to be consistent with other targets.
fdcfe54 mv tool tests into their own top level directory; mv test template support .stg into the runtime-testsuite area
5ea5970 Merge branch 'master' of github.com:antlr/antlr4
905314e add NotNull back to runtime but just for backward compatibility with 4.5; deprecated
8d92173 Merge pull request #941 from jvanzyl/master
8824e35 Adding myself as a contributor
e3eaeeb Merge pull request #939 from parrt/fix-test-gen-order
9170f57 tweak TestGenerator so it sorts test names so order is always same in TestX.java files.
fcd8a67 don't allow recursive subdirs of tests
77e7d9a set new gen dir for tests runtime-testsuite/test/org/antlr/v4/test/runtime/python2 etc...
a0fbded Merge pull request #937 from jvanzyl/master
46202d9 Integrating tests for all supported targets
6439b40 Merge pull request #928 from antlr/delete-legacy-tests
5d5c582 tests are now with runtime-testsuite
6e0379d tests are now with runtime-testsuite
f290075 tests are now with runtime-testsuite
6e86f6d tests are now with runtime-testsuite
7636b74 cleanup tests template
0e24a81 Merge branch 'master' of https://github.com/antlr/antlr4-javascript
3717083 cleanup test templates
b0264f4 cleanup tests template
7025d70 cleanup tests template
0e2e135 tweak bild
aa589d5 update version
d568bcc update version
e4747ac update version
cdbfeca update version
02d5ddf tweak travis
317ce86 add dependency on tool for tests
5bb9976 gen tests in new location
015d3b2 add travis ci file
9c57b65 add unit test src for now; it is altogether from all targets
a95666e add/update warning comment
a79e7bc add/update warning comment
c67f472 add/update warning comment
3c0f3a1 add/update warning comment
459b4bb add/update warning comment
b09119e fix failing tests generation
6233317 node->nodejs executable
fe13b23 fix failing test generation
707dbb9 fix failing test generation
73fd170 add AssertIsList() template; sync with https://github.com/antlr/antlr4/commit/5c5228884570e1b0decffcb75b2966532e12524a
c8634bb add AssertIsList() template; sync with https://github.com/antlr/antlr4/commit/5c5228884570e1b0decffcb75b2966532e12524a
3cf6aa3 add AssertIsList() template; sync with https://github.com/antlr/antlr4/commit/5c5228884570e1b0decffcb75b2966532e12524a
b8b317c add AssertIsList() template; sync with https://github.com/antlr/antlr4/commit/5c5228884570e1b0decffcb75b2966532e12524a
5c52288 use template name that indicates what we're testing here. AssertIsList(v).
0330cee Use separate actions to get actions on line by themselves.
19a43e2 set version
02f325d set version
30aa734 set version
437dd36 update copyright notice
2b82632 update copyright notice
100d14a update copyright notice
cc804e5 update copyright notice
c270c5f cleanup circular import mess
dfda300 Remove forward declaration of listener/visitor, and adjust test templates accordingly
c62ed0b Fixes #29
44bee0e Merge pull request #11 from superraz375/patch-1
232d734 cleanup post fix #8
3f23144 Fix #8
c82440b >Fix #14
98de3a7 renamed files
c10ff60 renamed files
e92555a fixed closure test template
57b77c5 fixed closure test template
70fa6b2 fixed closure test template
ab5ec55 fixed closure test template
2b0a58e broken template
eb390c9 fix broken template
162c613 rm unused template
214a4b7 fix case sensitive env
cfd9641 fix case sensitive env
82d0cbc add missing template
70aad39 missing template
4dabde4 missing template
7007395 fix #40
bb6308f fix #40
7f22155 Tweak package for Python support code.
6c9a674 import common code from package python not python2; given the change in package, requires an import
9956b3e Merge pull request #43 from jcbrinfo/patch-1
957fc82 Revert "rename package to python2 for consistency with other target and to make it more clear; hope that is okay"
06730fc delete legacy test generator and generated tests
1534a97 delete legacy tests
be0828c delete legacy tests
d18c74e delete legacy tests
6df5213 delete legacy tests
373c148 generated tests
b47e821 fix test generation template
3fcc24f generated tests
6dd2376 cleanup test generation templates
91373cb obsolete
61d67ed generated tests
f1d9e7c fix test generation template
408856a missing import
9ae9511 generated tests
bde6408 fix test generation templates
708227c bug where a character would be consumed when already consumed by error recovery mechanism
cbb3ace missing import
0f1516b Add missing copyright notices. Improve comments.  Construct new temporary parsers of the same class as the original parser. a rename.
8059431 Merge pull request #923 from sharwell/rm-iml
560b2b4 Remove the three remaining .iml files
c91ce73 improve gitignore
4115a0a Merge pull request #913 from sharwell/fix-909
e8c6b32 Merge pull request #921 from jvanzyl/master
cfc10ce Use variable for project version
f661f41 Merge branch 'jvanzyl-master'
8beec18 Add Maven build
2267559 yet more ide .xml changes
74fbf38 make Predicate consistent with java 8
55a33fb add missing
84b193a Fix `LexerNoViableAltException.__str__`.
e9d62bb Merge pull request #918 from parrt/add-heavy-interp-tests-and-support
a9ca2ef add tests, refactor get-all-parse-tree stuff. add Trees support routines.
0faea5e rename package to python2 for consistency with other target and to make it more clear; hope that is okay
ab6b292 rename package to python2 for consistency with other target and to make it more clear; hope that is okay
e0c6210  added a comment and removed redundant array creation from varargs.
b742bbd Merge branch 'master' of github.com:antlr/antlr4
35794c4 Merge pull request #917 from antlr/enable-one-shot-tests-generation
84d3e3d refactor for consistency
21802a2 refactor for consistency
6937773 updated test generation templates
4499344 added -root parameter to generate all targets
4e11aa2 Revert "refactor tokens.size() to be size()"
fcae921 Merge pull request #916 from parrt/master
5f2ce89 improve robustness
7e8a7ba Improve tree highlighting
4c063ee Merge pull request #915 from parrt/master
dc150f4 refactor tokens.size() to be size()
0e692ed  allow users to override the TreeLayoutAdaptor
a319ea4 Merge pull request #914 from parrt/add-heavy-parser-interpreter
1c19c70 convert map to int[][]
204cf12 mv latch check for speed.
11726e0  update the comments.
94bef38 add new interpreter that knows how to track alternatives in rule nodes; some cleanup and improvement to other interpreter
4bee04f  I do not properly add the unit test
849cb09 duplicate
1c2d71f Merge remote-tracking branch 'origin/master'
fece2e1 Fix tests generation
3c9aabf Move TestPerformance.testExpressionGrammar to the runtime test suite
591dca7 Merge pull request #912 from parrt/add-TokenMismatch2-test-using-new-mechanism
441587e add new unit test corresponding to https://github.com/antlr/antlr4/commit/2e06ed8360b8df2cbdca1da73b3bd7de589a910f
0ff5806 Merge pull request #911 from parrt/mv-javascript-to-new-test-gen
228eae5 reorder templates a bit
1068dff reorder templates a bit
871b0eb reorder templates a bit
16f2e16 copying old support code and templates to new test area; corresponds to https://github.com/antlr/antlr4/pull/911 in main repo
ad0239f got all tests passing for js and changed order of test gen templates
92c57d9 copying old support code and templates to new test area; corresponds to https://github.com/antlr/antlr4/pull/910 in main repo
21740a4 Merge pull request #910 from parrt/mv-python2-to-new-test-gen
3ddb259 got all but 2 tests passing for py2!
b933496 rename python dir to python2 for consistency
775237b copying old support code and templates to new test area; corresponds to https://github.com/antlr/antlr4/pull/906 in main repo
7d36891 Merge pull request #906 from parrt/mv-python3-to-new-test-gen
fcc1590 got all but 4 tests passing for py3!
cd4d6b8 dont throw away exceptions and add more error messages
e3dded6 Merge pull request #893 from sharwell/test-generation
235d1a9 Merge pull request #902 from parrt/add-error-nodes
d2b8699 Merge pull request #901 from parrt/master
12a3694 actually just show text of erroneous token in red in treeviewer.
8524630 show <mismatched actualtokentext> not one of the expected.
4c132b8 Fixes #899. Add error nodes to interpret or parse trees.
dfeaada LookaheadEventInfo now tracks alt taken by decision.
a3ddd82 Merge pull request #898 from parrt/check-eof-in-tree
ed41558  comment tweak.
b8035d3 small speed tweak
a28b299 reset new boolean
81e2a65 clean up per Sam
94bb7c0 Fixes #897. An empty rule matched at the start got an improper interval. updated documentation for getSourceInterval(), added unit tests. fixed logic for special cases.
9e5cda8 Fixes #896. EOF was not counted in source interval.
2da28ee add test showing EOF leaf not in source interval of tree
738ee06 Revert "fix #39"
87cb099 Revert "fix python3 #39"
3be06ed Revert "fix "java-escape" bug in generated parser"
2527290 fix "java-escape" bug in generated parser
84b54f7 fix python3 #39
334c14b added predicate to ctx.getChildren
a5d64f6 tests added
cd8daa3 fix #39
4282894 support for predicate in ctx.getChildren
162230d tests added
8cf7082 add legacy bild
700e9e5 Merge pull request #20 from sharwell/travis-config
8148937 Add build status badge for the 'optimized' branch
4910749 Configure TestPerformance to parse the ANTLR 4 runtime source code
7c1ed7a Set antlr.testinprocess=true
13f0f5a Initial Travis CI configuration
2207484 Merge remote-tracking branch 'antlr/master' into optimized
44c13bb Merge remote tracking branch antlr/master into optimized
6865fd6 Remove files which were unintentionally duplicated in commit 0c7df237
4455d52 Merge branch 'test-generation' into master
6159947 Add missing comments to FullContextParsing tests
364d984 Verify behavior of CompositeGrammars tests, and correct discrepancies
990fd9d Verify behavior of LeftRecursion tests, and correct discrepancies
2f99ca7 Add the ability to ignore tests on a per-target basis
80a881e Disable tests which rely on carriage returns in the input
12efe2f Verify behavior of lexer tests, and correct errors
37fb7a7 Merge pull request #891 from parrt/master
24ae4b9 improve gitignore
d447511 Merge pull request #889 from parrt/track-altnum-in-interp
dc445af Improve ParserInterpreter code simplicity
b58eb66 Merge branch 'master' of github.com:antlr/antlr4
cf473b4 put /gen in gitignore
2e06ed8 test added to check a user issue
2162afb Fix failing C# tests
3f9cb4b make more flexible by allowing subclass to spec test templates resource dir
3e76cfd Revert "Fix parse listener per https://github.com/antlr/antlr4/pull/880"
416630c Revert "Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser"
401d078 Revert "Fix parse listener per https://github.com/antlr/antlr4/pull/880"
9718bbb Revert "Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser"
e7933ab Revert "Fix parse listener per https://github.com/antlr/antlr4/pull/880"
2379a51 Revert "Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser"
1b0b04a Revert "Fix parse listener per https://github.com/antlr/antlr4/pull/880"
e5e928c Revert "Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser"
965a50e Revert "Fixes #879. only gen parse listener enterRule events in enterOuterAlt, not enterRule."
ddf7cfc Revert "Fixes #802. Trigger events for alt labels in parser listeners."
345bd14 Merge pull request #13 from antlr/intermediate-test-generation
44664e8 Merge pull request #885 from parrt/intermediate-test-generation
6e3484a add old stuff back in.
fec97f2 tweaks
8c2657b add more debugging/error handling
6333674 bild.py works to build c# now.
29db157 regen_test in bild.py works now
fbf3ee8 a branch to integrate new testing thing. moving around templates, deleting old stuff. C# and Java runtime tests work using branch intermediate-test-generation of C#. bild doesnt quite test stuff correctly.
1323e30 moving around templates, deleting old stuff. C# and Java runtime tests work using branch intermediate-test-generation of C#. bild doesn't quite test stuff correctly.
0c7df23 remove old java runtime test framework; reorg dirs. bild.py test_java appears to work.
fafc772 got bild to gen java tests (others commented out) and run those tests. rm'd .stg map in Index.stg.
07aea10 allow more control of root dir. add info()
a90e294 Revert "update Xamarin"
dacac82 Fix #33
0c0fc76 Fix #32
e3325ab add cmd-line interface, add map in Index.stg to targets-specific templates.
b15e669 add main to test gen.
e355fc4 Extracted code generation portion of test suite generator to a separate artifact
23cdb2e Merge branch 'test-generation' into parrt_master
d4238ea update Xamarin
a63df8b test added
b7b860f test added
d73e73a update comments, rename var.
410fafb Merge branch 'master' of github.com:antlr/antlr4
181f670 set version to 4.5.1
343d0f9 update comment
82f06f1 Merge pull request #38 from jcbrinfo/patch-2
a319a58 Do not rely on `__package__`
a98bb04 Merge pull request #37 from jcbrinfo/fix-tool-strings
acc2c25 cleanup
635e922 missing tests
7c04520 circular import bug
6421b16 cleanup warnings
7cb154f init handlers at compile time
ac273c4 Fix syntax of the generated source code (again)
22fcd94 Merge pull request #35 from jcbrinfo/patch-1
4197a85 Fix syntax of the generated source code
e331501 Merge pull request #32 from jcbrinfo/fix-python-3-2-import
d3554cf Fix import statements under Python 3.2
80bc8fb Merge pull request #34 from jcbrinfo/clean-tests
b8eb38e Merge pull request #31 from jcbrinfo/fix-python-3-2-syntax
b0bd9d1 Make tests easier to run
7d464aa Merge pull request #882 from jcbrinfo/patch-1
8270e90 Add @jcbrinfo as a contributor
89af462 Fix syntax errors under Python 3.2
85c145e Merge pull request #881 from parrt/fix-missing-arg-on-rule-ref-in-lr-rule
3e5fc69 Fixes #773. rule[arg] in non-lr rule alt didnt translate right
e248be4 Restore missing test testAlternateQuotes
131599a Fix incorrect interpretation of test ListLabelForClosureContext
ae52f27 Fix incorrect reinterpretation of ReferenceToATN test
0fcba25 Add missing test DuplicatedLeftRecursiveCall_4
a2d0995 Update debug option for tests
763906a Add original documentation back to test definitions
b3e74e4 Make template visualization optional (disabled by default)
3fe8bf3 Updated maven-surefire-plugin version
c70c1ba Disable annotation processors during testing for performance
8dce2d5 TestCompositeParsers for Java is working
cd89df9 TestSets for Java is working
99dcf93 TestFullContextParsing for Java is working
4fa9ed5 TestParserExec for Java is working
c9c32c2 TestLeftRecursion for Java is working
6890d0b TestLexerErrors for Java is working
9ce5efc TestListeners for Java is working
113b72d TestParserErrors for Java is working
c11b384 TestSemPredEvalLexer for Java is working
98bb519 TestSemPredEvalParser for Java is working
42ba8c4 TestLexerExec for Java is working
4ec94e0 TestParseTrees for Java is working
039bd22 TestCompositeLexers for Java is working
90763e5 Rewrite test generator as a Maven plugin that generates tests as part of the build
b7e5bfc Fixes #846. rm target file before rename in bild script.
4daf311 Fix parse listener per https://github.com/antlr/antlr4/pull/880
fb0e1c0 Fix parse listener per https://github.com/antlr/antlr4/pull/880
91abacb Fix parse listener per https://github.com/antlr/antlr4/pull/880
b5bebb4 Fix parse listener per https://github.com/antlr/antlr4/pull/880
c2ea6aa Merge pull request #880 from parrt/fix-parse-listeners
a8b6714 Fixes #879. only gen parse listener enterRule events in enterOuterAlt, not enterRule.
8f2eca5 added playground stuff
4f0afdc  set error number so it does not conflict with Sam's fork.
9cd727b Add properties to enable access to Lexer fields
e604167 add common to parse tree listener
76e1695 Merge pull request #29 from antlr/pygrun
c9e0101 add py3 grun tools by jszheng.  He signed contributors license 2015/04/29
7af43f6 Merge branch 'master' of github.com:jszheng/pygrun into pygrun
350d17f Merge pull request #878 from peturingi/patch-1
b2db5d1 Merge pull request #842 from peturingi/master
1fad604 Added my name.
3279685 had to update base test
23b3142 rm NotNull
920ea05 update version so 4.5.1 tests builds
6012c4f Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser
b735896 Merge branch 'master' of github.com:antlr/antlr4-python2
b295662 Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser
9dab453 Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser
b539521 Equivalent changes for https://github.com/antlr/antlr4/pull/875 to java runtime Parser
0883dc5 rm test Eric says I can
db076c7 rm test Eric says I can
62783dc update version so 4.5.1 tests/builds
23c6ef4 update version so 4.5.1 tests/builds
20d54d8 update version so 4.5.1 tests/builds
0956cf1 missing last char
0e9a973 Merge pull request #51 from RedTailedHawk/master
baa0ca4 Added ttype parameter to ParserRuleContext.getChildren()
355d016 Merge pull request #10 from ViceIce/master
704cd08  Fixes #9: Wrong property name when building for target framework version v4.5.
3d9ec81 Merge pull request #50 from lukekras/master
28cd70c Added StdinStream to antlr4 package
2994a0a Added Stdin specialisation of InputStream.
1d37bf8 fix typo in channel handling + reserved keyword
1aed4b2 fix typo in channel handling
b63ce19 initial version
a79f8f2 fix #25
299fe38 fix #25
4f14b38 fix npm deliverables
668cbba update md for npm release
f0edad9 prepare npm publish
f70dfea fixes #25
e352895 Merge pull request #47 from rljacobson/master
ac189c1 Fix for issue #46: bug in getChild() in ParserRuleContext.
415d709 Merge pull request #45 from RedTailedHawk/master
94cd2c7 Added optional predicate parameter to ParserRuleContext.getChildren(), and renamed param in getChild() to avoid warning (type is reserved)
f2f477d npm compatible version
e64dbae Update IntegerList.java
0d5e471 Update IntegerList.java
bae2ba5 Added error checks.
604ef2a Fixes #15
dfbc833 Missing code, fix #20
85a0e75 Additional fixes for #21
388ad01 Merge pull request #43 from RedTailedHawk/master
c443687 Fixed more indents
727c88b fixes #21
98e8c23 Merge pull request #42 from RedTailedHawk/master
f669c48 Merge pull request #41 from RedTailedHawk/master
a8ab1ce Fixed some indents
5a7c288 Copy fix from python2
0ef754c Missing whitespace
f24db49 Merge pull request #39 from RedTailedHawk/master
98cf04b Fixed typo: self._buildParseTrees --> self.buildParseTrees
3bf1a16 added tests for params and locals
0751b4c Initialize locals with init value - fixes #22 from Python3
13e0fdc Initialize locals with init value - fixes #22
e4c7bd4 Type annotions on Listener/Visitor fixes #18
7b0f194 Support for typeless parameters - fixes #23
c48c643 ParserRuleContext.getChildCount() now returns 0 if self.children is None
8767438 Merge pull request #38 from RedTailedHawk/master
b327c30 Merge pull request #21 from RedTailedHawk/master
80edd60 Added Recognizer.removeErrorListeners() to Recognizer.py
a72ad9f Added Recognizer.removeErrorListener() to Recognizer.py
1ae6dc1 Added Recognizer.removeErrorListeners() to Recognizer.py
75d6784 region of Path lexer using latest antlr
88f2b3f regen XPathLexer with latest antlr
a16eb44 Merge pull request #18 from TomLottermann/master
455a8e5 Fixed typo
430216b Added the javascript keywords specified by Mozilla. Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_gramma
9895635 Added `function` to javascript keywords
e2bfe7a rm unneeded .gitignores
a3490ba freshen unit tests
e105b32 freshen unit tests
4ec744c freshen unit tests
f19c250 fix misspelling
e897f7c freshen unit tests
8da8b72 freshen unit tests
f0959bb freshen unit tests
8c4376e freshen unit tests
1b02391 Merge branch 'master' of github.com:antlr/antlr4-javascript
8219262 freshen unit tests
4ffb281 freshen unit tests
f724953 freshen unit tests
33a027c git health
8aeb4f6 typo
b2141c5 Generated tests for IE not in line with other browsers
9c38019 Merge pull request #14 from antlr/fix-RulePropertyRef_stop-bug
ac3fc7d RulePropertyRef_stop refd t but arg was r
1f3ed5a Fix recovery error; Fixes https://github.com/antlr/antlr4/issues/795
61635f8 add tests for https://github.com/antlr/antlr4/issues/795
f265493 Fix recovery error; Fixes https://github.com/antlr/antlr4/issues/795
e40c4e0 Fix recovery error; Fixes https://github.com/antlr/antlr4/issues/795
fe4d900 Merge pull request #13 from antlr/export-context-classes
3152b69 Fixes #12
18ef41a Merge pull request #36 from antlr/fix-set-trace
6f66d10 Merge pull request #16 from antlr/fix-set-trace
d9ed362 fix setTrace issue
66b7136 Fix parser.setTrace issues
75486e0 Added performance testing for atomic operations
a8f461f add performance testing for atomic operations
da5a08b tweak
77b1ceb add new readme
ce6e73b rename to be consistent
877b784 removed legacy
373ef0a git cleanup
ea028eb Code signed for installing in the GAC
8fcd12a npm compatibility
7acafdc git cleanup
5fb5938 Merge pull request #9 from antlr/Test-word-size
aa0532f Complement and validate bitset bug fix
25053b7 set inline bitset test word size to 32; ref https://github.com/antlr/antlr4/issues/777
087b790 Merge pull request #13 from antlr/Encoding-bug
3b2e529 Fixed encoding bug
8282c23 more 4.4->4.5 version changes
e5dc5b6 more 4.4->4.5 version changes
2301648 more 4.4->4.5 version changes
710d96d add diagram bump version to 4.5
b50868e add diagram bump version to 4.5
1b5d948 add diagram bump version to 4.5
538e30b Fixed encoding bug
c27222b Merge pull request #5 from antlr/add-$parser-support
d8d7ebc Merge pull request #8 from antlr/add-$parser-support
e3a9236 Merge pull request #12 from antlr/add-$parser-support
4e3b020 Merge pull request #34 from antlr/add-$parser-support
a8a4e19 moved from $self to $parser
47d790e moved from $self to $parser
3e707ea moved from $self to $parser
b69c8ef moved from $self to $parser
7c85769 add support for $self
6ccad93 add support for $self
7aaafdd add support for $self
ac81816 add support for $self
936a279 Bug fixes
4b87b04 nodejs package descriptor
636cb9b missing export
710ad3e removed NL
8ef638e Merge pull request #32 from antlr/Lexer-unicode-issue
0fbe7f0 Fix unicode bug
80db2b3 Merge pull request #31 from antlr/Fix-Unicode-error-in-Lexer.py-#25
27cdc66 Ensure self.getErrorDisplayForChar always returns str
940d47d house keeping
eb0686c Merge pull request #4 from antlr/visual-studio-support
fff8354 visual studio support
3230356 Missing reference
ab33950 Create README.md
ecc2a58 Merge pull request #7 from antlr/explorer-tests
f26cd91 updated tests
4c67cf8 added explorer tests
5799cea Merge pull request #6 from antlr/add-warnings-in-generated-tests
5c389e5 Merge pull request #3 from antlr/add-warnings-in-generated-tests
4be10f7 Merge pull request #30 from antlr/add-warnings-in-generated-tests
fb3d97b Merge pull request #11 from antlr/add-warnings-in-generated-tests
a0e2006 add edit warnings
8dc4231 add edit warnings
bbf9a4f add edit warnings
a20ace6 add edit warnings
ddb8fa3 Merge pull request #10 from antlr/replicate-python-2-visitor-code
c32a849 added visitor code
f419af9 Merge pull request #18 from bdkearns/visitor
c0e562b Merge pull request #9 from antlr/prepare-release-4.5
c02b7be Merge pull request #29 from antlr/prepare-release-4.5
fe4b102 Merge pull request #2 from antlr/Prepare-release-4.5
4e6d3df Merge pull request #5 from antlr/prepare-release-4.5
0f55773 prepare release
4b1a7d1 prepare release
618de8f prepare release
b07fac1 prepare release
bfb819e Merge pull request #1 from antlr/unified-tool
710a4b1 CLSCompliant version for mono
ad13de7 Merge pull request #4 from antlr/runtime-tests-generator
fc77e61 Merge branch 'master' into runtime-tests-generator
fe477f0 update
81a1812 hygiene
939b458 hygiene
534be89 Merge branch 'runtime-tests-generator'
4a8340b added tests for Firefox and Chrome, work and pass on Mac
195a11e Merge branch 'master' of https://github.com/antlr/antlr4-csharp
1a8d1d1 rebase
cb072ca add getVersion() as 4.4
875394a Generated tests and corresponding bug fixes
fba656e Generated tests and corresponding bug fixes
283fbee Generated tests and corresponding bug fixes
1f9bd74 support for symbolicNames
2d4453a new tests
7063c54 Merge pull request #11 from sk-/master
7f2d1f2 Merge pull request #20 from bdkearns/fix-atn-seg
ec1844f Merge pull request #21 from bdkearns/fix-tests
66fa76d Merge pull request #16 from bdkearns/fixes
3398931 full Safari tests
ba715e4 remove unnecessary getSerializedATNSegmentLimit
a355ecf update tests for deterministic naming in 08ed19078
eaa83a3 provide support for visitor pattern
a7cc3fc add some build artifacts to .gitignore
0c94f8e remove automatically generated MANIFEST file
2fb915b progress with Safari tests
6a74604 read errors in Safari
15422eb generated tests
6a0032d all tests pass in NodeJS, good progress in Safari
fcdf397 Update reference version to fix the abstract grammar option
ab7b0ae Fix the Force ATN option
a4fcd7b changed test hierarchy, regenerated Firefox tests
4bda1b3 test templates complete
a966650 progress
cfbee8e Merge pull request #14 from sergiusignacius/master
f1b41c4 Changed default encoding to ascii in FileStream.py
f80f9d7 Use encoding in FileStream to decode file contents.
beb30bd progress
9fe258a progress
6224582 progress
3137c58 progress
1d9ac19 progress
b425029 work in progress
ccbfcc2 Merge pull request #1 from sharwell/path-separator
cd509b7 Use File.pathSeparator instead of ":" to support testing on Windows
ef8570c first successful selenium/Safari test
48e9096 Merge branch 'release/4.4.1-alpha001'
ab3f6b1 Prepare for next development iteration
878739f Updated version numbers for release 4.4.1-alpha001
84f086c The master branch is actually compiled against the optimized reference branch
f02285e Update to development version 4.4.1
e811a63 Case insensitive comparison in build task
7287060 Map .NET Framework [4.5, 5.0) to target CSharp_v4_5
ab04026 Updated code generation templates to incorporate changes from the Java target
ed95652 Remove unnecessary casts
d26af7c Fix failure to create a copy of an array in Arrays.CopyOf
3fb54ff Convert recent changes to C#
a20e05e Merge branch 'sharpen'
53a6ff6 Update project to include all files
c3a7bdc Update to the latest working build of ANTLR 4
69f8e0f fix bug where SetTransitions would be corrupted when running LOOK
dc54f12 all tests pass except "a.f(x)==T.c" in testJavaExpressions
e5acdce TestFullContextParsing 100% ok
c92e7ba TestSemPredEvalParser 100% ok
0e4749d TestParseErrors 100% ok
2454fe6 fixed testDuplicatedLeftRecursiveCall, no regression
07d1671 fix lexer issues (appeared after fixing parser issues due to change in config set)
1d2a153 slight performance improvement
57fad56 fix an infinite right recursion bug
36ed0c6 fixed TestParseTrees test code
96ba79c fixed TestListeners test code
7bf07e7 good progress, fixed ATNConfigSet, breaks a few Lexer tests
9a58ebe TestSemPredEvalLexer ok
727f043 progress
47f7223 Some great progress
899e9a4 Fixed template to correctly deal with wildcards
75f79b9 Merge pull request #67 from sharwell/build-improvements
6140614 Check signing keys as an integral part of the build
e961305 Build the Java code as an integral part of build.ps1
5f6cc03 Add the -NoClean and -VisualStudioVersion flags to build.ps1
fa90213 Use WriteErrorLine instead of echo
c6dbd11 Use common configuration for NuGet pack and push instructions
61692ac Use signing key instead of assembly name to differentiate targets
fcdd1a5 Merge pull request #63 from sharwell/gitignore
f375f89 Merge pull request #64 from sharwell/test-project-names
12e1168 Merge pull request #65 from sharwell/wpa81
3cfca9a Merge pull request #66 from sharwell/nuget-refs
ac9e3b9 Update NuGet references to the latest release of ANTLR 4
f3bb171 Use unique assembly names for test projects so all tests can be loaded at once
507803e Include Windows Phone 8.1 support in PCL builds
4c8b233 Updated .gitignore (profiling results, test results, and Roslyn cache as a directory)
7e2dfc5 Merge pull request #62 from rharrisxtheta/nuget-package-patch
fd79c66 Update nuspec minClientVersion's since we're using features from 2.7
3e276ba Mark the parser generator NuGet packages as development dependencies.
20b89b1 Merge branch 'sharpen'
c78833e Update to latest build of Sharpen
2f04d5f versioning for release
3f8f01e Versioning for release
d31151b add getVersion() as 4.4
30b8b14 Merge pull request #61 from sharwell/release/4.3.0
75f10cb Update version numbers for next development cycle
07e3640 Enhanced version checking
571d553 Enhanced version checking
84b936a Updated version numbers for release 4.3.0
2d97a66 Merge pull request #5 from parrt/factor-target
e86b623 Merge pull request #7 from parrt/factor-target
580ef4f Merge branch 'sharpen'
bd8d057 Map java.util.Reader to System.IO.TextReader
9f90162 Map ArrayDeque and Deque to Stack
8a06244 Map putIfAbsent to GetOrAdd
20fdbad Merge branch 'sharpen'
9a23a7f Map java.util.UUID to System.Guid
0da1f54 Map Collection.add to Add instead of AddItem
fd1cc44 * Update Sharpen namespace to Antlr4.Runtime.Sharpen at code generation time
cac6850 factor common char encoding into main Target; version set to 4.4
04535fc factor common char encoding into main Target; version set to 4.4
6339ee6 Merge pull request #6 from parrt/master
0945922 Merge pull request #60 from sharwell/fix-33
3b7843d Sign the test assemblies with a publicly shared key
cbd5d1a Simplify the handling of SerializableAttribute in portable libraries
5924d1a Update NuGet target framework names for portable class libraries
7dd8996 Added netcore45 and portable-net45 (Profile 78) assemblies
4ef578e Extend PCL support to Silverlight 5 and Windows Phone 8
38659d3 Merge pull request #59 from sharwell/operation-canceled-exception
9995b33 Simplify the handling of OperationCanceledException in net35-cf library
caf366d Merge pull request #58 from sharwell/test-updates
fe32664 Merge pull request #57 from sharwell/static-args
63053ef Updated TestPerformance and associated code for the latest release
1be22e5 Make Args a static class
2cdc053 Merge branch 'sharpen'
eef89a0 Convert many additional methods as C# properties
072f578 fix name
fb3bae9 fix name
273a646 Merge pull request #4 from parrt/master
c04f08e Merge pull request #56 from sharwell/templates
f82ade8 Update Tool and target templates to match changes in the Java build since the 4.2.2 release
491078e Merge pull request #55 from sharwell/client-profile
0c70c2b Merge pull request #54 from sharwell/sharpen-namespace
e57ead1 Rename Sharpen namespace to Antlr4.Runtime.Sharpen to avoid naming conflicts
90d2fee Use the client profile for the .NET 3.5 and .NET 4.0 builds
a07194b Rename projects, assemblies, and preprocessor directives to more closely match NuGet packaging
d975107 Merge pull request #53 from sharwell/cleanup
f3efcaf Specify StringComparison in call to Equals
1e851dc Fix errors in documentation comments
1a2d57d Merge pull request #52 from sharwell/fix-48
fb0adf1 Remove dead code statements
7296877 Fix errors in documentation comments
9842612 Mark Sharpen classes internal where possible
484ae78 Move Checksum and CRC32 classes to testing library since they aren't used in the runtime (fixes #48)
92e77ed Merge remote-tracking branch 'sharwell/master'
ded0a6a Fix build errors in newly generated code
407b568 Merge pull request #51 from sharwell/roslyn-cache
c860ff7 Merge branch 'sharpen'
2a3412f Update to the latest release of ANTLR 4
9a3900c Ignore the Roslyn IDE cache
03fea11 tweaks to get tests running in latest 4.4 dev
9ab1523 tweaks to get tests running in latest 4.4 dev
530d1b9 Fixed version checking
262fd3e Fixed version checking
167ddaf version checking
ff8e446 version checking
860d127 PyPI version
489b48e PyPI version
3ecd838 Merged conflicts
5620575 PyPI version
284cfc9 Moved files following new antlr project structure
592d0cb Merge pull request #3 from asottile/clean_up_gitignores
3a9c568 Merge pull request #3 from asottile/dont_check_in_pyc
c30e14b Merge pull request #2 from asottile/clean_up_gitignores
dc02cf7 Ready for release, all tests pass with latest tool
4f6ce6b Ready for release - all tests pass with latest tool
2b2c0ee Prepare release
4095ccc Prepare release
83f0f76 Some progress
c6d986a Some progress
778a6ac Remove checked in pyc file.
c572f69 Clean up gitignores.
06b7925 Clean up gitignores.
f9927d6 TestParserExec testBasic OK!
de42ada All lexer tests pass except testLargeLexer
8b3ccff A second Lexer test running
7854838 Hygiene
43536d4 clean-up before release
850cf69 Git hygiene
eb16926 clean-up before release
d68ffad First running Lexer test
e6e57f4 First Lexer test running
673e3bf progress
07a74cb AntLR 4 runtime for Python 3.4.0
533eca5 Git hygiene
1b616c8 AntLR 4 runtime for Python 2.7.6
d206a6e Merge pull request #46 from sharwell/support-net451
6789bd6 Merge pull request #45 from sharwell/fix-32
3194fa0 Merge pull request #44 from sharwell/fix-40
6472972 Fix code generation support for .NET 4.5.1
d0e425c Fix string.Format syntax (fixes #40)
d63a9e3 Add the ability to explicitly specify the path to the Java executable (fixes #32, fixes #34)
2ace0f6 Updated version numbers for next development cycle
06acb21 Updated version numbers for release 4.2.2-alpha001
8b337bd Update CSharp.stg to match changes since 4.2.1
2dbc91f Update reference to obsolete method
589a003 ST4 no longer requires a dummy template if the STG only contains an import
c612973 Updated build dependencies
5763eb8 Working on development version 4.2.2
db2fe9d Fix build errors in newly generated code
f71699e Merge branch 'sharpen'
a41a70f Update to the latest release of ANTLR 4
6eb48b4 Updated version numbers for next development cycle
71a9f87 Updated version numbers for release 4.2.1-alpha001
9b35c63 Updated build dependencies
a6daadf Working on development version 4.2.1
a14b197 Fix issues in newly generated code
53f2c8f Merge branch 'sharpen'
0a3e6f0 Update to the latest release of ANTLR 4
63667f4 Updated .gitignore to simplify work in the sharpen branch
3d56942 Updated assembly informational version for next development cycle
9acf9c8 Updated assembly informational version for release
f321fef Updated code generation templates for the 4.2 release
424787b Merge branch 'sharpen'
c15992d Re-translate source with updated configuration
d457eb9 Updated pom.xml to use newer dependency versions
d23042d Updated build script
dfbf806 Updated test projects to use the latest NuGet package for code generation
5b3e585 Updated build task to use the latest version of the tool
e926e5e Fix output folders for portable framework release
fe482cd Merge branch 'sharpen'
cb8124c Update to the reference build of Sharpen
3ad2554 Updated assembly versions
b9745be Updated installation instructions in Readme.md
9d73c12 Enable NuGet package restore
5932757 Fix build errors produced by the latest Sharpen-generated code
61ecdf7 Merge branch 'sharpen'
94ad1d1 Merge branch 'sharpen'
082f0bb Merge branch 'sharpen'
5b9c45f Update to the latest release of ANTLR 4
828f063 Set wrapping width to 1000
bf070cf Updated working build of Sharpen
c0aa59c Generate code with correct token names when the predefined `EOF` token is referenced in the grammar
a16bd60 Generate code with correct channel identifiers when `HIDDEN` or `DEFAULT_TOKEN_CHANNEL` is used in the `channel` lexer command
bb6f6fc Generate code with `DefaultMode` when a grammar contains `DEFAULT_MODE` in a `mode` or `pushMode` lexer command
2ac3c96 Use TextReader instead of StreamReader where possible
3db39af Change AntlrInputStream to use TextReader instead of StreamReader.
9918154 Fix the case of two files' names
ac626b0 Merge pull request #22 from rharrisxtheta/antlr-patchset-1
d1b1bb0 Disable compiler warnings that are irrelevant for generated code.
8897097 Tag generated classes as non CLS compliant.
d27cd5f Build separate NuGet packages for the tool and the runtime (allows separation of VS2008 and VS2010+ features)
4de1e1b Fix code generation for additional elements that match C# keywords
27c3e35 Forgot to escape bracket in subtemplate
f4f905e Fix code generation when a rule or grammar name matches a C# keyword (fixes #4)
1e4a539 Add generated code file headers and [GeneratedCode] attributes (fixes #11)
b9d3a12 Fix build error in referenced project
4f043c8 Updated CSharp.stg to match changes in Java.stg
66c64be Add additional logging for exceptional situations
1fc1f5d Fix Guid deserialization
c9a02cd Fix behavior when spaces are in the path (fixes #6)
a2a1eef Updated several documentation comments
9c20726 Allow spaces in the project path (fixes #6)
81459fb Simplify and fix bugs in ANTLRInputStream
a4e5bfb Fix build errors
8111fa5 Merge branch 'sharpen'
fcf2482 Sharpen can ignore JFileChooserConfirmOverwrite
f74aabf Updated to match ANTLR 4.1 release
6736b3f Added NuGet support
880bc16 Updated Maven references in pom.xml
5070954 Updated pom.xml - now working on the 4.1 release
e48e2d7 Add LICENSE.txt to repository
6e198f8 Fix XML documentation warnings
d01a221 Generate XML documentation for the runtime library during the build
290c5d5 Fix output path for release build of Antlr4.Runtime.CF3.5.dll
9babc95 Merge branch 'compact-framework-3.5'
e030061 Fix grammar IntelliSense in Visual Studio 2008 / MSBuild 3.5
75ae586 The Target element in MSBuild 3.5 doesn't support the AfterTargets attribute
78e9b97 Update assembly names in UsingTask definitions
44f9434 Remove incorrect assembly reference
6b0890a Added Antlr4.Runtime.CF3.5 assembly for .NET Compact Framework 3.5 (requires Visual Studio 2008 to build)
7855851 Separate MSBuild integration for .NET 3.5 and .NET 4.0 toolchains
f9718aa Merge branch 'codeanalysis'
e987ceb Abstract class should use protected constructor
4a9fe95 Use inline initializer instead of static constructor
621281f Implement ContainsAll with IEnumerable<ATNConfig> instead of ICollection<_T0>
b0050b6 Address code analysis messages
dd5fd62 Mark the assemblies not CLS compliant
3c0b96c Allow specifying the JVM vendor (default JavaSoft) and installation (default Java Runtime Environment) in the project file
092078e The JavaHome property and TryGetJavaHome methods are now static
c6bb5be Actually use the registryView parameter
fe57b88 Include the name of the attributed element for failed rule dependencies
451e562 Check all dependencies for an assembly before throwing an exception (if any is required)
8048f58 Fix format strings
f494410 Check for both the 32- and 64-bit versions of Java (fixes #2)
c9d8fce RuleDependencyChecker should examine non-public types and members as well
d41f4ba Need to use the full path for source files or relative output directories will be used and tokens files won't be found
37b15b0 Merge branch 'portable'
1b605a5 Add ICustomAttributeProvider wrappers to the portable library variant
0ea64b9 SerializableAttribute is not available in the portable class library
5bd661e Portable class library does not support direct file IO
307464f Portable class library does not support console IO
00689a4 Remove debug, dfa_debug, and retry_debug from portable library
7049163 Add Portable Class Library C# target variant
f67c42d Use Dispose instead of Close for portability
1f76add Fix incorrect type checks in TrimToSizeListener
a47c293 Fix IntelliSense issues in projects that reference both Antlr3.targets and Antlr4.targets
c9ababc Fix project modification instructions in readme
e01320c Updated readme to mention multiple targets
ce62964 Updated runtime assembly info in preparation for release
8dc10d4 Updated preprocessor definitions for NET_2_0 and NET_3_0
30b6954 Updated build binaries
c64ad19 Constructor is protected when the generated parser is abstract
9e34141 Use "parser" instead of just "p"
eb310ae Use <%...%> instead of "..."
5b37670 Use as+nullcheck instead of is+cast
db7d335 Generate partial classes
743315b Updated preprocessor definitions for test project
048b354 Updated support for the v2.0 runtime
09b0e04 Add compatibility layer for the v3.0 runtime
ec36fa7 Updated support for the v2.0 runtime
3d5f766 Use Dictionary constructor where allowed
59583da Explicit usings
efc964b Use TryGetValue and ContainsKey instead of Get extension method
25551e6 Update TestPerformance to run single-threaded prior to .NET 4 (TaskScheduler is not available before that)
1fe1115 IEqualityComparer<T> is not covariant before .NET 4
104de1a Update BaseTest to be compatible with .NET 3.5
f063557 IEnumerable<T> in .NET 3.5 is not covariant
1020033 Updated v3.5+ projects with a NET_3_5 preprocessor definition
4231313 Add compatibility types to the v3.5 runtime (types introduced in .NET 4.0)
5d167ce Update the TargetFrameworkVersion for all remaining projects
ca4823e Update assembly names to match the target framework versions
ca133e5 Fix Collections.SingletonMap for .NET 4.5
5af2411 Fix improperly quoted string literal in template
dbc1bc5 Use HashSet instead of ISet for improved compatibility with earlier frameworks
7e55c0a Merge branch 'sharpen'
191c24f Translate Set interface to HashSet instead of ISet for improved compatibility with earlier frameworks
02d608a Ignore Transition.serializationTypes
fc7587d Remove dependency on CustomAttributeExtensions (available in .NET 4.5 only)
ec45a07 Updated preprocessor definitions for v4.0 and v4.5 runtimes
47efe0b Updated TargetFrameworkVersion for v4.0 runtime
3ad5076 Return the proper collection types from generated context getter methods
61c141e Use IDictionary instead of IReadOnlyDictionary before .NET 4.5
d898160 Use Utils.Join for improved compatibility with earlier frameworks
77d3464 Use bit operations instead of Enum.HasFlag
acc7850 Use ReadOnlyCollection or array instead of IReadOnlyList to address compatibility problems prior to .NET 4.5
5d44535 Avoid using the Volatile.Read/Write since it's only supported in .NET 4.5
89dc595 Update project references
5ee0cb1 Add projects to solution
a990f72 Assign unique project guids and update output folder paths
fa4489e Create framework-specific projects
2c36418 Set framework-specific bin and obj output d…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants