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

Can ANTLR lexers/parsers be used for VS syntax highlighting and Error List? #84

Open
stevecooperorg opened this issue Nov 23, 2014 · 9 comments
Labels

Comments

@stevecooperorg
Copy link

Hi -- I'm using Antlr4cs and it's working beautifully; apologies if this is the wrong place to post!

I'm happily developing a language and I'd like to start integrating my language into an IDE. The natural place for me feels like integrating it into Visual Studio. It occurs to me that someone might have figured out a general way to plug an ANTLR lexer into the Visual Studio syntax highlighting system, or ANTLR parsers into an MSBuild task such that errors appear in the Visual Studio error list.

Is there any kind of starting point, base package, plugin system, or similar which lets you integrate an ANTLR4CS language with Visual Studio's language support mechanisms?

Alternatively, has anyone had any success building, say, a Sublime Text build system / language def automatically from their grammar?

@sharwell
Copy link
Member

Hi @stevecooperorg,

Considering I originally joined the ANTLR project for the purpose of addressing this question, I would say it's quite relevant. Unfortunately, I don't know of a framework available to automate the process. While I've become quite efficient at integrating languages into an IDE, it's primarily due to the fact that I know exactly what parts to duplicate from other closed-source projects developed at companies I work for.

Note that if you implement your IDE support as an open source project and run into specific problems that you can point to in code, it would be much easier for me to guide you towards a solution.

@stevecooperorg
Copy link
Author

Sam - thanks very much for the response!

I asked this on StackOverflow, too, and someone suggested that a single-file generator might be the way to go for a small, isolated language because it's easy to report errors during compilation. Does that seem sensible in your experience?

@sharwell
Copy link
Member

That's probably not what you want. Single file generators are used when you want to add a file to a project which is written in a DSL, but produces code in the language of the project which gets compiled. For example, support for resource files could be implemented this way, where the .cs file is generated from the .resx file, and then the .cs file is compiled along with the C# project. These generators don't provide any editor functionality (of any kind). It's really two different problems.

@stevecooperorg
Copy link
Author

Thanks, Sam. I'll have a look at some other options, then. Thanks for the guidance.

sharwell added a commit that referenced this issue Jan 7, 2017
24fc3497d [maven-release-plugin] prepare release 4.6.0.2-opt
b9304525e Merge remote-tracking branch 'antlr/master' into optimized
c7a9fe364 Merge pull request #1580 from sharwell/portable-hash
8d7a9e19e Use MurmurHash in TestPerformance so results are comparable across targets
722212acf Merge pull request #1578 from sharwell/java-visitor-tests
8becb01b0 Add remaining visitor tests for the Java runtime API
4cd6156e6 Add first visitor test for Java runtime API
a17b299cd Merge pull request #1576 from sharwell/optional-getters
9009a1b98 Simplify logic leaving a subrule in ElementFrequenciesVisitor
eb53e70e3 Implement support for optional getters
c7f0a156a Merge pull request #14 from tunnelvisionlabs/release/4.6.0.1-opt
cf5cae7ab [maven-release-plugin] prepare for next development iteration
85f264ae2 [maven-release-plugin] prepare release 4.6.0.1-opt
cb98125b1 Merge remote-tracking branch 'antlr/master' into optimized
040e40ec5 Merge pull request #1565 from ericvergnaud/fix-javascript-typo
0dfcc1822 Merge pull request #1572 from ericvergnaud/fix-require-issue-in-IE-web-worker
81f52adf8 Merge pull request #1570 from sharwell/fix-1543
d5dcfc42c fix an issue where loading antlr from an IE web worker would fail
cb4a5b138 Merge pull request #12 from tunnelvisionlabs/use-4.6
6b007b445 Disable label checks for left recursive rules
efb5c6033 Generate XPath lexer with ANTLR 4.6
858df22c0 Merge pull request #11 from tunnelvisionlabs/release/4.6-opt
6b873d350 [maven-release-plugin] prepare for next development iteration
017a7644b [maven-release-plugin] prepare release 4.6-opt
ba7f9f48b Update maven-release-plugin to version 2.5.3
a5e3a09b6 Merge pull request #10 from tunnelvisionlabs/template-alias
c1713c3f3 Fix syntax for InitLocalIntMember template alias
90cc9e26f Merge pull request #9 from tunnelvisionlabs/test-flexibility
c9d4fcb58 Distinguish context labels from context functions
9631d13ee Allow using beforeParser instead of members
6d4ed0cf9 Import PredictionMode
5bc40faeb fix typo
d4fc59a93 Import BailErrorStrategy
de08cc0f1 Distinguish between local variable and field
8631a86c1 Use a template to enable full context DFA
1c80b7dcc Allow the test templates to redefine 'int' as a type
9e5a46a08 Merge pull request #8 from tunnelvisionlabs/targets-cleanup
8d9876e35 Remove unnecessary images
1db14cbcc Add correctness warning to documentation pages
c8c978c9f Remove references to standalone standard targets, and link to optimized ones
0f81ddad6 Merge pull request #7 from tunnelvisionlabs/fix-coverage-badge
159ffc3f2 Fix the badge for codecov.io in README.md
02d6965cc Merge pull request #6 from tunnelvisionlabs/fix-builds
a91aec09d Updated build status badges
aeacae177 Fix JDK 6 build by disabling the Maven plugin tests
da992de05 Enable AppVeyor build
385fac3ee Merge remote-tracking branch 'origin/optimized' into tunnelvisionlabs_master
8965d3739 Merge pull request #26 from sharwell/doc-optimized
a9f793916 Merge branch 'optimized' into tunnelvisionlabs_master
aa909ddcb Merge pull request #1563 from parrt/bump-to-4.6.1
c2a0ed727 Merge pull request #1562 from parrt/fix-1556
262943383 bump version to 4.6.1 in all files.
75784e0b8 update file list needed version bump
64fd96d04 Update releasing-antlr.md
36ee17449 Fixes #1556.
99b65bd0d Merge remote-tracking branch 'antlr/master' into optimized
c2e3dece4 Merge commit '644478a01515e19aec5a1410c8ddb34d039fd7f4' into optimized
f7e8a0154 Merge commit '9f948c545309f7a8d51bc630b9998b81870a596b' into optimized
658e7ef96 Merge commit '05e39fab8e420c369ea0cc95e3061d7b88768985' into optimized
967efda64 Merge commit '57d8cc2e0cf51273bd39b0e0af4045fa24be4713' into optimized
d8efeb103 Merge commit '65982518eff5d5736df8633d58647eab55cb38e2' into optimized
875e3a99d Fix build warnings
e62f00d63 Merge commit 'e279cd699e2256bc6e715662148d51635bca97f0' into optimized
ce883e04f Merge commit '89bfd56a769e67a7392fa3acc57a79fa2cd5d931' into optimized
ef8963db9 Merge commit '3a6ffafec3300d9f511022bebc14fcde6538d4e3' into optimized
0a7bff0d8 Merge commit '3e97e64651179c6be207924e5c8ca072dd551bdd' into optimized
242b1fefc Merge commit '9e2c0f76f913b48589da1319ee1edbd9a2cc1fe8' into optimized
cb3725174 Merge commit '50646a6da8598ed13edc71c30f1590d9de7ea266' into optimized
90a082bfe Merge commit '53b6153060977e9c2889596682313ad0d3764f8f' into optimized
0711f04e9 Add missing test cases for dynamic disambiguation
eee6c3e0b Fix compilation error
34aa8f078 Merge commit '9a0a54f0e6c1434329f4517613b8c10f1f1e15a4' into optimized
66d6c7197 Merge commit 'df40db35a48d18db9cff6e59825294c9d895c0b5' into optimized
0339881bf Merge commit '178f956b1f3ca956b56b855e731c02c799fb7634' into optimized
4918e6540 Merge commit '0bb622e50d2b5b55bca38fd529027cbd1b374d4f' into optimized
9f90990fe Merge commit 'b5b69b60d03323f2acd8182535bce0f9349d1c77' into optimized
8ab201f2a Merge commit 'c7a68514b571bbf49440972e4841817c749cdf52' into optimized
a83d1ca82 Merge commit '8ed1105290d3008d7a55797c7a19101d09214dc7' into optimized
750995eb4 Merge commit 'df89ad6180d9fd57ffd7151fa7944d0cbfb7d0ef' into optimized
9cde7c157 Merge commit '37ff8a316174ba0cccb822740adb7070364bc759' into optimized
7061949c9 Merge commit 'd9490e16daf48b15461bc27ba4685f23b710d5c7' into optimized
375324cef Merge commit '35c6babd4ad50f9171cecec374a29436b88242a2' into optimized
0914a1c38 Merge commit '0dcf626e8b458bb2174be4c4e27c862d35dad4b4' into optimized
ffcca57b8 Merge commit '78155af499f821f91328ef68f7d6151bc43fd168' into optimized
b57843d98 Merge pull request #1546 from sharwell/fix-1545
65c8b7dfb Merge commit 'cf5a79a5b234c41937dae28ac2976717168e964a' into optimized
b2196d539 Merge commit '30fbe07b2b05211b832b5e1e31b0a5627e5528fa' into optimized
9e6925d0a Merge commit '3abb19325747fdc6cfffc59397936f325db2138f' into optimized
466a8c7e6 Merge commit '4290bdbaa0c9bd94c31f090e55647963dbc3c322' into optimized
7ea5bc0fd Merge commit '253cd172a442d60fef2df2f7d7f72ef140bb7d03' into optimized
1d6640171 Merge commit '29fa9ba36e5d7ad29ff7bf022484e35b3331f874' into optimized
89c976e30 Merge commit '71c52eb0fa8dbf231a8f0a676b7ff8fe86698564' into optimized
037dcfd62 Merge commit '741407b2853c68009bd18f69cd5311b48849808d' into optimized
ed20f89b2 Merge commit '52523024e043f4c5880073021f5e214efc1bdf01' into optimized
b7d051ed7 Merge commit '8d0ae8599e755110c176b5462e10e768967b4174' into optimized
24b20e236 Remove redundant isExpectedToken check
644478a01 Merge pull request #1558 from mike-lischke/master
f79a34aa3 Merge pull request #1557 from mike-lischke/LR-loop-fix
189d39048 Merge branch 'master_upstream'
ad31b4400 Removed static libraries from deployment script (Windows).
1d066e0a6 Fix test cases affected by recent changes
1c987e77e Merge pull request #1548 from adrpo/FixMsys2MinGWBuild
077411788 Merge pull request #1551 from KvanTTT/master
03a75a5ce fix error "'CommonToken' object has no attribute 'stopIndex' in Python{2|3}" #1529.
8ab5f02f7 adapt code to compile with msys2 mingw compiler - add required extra flags to the C++ compiler in CMakeLists.txt - guard some code with _MSC_VER instead of WIN32
8b21cc3df Fix DefaultErrorStrategy.sync handling of end of rule
7a83cd491 Fix code generation for LL1OptionalBlock bypass alternative
33613657a Add regression tests for #1545
df142794f add blank line after copyright. Fixes #1539
ab00880c0 Merge pull request #1544 from parrt/minor-internal-codegen-tweaks
3ce00ec93 fix some typos Sam noticed.
58600d29b Merge pull request #1542 from akosthekiss/fix-doc-hidden-tokens-right
abf16b08b Merge pull request #1541 from ericvergnaud/fix-#1538
bec0c36a3 Merge pull request #1528 from mike-lischke/master
de9e032f1 Update contributors.txt
cbac45e6e Fix documentation of getHiddenTokensToRight in BufferedTokenStream
4125fbad8 grr...
218ae7360 Make return states the same size as the parent array.
e1fb0b68c C++ implementation of the LR-loop optimization.
367f09dcb Removed command line option for exportMacro.
4dd4a676a Merge branch 'master_upstream'
bc9e89ec7 Removed command line option for exportMacro.
3cd5e746d Merge pull request #1536 from ericvergnaud/missing-python-imports
6398a06fb fixes #1530 and #1531
4458950fd Re-added changed exportMacro documentation (got lost on revert).
7c4027118 Re-added changed exportMacro documentation (got lost on revert).
56d1e2f2c Added new file to VS 2013 ANTLR project for correct building.
d324e9a46 Merge branch 'master' into LR-loop-fix
a9dc3ebd8 Merge branch 'master_upstream'
fed8c97bd Merge pull request #1524 from ericvergnaud/improve-javascript-doc
8df555085 Merge pull request #1511 from mike-lischke/issue-1483
a87df6f28 more js docs
14f0c7a66 also published to npm
c4c2966db update doc
b94ecc0fa update doc for new C# build
23313ee44 [maven-release-plugin] prepare for next development iteration
aacd2a2c9 [maven-release-plugin] prepare release 4.6
d388e6b86 Merge pull request #1522 from parrt/ericvergnaud-publish-to-nuget
8a483987c Merge pull request #1523 from parrt/new-cpp-option
31726311a add exportMacro to list of valid grammar options. verified it works in grammar and -D on command line.
d1b429d94 Added a new setting required by the C++ runtime.
0c332f704 tweak to doc
7f9578132 update doc with more detail on building c#
586b36fe9 tweak doc. update assembly name to Antlr4.Runtime.Standard
3c1a34d00 add this to 'building a release doc'
321a6f284 create and document NuGet packaging process
07f6e3a68 modify output paths
cf87c2371 cleanup
d4e1f80ca updated the page
c78d42657 added link to the C# page
9f948c545 Merge pull request #1521 from parrt/KvanTTT-character_issues
160825a86 minor reformatting.
e0460f103 simplify; reduce indentation.
b503838a5 simplify
642d06ebb fix typo
5d3b99b2e Fixed error message for EMPTY_STRINGS_AND_SETS_NOT_ALLOWED.
bc7678011 Removed CharSetWithReversedRange from runtime testsuite.
49cec3a61 Added and improved tests for INVALID_LITERAL_IN_LEXER_SET and EMPTY_STRINGS_AND_SETS_NOT_ALLOWED.
1d53b416e Added tests for CHARACTERS_COLLISION_IN_SET.
75d5db594 Implemented CHARACTERS_COLLISION_IN_SET handling.
37148ff7f Added CHARACTERS_COLLISION_IN_SET warning.
05e39fab8 Merge pull request #1516 from hanjoes/master
428ff28f3 Added a new setting required by the C++ runtime.
50afb2206 Merge branch 'master_upstream'
12744d40a Update swift-target.md
03709dc87 Tweak picture size.
c7e291e77 Tweak Swift target doc.
bf37edf03 Tweak Swift target doc.
86ea75dce More doc for Swift target.
81cb4367b tweak doc
e13b00862 ah. cpp should not be in main list of tests. we'll test individually.
484dd62a3 Merge branch 'master' of github.com:antlr/antlr4
a68fb3a18 convert runtime URL properly to file path.
dd2f0a964 Merge pull request #1509 from janyou/Fixes-1073
fd3bd9182 Merge pull request #1508 from janyou/Fixes-1298
8b75e3fc5 Merge pull request #1505 from janyou/Fixes-1238-994
64a8c3213 Merge pull request #1506 from janyou/Fixes-1042
17bad8ae6 Merge pull request #1512 from mike-lischke/master
3db68a7ea Merge pull request #1513 from ericvergnaud/typos
8918d0f95 more C++ debugging
8af4c3899 try appveyor with tweak to cmake config.
5cc106562 update doc
f38ccba94 Fixes #1514
7430b74d9 update doc; move testing info to single file. rename doc file.
3f0059431 add debugging to C++
30acda080 Added Go, and keep target order in sync with above.
6a52e3061 add donate button
b3e47672a add donate button
585c08b97 add donate button
e43456001 simplify runtime test pom, add swift back in.
f83d03a93 improve doc
76fcb6d37 C++ implementation for #1484.
3b5c2a34d Implemented enhanced CommonToken::toString method. Fixes #1483.
50df59fea Removed obsolete macros.
0c835a248 Fixes #1298
be1b070a1 Fixes #1073
f964dd4af Fixes #1042
c9508b74a Fixes #1238, Fixes #994
57d8cc2e0 Merge pull request #1503 from parrt/fix-some-version-numbers
caa500094 tweak docs to show 4.6
81aaeb199 tweak
e1a330f54 Update releasing-antlr.md
f35576a7f Merge pull request #1491 from mike-lischke/master
dce402eb3 tweak
7c35979c2 Merge pull request #1501 from parrt/fix-958
a3aa610e3 get recognizer name properly. Fixes #958
65982518e Merge pull request #1499 from ericvergnaud/fix-#1496
7362152b7 Merge branch 'master_upstream'
1eeaf20aa Initial implementation of the LR loop optimization in the C++ target.
ec5f2ecf3 Merge pull request #1498 from parrt/fix-1299
a69299c50 set javadoc to deploy phase.
0ea8ede5b Changed cmake target install dir to an own subfolder for antlr.
e15e88a04 fix unicode issue
8bb522dd4 Unicode debug output works in VS 2015 intermediate window.
f003cce7d Fixed a build problem on Windows.
c1a5553af Build fix for new multi-threading lock.
31b259e63 Merge branch 'master_upstream'
068a13e0f Update all other targets
b11ff9636 Fixes #1299. matching a set didn't properly notify error strategy of a successful match.
2739a0c9e Fixes #1492. only create javadoc if we use `mvn -DskipTests javadoc:jar install`
aea034cb4 Merge pull request #1493 from ericvergnaud/realign-csharp-runtime
e279cd699 Merge pull request #1494 from ericvergnaud/fix-#1298-for-JavaScript
edaeaadf9 Fixes #1042
9df5f3d57 Fix VS2013 project
caa581a9e success!
39de8896f Merge branch 'master' into realign-csharp-runtime
2fc33d97c all tests pass!
b2d67261f fix contributor
08a8e3086 Merge pull request #1470 from gaulouis/issue-1457
2e59dc218 Merge pull request #1469 from gaulouis/issue-1461
7cf568876 Merge pull request #1468 from gaulouis/issue-1443
fac04c8b7 Update contributors.txt
2d3377c94 Update contributors.txt
5ff27de71 Update contributors.txt
de39b929e tweak github templates
42086eff6 Fix #980
6a20919cb Merge pull request #1476 from renatahodovan/python-target-1472
c7e27664c Merge pull request #1471 from renatahodovan/visit-error-node
2b9948733 Merge pull request #1487 from renatahodovan/js-errornode
0170c9a06 Good progress with parser
bc62f9f3a get proper manifest into runtime jar
aa5f782bd update doc
19d70cd77 TestLexerExec tests pass
612e3399f Merge remote-tracking branch 'forked/master' into realign-csharp-runtime
10a158044 compiles
31a6cc84a Merge branch 'master_upstream'
4aaa0bfb5 Better synchronization for multithreading - fixes issue #1435
951bc0861 Merge pull request #1488 from parrt/add-src-javadoc-jars
0dae6359e Fixes #1007.
fc20027da generates runtime javadoc jar now with dot generation for PredictionContext
52cecbe9e generates tool javadoc jar now
98900144b attempting to get src/javadoc back.
b6b389579 Merge pull request #1486 from parrt/tidy-poms
731603b48 maven shade and bundle don't work together so i dropped bundle for main complete jar.
c0e7c49a9 update jar version, add implementation manifest entries. Fixes #1036
33bce0d8a oops. tool tests need actual tool jar
9b758cb66 update versions
3a4c8d8bc Implement the fix in #1471 for JavaScript target.
87fbc682e strip more stuff we don't need
71e926e14 set version
2021f5947 clean up links
0de8a9c41 simplify tool pom
9d06400ef add test scope to tool test pom
9cfb6890a add test scope to runtime test pom
f2f54f0fd manually doing similar cleanup to https://github.com/antlr/antlr4/pull/1467
8ed3e1303 Merge pull request #1485 from parrt/rm-legacy-tests
9b29cfe4e rm legacy tests
89bfd56a7 Merge pull request #1484 from parrt/fix-1042
f13b09eb3 Fixes #1042
a6e7a72ac Merge pull request #1483 from parrt/fix-1073
e65154c16 Fix #1073. Better token output.
0a7e90fe8 fix #1177 (LB(k) stops at index 0) @antlr/antlr-targets might care about this
9ef75603c improve comment
1de7d7e0d Merge pull request #1481 from parrt/fix-1480
35e02997f improve test
205314366 fix test so it correctly illustrates bug 1480, which was fixed apparently by https://github.com/antlr/antlr4/pull/1477
9f51ec1e6 Merge pull request #1477 from parrt/fix-1203
e377b0350 Fix special template for org.antlr.v4.test.runtime.cpp.TestParseTrees
822e3762a Fix special template for tests
0eb27279d fix LL1 analyzer
58d51450d Implement the fix of #1298 for Python targets.
82372aae2 Merge pull request #1460 from renatahodovan/intervalset-range-fix
3a6ffafec Merge pull request #1472 from parrt/fix-1298
85b609a95 make non-Java targets ignore new test
258b1a4a3 Redo dynamic cast
eb8e2890c copyFrom copies error nodes over. Fixes #1298
bd0902320 Call visitErrorNodes properly in Python targets.
53918ab41 add unit test for #1298
661c87b47 update comment
e9859bcd2 Fix unnecessary cast
ea53dac7b Fix antlr4:: namespace pollution in Lexer/Parser headers
337adffa0 add expected token tests
af9504536 Fix conflict lexer command in CppTarget demo
9c70b3b4a Fix compilation error
3e97e6465 Merge pull request #1466 from parrt/move-api-test-to-runtime-testsuite
e46db41bb move api lib test to runtime tests
2dddd007e Merge pull request #1462 from pboyer/lafix
edd5bdd09 tweak PR template
11117e02d Merge pull request #1458 from KvanTTT/mixed_type_labels_1409
9e2c0f76f Merge pull request #1450 from parrt/update-copyright
2c99f187a make it read "Copyright (c) 2012-2016 The ANTLR Project"
1b1a9862c contributors->authors
61e8eba4f fix typo
03925a275 add copyrights on go
03c2426e9 add/update copyrights on swift. @janyou, I removed your jlabs copyright notice, replacing with antlr project copyright per contributors.txt
43370a6e1 add copyrights on csharp
ca144945a update copyrights on csharp
adadf567c add copyrights on js
0b7c7f133 update copyrights on js
422ce9293 add copyrights on Cpp
e6b2e1916 update copyrights on Cpp
c0e4f0760 add copyrights on Python3
fed78dbd2 update copyrights on Python3
06973a8ea fix typo in copyright
76d421a89 add copyrights on Python2
f59706972 Update copyright on Python2
2bad631cc fix typo in copyright
efc3f82f3 rm redundant license files
cc6267557 Update legacy test stuff too.
891915de8 Update copyright on java, xml files. Make BSD license conform to standard.
a7227b449 Fix AttributeError when trying to write an immutable variable in Python.
0cb32c062 Fix for repeat declaration of la_
bdc1911e6 Removed not used LabelType.
4e4b902c2 Added test testLabelsForTokensWithMixedTypes.
d5dda9f99 Added check for labels with different token types.
1751fac49 Merge branch 'master_upstream'
50646a6da Merge pull request #1453 from KvanTTT/patch-1
7f4bb06ad Merge pull request #1448 from ericvergnaud/optimize-javascript-runtime
09dced914 Correct link for AppVeyor build
abed9e733 Merge pull request #1449 from KvanTTT/duplicated_and_nonsensical_commands_1388
838089fe5 Merge pull request #1447 from redxdev/master
e4c765aa2 Added comment.
bf3bff16e Misprints fixed, code style improved (removed unnecessary else).
5ce735f56 cleanup
67a93b3f3 refine debug info
185f8e963 Merge branch 'master' of https://github.com/antlr/antlr4 into optimize-javascript-runtime
7332c1eb0 fix various hashing issues
cb16e369f Misprint in comment.
0e1b5d9d7 Merge branch 'command_wrong_id_1411' into duplicated_and_nonsensical_commands_1388
f11a38060 Merge pull request #1417 from KvanTTT/command_wrong_id_1411
4e2f50aef Added new error types for not recognized token, mode or channel name.
b8585b7eb Fixed some missed cases for checkCommands.
2f6421cfc added redxdev to contributors.txt
21c528cd0 Updated vs2015 project for cpp runtime
2c63e9535 Merge pull request #1438 from ewanmellor/swift-playground
c89bc8440 Merge pull request #1446 from parrt/fixes-550-python
814b0488e Merge branch 'lygav-master' into fixes-550-python
30dddbb84 Merge pull request #1445 from parrt/fixes-550-java
c959bf649 Fixes #550 by @lygav, which tweaks and more tests by me.
2dd96f322 Merge branch 'master' of git://github.com/lygav/antlr4 into lygav-master
53b615306 Merge pull request #1437 from ewanmellor/swift-xcode-project-tidyups
95dc3f673 Merge pull request #1440 from samtatasurya/cpp-get-text
1f953da0a Merge pull request #1441 from ericvergnaud/poor-left-recursive-rule-performance
e850b4d97 use hashCode instead of hashString - Lexer seems to work but not Parser
8ead51d8f Merge pull request #1423 from wxio/master
3ccb8279b Merge pull request #1436 from pboyer/patch-5
d9f04b08f Merge branch 'poor-left-recursive-rule-performance' into optimize-javascript-runtime
682e0341c fix a typo in optimisation code
3cbc45635 cleanup test files
09db23160 fix for #550
4000e6f68 Signed contributors.txt
1aa9a41d0 Removed comma and space appending in getText()
b0c382435 Create a new Xcode playground for Swift.
ee0babaa8 Update the bundle identifiers.
20ef01c44 Update the Xcode project to match the recommended values in Xcode 8.1.
aff8cba61 Merge pull request #1432 from parrt/add-testing-heartbeat
cd4c9e872 Add heartbeat thread to gen minimal output for travis, appveyor to avoid timeout.
ca9628e1b turn on new perf tests for node,python as they take too long.
f00e346cc Add additional _alt decl
8b60373c4 fix: enable to access interval as a list
f50fb7df1 Fix error when Interval is rewritten with a tuple
377f2f5c8 Merge remote-tracking branch 'antlr4/master'
238b55a0b Extensive TokenStreamRewriter tests + many python2 runtime fixes. Including fix for https://github.com/antlr/antlr4/issues/550
ced8fba5b Update Go.stg
39c77ca20 Potential fix for antlr/antlr4 #1397
eeeb43f9a Merge pull request #1426 from Naios/master
595fb089b Merge pull request #1427 from ericvergnaud/poor-left-recursive-rule-performance
6e0d02a32 enable perf tests for python and javascript
f9d79dfcb implement LR optimisation in JavaScript + align naming + DFAState ctor bugs
6e071f495 implement LR optimisation in Python3 + align naming + DFAState ctor bugs
ccde4051b fixed the 2 failing tests with left recursion optimisation
c8279a1d8 Fix a dangerous c-cast in the cpp codegen
9aab33802 Reverted old error types and numbers.
44aab113f Added method checkCommands.
f76ca2276 MODE_CONFLICTS_WITH_TOKEN error restored.
8fe4def4e Warnings for incompatible commands, added unit-test, fixes #1388.
ed7f6f70d pushMode and popMode commands are not duplicated.
2b69dd7c1 Added GetTokenSourceCharStreamPair method to lexer. Needed when customising lexer eg. to create a python style block sensitive lexer.
763669ffc Fix for redeclared error is generated Go code. Create block so _x and _m var are created in a local scope.
3a8ec78de Merge pull request #1422 from wxio/master
fa31d6f70 Update contributors.txt
bd1111ffa Fixed issue with duplicated commands in lexer rule.
ec5f64a45 start migrating, but 2 tests are failing
3026c3cc9 start migrating
a1def9650 getConstantValue replaced with getModeConstantValue, getTokenConstantValue and getChannelConstantValue methods.
66ea9891a Merge pull request #1414 from parrt/master
643dc2a00 move to script file
30c7c4371 add tool tests but only when testing java target
508a23c8f Merge pull request #1413 from ericvergnaud/split-travis-build
bd7df071f start with the slow builds
069cf9354 divide and conquer
33401add2 divide and conquer
0cf3c2cf5 divide and conquer
c3f9cb3cc divide and conquer
874fea8cc reverting to global add ons for now
228bcac06 stick with existing not iterative walker by default.
dd7dcf089 divide and conquer
bebdeedad divide and conquer
d1496ed76 divide and conquer
48d3a458b divide and conquer
ab3bba906 divide and conquer
4f48d533f divide and conquer
c258fd2a5 rm redundant init
f9699efa2 C++ runtime implemenation of  [ee614db]
9eb2a3117 C++ target implementation for [c695ed2].
fa14b9aad Merge branch 'master_upstream'
c695ed25e Fixes #1238.  @antlr/antlr-targets might want to tweak their targets.
3506dcef1 add @Override to hush warnings. Manually did some of https://github.com/antlr/antlr4/pull/1066
9a0a54f0e Merge pull request #1405 from MrSampson/patch-1
b6eb4141c update contributors
41dd8f268 Merge branch 'patch-2' of git://github.com/MrSampson/antlr4 into MrSampson-patch-2
aac6c03df Merge pull request #1408 from parrt/ghosthope-master
9d3415ed8 Merge branch 'master' of git://github.com/ghosthope/antlr4 into ghosthope-master
ee614db2c Merge pull request #1231 from twz123/iterative-tree-walker
14bc6c4a6 add appveyor badge
d7996391f tweak issue template
0f3927016 Added notes for more features of the optimized fork
f8d57a701 Create initial documentation page for the optimized fork
a20a87fad typo
b4bf40e47 Update getting-started.md
cc59a359a contributor name was added
8b8afbf16 Update contributors.txt
3ed4348ab Update getting-started.md
d1bc0f5ca Merge remote-tracking branch 'origin/master' into iterative-tree-walker
cc59a699d Add myself to the list of contributors using the date of my first commit.
a6161326e Merge branch 'master_upstream'
dc0e952fc Removed an obsolete line.
df40db35a Merge pull request #1400 from janyou/readme
474c33e5d Merge pull request #1396 from janyou/swift-target-readme
fdee94d52 Merge pull request #1404 from parrt/expr-performance-test
933cc6e63 make the switch an ENV not property.
f5776dd4f Merge pull request #25 from sharwell/optimized-dyn-disambig
daa35d2ed Cache the set of return states which enable the dynamic disambiguation optimization
29683633e Implement dynamic disambiguation
e71284b30 Fix failure to identify prefix rules that also recurse
e1a186714 change name of switch that turns off new opt.
c182e3d5b Fixes #994 poor performance in left-recursive expressions with very large expression input phrases; builds off of @sharwell solution that explicitly checks for key return states in expr rules
fca5e458d Implement dynamic disambiguation
178f956b1 Merge pull request #1403 from sharwell/fix-1402
f19697156 Fix failure to identify prefix rules that also recurse
0e091d1b0 modify info on Swift target
04e9078dd from master
6c2d4e622 Fixes #1211
a74b33339 update swift-target.md
dc2c9b039 Fixes #1188
d09276d9f Merge pull request #1395 from janyou/suppress-warnings
50a3455e2 tweak templates
f3215d73d add github templates
221103647 Test only swift on os x
ace7758f6 Fixes #1280
aeaba48a0 pull in lygav python impl of TokenStreamRewriter
10fb0a304 add info on Swift target
0bb622e50 Merge pull request #1391 from parrt/factor-antlr-tests
007a445be factor antlr() out of target test files into single spot
b5b69b60d Merge pull request #1386 from parrt/fix-travis-osx
21324a02d fix travis
93c04a193 fix travis
83c1462b8 Merge pull request #1389 from parrt/fix-appveyor
12e8bfb56 Merge branch 'master' of github.com:parrt/antlr4
2cb02d9b4 add UTF-8 encoding on all antlr runs during test, fix appveyor
02055beb7 suppress swift test warnings
11bcd168f Update appveyor.yml
d6f95111f Update appveyor.yml
68180117d Merge pull request #1292 from BurtHarris/addAppveyor
c7a68514b Merge pull request #1384 from parrt/fix-1317
4e6e7edf0 Fixes #1317
39ddd0da3 improve doc on build
f3be375c3 Merge pull request #1379 from ericvergnaud/python3-token-stream-rewriter
5f41dd2fc Merge pull request #1378 from ericvergnaud/javascript-visitor-clarification
8ed110529 Merge pull request #1353 from marcohu/fix_1233
df89ad618 don't require output encoding in antlr4 mvn plugin
06285d16d improve doc on runtime targets
d580f2184 Use JFrame instead of JDialog to get "expand window" buttons
cfc538bfd Merge branch 'master' of https://github.com/antlr/antlr4 into fix_1233 to solve
37ff8a316 Merge pull request #1248 from renatahodovan/configset-contains
f4eb903d5 Merge pull request #1382 from parrt/hanjoes-swift-target-new-test
27a59988a take out flag for cmake as it doesn't work on linux. turn off C++ tests on mac
8e33fe49f turn out stderr output from clang++ compiles
66be087c3 merge old and new travis; improve so it runs C++ on osx; update BaseSwiftTest so it mirrors other targets; remove unneeded dep in pom to some json stuff
cb785d5d1 Use method to strip quotes. This could be factored out as it seems generally usefull
89e3f063c Remove path from grammar name when present
d9af7896a Don't require imports directory
bfc8bf045 Ensure valid output encoding
5612d1069 Signed certificate of origin
a077d3d07 Merge branch 'master' of https://github.com/antlr/antlr4 into fix_1233
9d926d6c2 port from python 2 version
c50b10f86 clarify javascript visitor code
e0b326677 Migrating the current Swift tests to the new testing framework.
49d9a39a7 in the middle of transition.
cddb8a6ff Update Swift.stg
281d62475 Update RuntimeMetaData.swift
abf2a1883 Update SwiftTarget.java
fc3fa2446 Update Swift.stg
61248c8a4 Update Swift.stg
d1dbfccdd Update Swift.test.stg
033e5ed13 Update Trees.swift
e3cc81bc3 Update RuleContext.swift
97c5ebd35 Update Parser.swift
977daa676 Disable the JDK 6 and 7 builds on this branch -- no point loading up Travis.
a3d37a082 Work around apparent rvm bug that is in Travis's Xcode image.
8bd415587 Use Xcode 8 on the Travis macOS builds, because we need Swift 3.
4d0718b6f Install mono on the macOS Travis builds.
eadb6b21e Use Homebrew to install python3 on the macOS build on Travis.
c024166df Fix path to Swift test files.
a641c69fc Fix build script -- there is no readlink -f on macOS.
1c6f6c4ae Ignore .xcuserdata, and remove those that were here already.
5ac3a7923 Explicitly lay out the matrix for Travis.
017f6586d Have both Linux and macOS tests on Travis.
c611a6446 Remove commented-out debug code.
b52e8e46b Skip Swift tests on non-Mac platforms #1339
cf1487feb Replace init with init_ in DelegatorRuleOverridesLookaheadInDelegate.
ee469ae6d Regenerate the tests using mvn -Pgen generate-test-sources.
6d6327aa9 Move the Token declarations into an enum.
869bcfe42 Mark matchWildcard call with a try, since it can throw.
cb1fcd929 Implement TreeNodeWithAltNumField with a TODO.
66ac63877 Remove line that just looks completely bogus and which causes error messages.
76cebe470 Update Swift.test.stg to include templates that were added on master since the initial fork.
5b37b3e23 Add OptionalValue declarations to each of the non-Swift targets, so that this can be used in the test templates.
dbe832766 Wrap some values with <OptionalValue> declarations.
6d5d1f1c2 Add build system changes needed for Swift backend.
c989064e3 Added (part of) a Swift backend.
69d9cfe30 Added a Swift runtime.
5ad9e4dfc Update contributors.txt
771e8e9c6 Sign the contributor's agreement.
d9490e16d undo damage done by intellij pulling out imports from python :(
883e013cc Fixes #1318.
34f0c66a8 Fixes #1342.
10ce5d262 Merge pull request #1311 from sebkur/allow_path_in_token_vocab
144baa9ad cannot raise string exceptions
30e4ec29c Merge pull request #1251 from renatahodovan/execATN-conflictingAlts
c0b5a40bc Python3 target filterPrecedencePredicates should take collection:set not list as hint. Manual implementation of https://github.com/antlr/antlr4/pull/1247/files
f0177c96f Merge pull request #1246 from renatahodovan/nextToken-self-fix
f72fe32e8 Merge pull request #1228 from tobiasbueschel/patch-1
69dbb3e33 update readme
48836372d update readme
417aaf225 update readme
e32799f04 Merge pull request #1371 from FloorGoddijn/master
db5d30628 Merge pull request #1187 from renatahodovan/atnconfig_instantiate
1ba897ace Merge pull request #1186 from renatahodovan/python-enterrule-typo
3db55f134 pull in contrib sig from renatahodovan
fc97a6a00 Merge pull request #1376 from parrt/improve-build-path-checks
79dbb8be9 small improvements to locating mono, node
978851f70 update doc
f5d3e4cfe Improve robustness and correctness of two functions used by intellij antlr4 plugin to show ambig and lookahead parse trees.
201925b2d tweak doc
35c6babd4 Merge branch 'harriman-issue#1295'
ae1bc4caf add new test for all runtimes for issue #1295
d0620a65f Merge branch 'issue#1295' of git://github.com/harriman/antlr4-updates into harriman-issue#1295
0dcf626e8 tweak doc
19d956cfc tweak doc
9a027e229 Merge branch 'sebkur-fix_typos'
515315465 Merge branch 'fix_typos' of git://github.com/sebkur/antlr4 into sebkur-fix_typos
a736e4b9e tweak doc
31f3a57a6 Rewritten test to make it threadsafe (and Travis happy)
a6a730405 finish binary example and update documentation
81efb0e36 Merge branch 'master' of https://github.com/antlr/antlr4 into fix_1233
1931ff728 * Added a specialized ctor for Any for nullptr.   There was an inconvenience that an Any created with a nullptr returned false for isNull() * removed warning [forcing value to bool 'true' or 'false'] when calling is<>
c8cb2fde7 add binary test case
7d83a3aa9 More cleanup; use save Collection comparison
00347217e More cleanup; use save Collection comparison, fix Javadoc
5f5a8949f Handle removed dependency
78155af49 add test to verify https://github.com/antlr/antlr4/issues/1369 doesn't drop two empty alts.
0ffb0310d rm dead code
c5acec19d Move what used to be AfterGrammar template from a test in legacy runtime tests to tool test and remove from runtime test functionality.
125a509e4 Fixes #1369 by removing any redundant edges.
1aa3c957e add test for extra atn issues. currently failing.
02a35589f check errors before output value in tests
5adf79121 revert Go "fix"
b4d8982e9 Merge branch 'master' of git://github.com/NoodleOfDeath/antlr4
cf5a79a5b Merge pull request #1362 from sridharxp/stgwotempvar
ba4cf0677 run tests in parallel on travis
ab8d17472 ANTLR4 generated incorrect code to access return value of recursive rule
3d8f81a63 update contributors.txt
c37848cfc Merge pull request #1366 from parrt/multi-threaded-tests
9675c822a update doc, add lock so antlr used atomically in unit tests so we can run in parallel.
30fbe07b2 Merge pull request #1365 from parrt/add-postfix-types-in-args
4f3c7738f ignore :: in C++ arg declarations; add test.
5aae2edb2 support x:T notation in rule arguments, update documentation, improve [...] scope parsing testing
03fa75efb differentiate prefix/postfix type decl.
3abb19325 Merge pull request #1363 from DanMcLaughlin/master
7efb6c240 Merge pull request #1364 from ericvergnaud/fix-c#-tests
04a340165 disabling legacy tests because the overall build process is too long for travis
c35aec6ff optionally delegate assertEquals to RuntimeTestSupport delegate, to enable target specific assertXxx behaviour
3062d09e9 Merge pull request #48 from FloorGoddijn/master
9ac9c1c79 Overhaul of the TokenStreamRewriter class.
e5aa03c0b Merge branch 'master_upstream'
af0ac9e2b Fixed a number of mem leaks in TokenStreamRewriter.
13fbdbb84 Sign CLA
6e09f0834 InvokeRule without Fix without Temporary variable
56c5508a3 Merge pull request #1358 from hanjoes/master
35782f59a Adding hanjoes to contributors.txt.
4290bdbaa Merge pull request #1357 from parrt/doc-runtimetests
d534efdf9  update doc on the runtime test mechanism. change the name of BaseDebugParserTestDescriptor to BaseDiagnosticParserTestDescriptor.
a7ecf0332 rename the SingleTest class and and Java doc.  make errors="" actually set to null to be more clear.
ccad5bd9b merge in new runtime test mechanism
08e9776a4 shift template-based runtime test to legacy, new mechanism uses annotation to get multi-line strings into java. all tests pass minus about 15 in C#
253cd172a Merge pull request #1351 from DanMcLaughlin/master
ef29c1db7 travis updated to use jdk7 not 6
ea7a61c48 Fixes #1327, Fixes #1352
068ff9d3d Cleanup; explicitly handle checksum creation failure
11daaf933 Use Java 7 compatible lifecycle plugin
5d8dcf019 Adds unit tests for the dependency management
7944fafcb Adds grammar dependency management to have grammars processed when references change
c5f73abb4 Factor out helper method to make it reusable
be585f6a8 Make graph accessible to the outside
8450599e7 Enable tests for all targets.
74d094bee Merge branch 'master_upstream'
bed38c6b0 Cleaning up for production use. Tests succeed now.
e6703267d Don't let compiler warnings make the tests fail.
da57be191 Avoid warnings when building on Linux.
0a6717596 Preload the antlr runtime for tests on Linux (e.g. Travis).
90b369815 Simplified running commands on command line from Java.
d3d512677 Need the test folder content.
dec5aae9e Bring back the sym-linked lib but use the correct one.
510a895a0 Need to see the lib folder.
ea17830f3 Link failed with sym-linked library in local dir, so link directly.
2593b1a20 Trying to find linker error.
916d60256 Merge remote-tracking branch 'refs/remotes/DanMcLaughlin/master'
e0090254a using new preprocessor macro ANTLR4CPP_DLL in stead of the windows defined _WINDLL to define ANTLR4CPP_PUBLIC and EXPIMP_TEMPLATE for dll configurations. There was a problem when the static lib was used at a client dll ( which itself defines the _WINDLL)
0da507aa1 Let's try clang++.
490604b10 Focus on a single compiler to ease debugging.
57f2a157e Search explicitly for clang-3.6++
6535df81c sudo is required
ca9ee65da Enabled docker builds in Travis + require a more modern clang compiler.
b9307b548 g++5 couldn't be found, so try clang++ instead.
dbaf5189b We need g++5 for C++11 with codecvt.
5d783bf82 Missed to catch exceptions for compiler version print.
5bcbea82e Log compiler path and version for debugging.
e62c267f7 Add a bit more logging so we can see what worked and what didn't.
2254369bb Continuing effort to get Travis happy finally.
7f16fe620 alter test so it works with all targets
da342af01 added sync() per other targets to LL(1) decisions
19e7e9ee5 Merge branch 'master' of github.com:antlr/antlr4
29fa9ba36 Merge pull request #1344 from pboyer/patch-4
b8ac1ebb3 unignore 2 tests for Go
f29a7940d Merge pull request #1345 from pboyer/intervalSetBug
8fc8b6e56 Merge pull request #1346 from parrt/merge-cpp
061177fab tweak doc
5fc57fb0b Go needs to mimic other tests; regenerated.
01e3ffa7e optimize imports.
9bb49842e cleanup
aace3de38 Fix bug in interval set
b366a8405 fix some issues with tests after merge
3ee3093f8 fix some issues with tests after merge
f8bec27d6 bring Go target templates up to same args as others.
3d0678508 reuse code to builld named actions. all file model objects have it now.
51d38110b trying a refactoring to test if i can push back
893ecf981 Update Go documentation
1c3a5879e Set required runtime version to 4.6.
92b032820 Merge branch 'master_upstream'
3b3fe3da5 Merge branch 'master_upstream'
71c52eb0f building 4.6 runtime requires 4.5 antlr mvn plugin
5337b4142 Merge pull request #1341 from parrt/set-version-4.6-in-code
ffaedd209 Set version in code to 4.6.
bbfca7c99 Merge pull request #1340 from parrt/fix-1337
e5ec462e2 Fixes #1337. Add's sync() call back to LL(1) decisions; all targets updated (causing failed test in Go).  Altered test for new output of errors. regen'd tests.
0c6ee8fa6 Update actions.md
6d12b85e1 Update contributors.txt
cd5744b83 Fixed runtime tests after latest changes.
95c850e5f set version in prep for 4.6
bcfa70c4e test templates were missing visitor-related templates. slight improvement to test generator.
803e72ba3 tweak
cbbdbaac7 add Go target links in doc
741407b28 Merge pull request #1326 from pboyer/changeFork
028ef8e8e Merge pull request #1321 from pboyer/master
44a9c48dd Merge pull request #85 from pboyer/testVisitors
fc35818c5 Update import statements after merge
37631d119 Regen runtime-testsuite
485465ee7 Merge pull request #83 from pboyer/reduce-model-changes
b444d5164 Fix contributors merge conflict
6472f30d2 Merge pull request #80 from pboyer/removePortDebug
08ecd5109 Merge pull request #1324 from parrt/model-updates-for-new-targets
b15c37fd0 Merge pull request #81 from pboyer/movedocs
646b35284 Merge pull request #84 from pboyer/runner-mei-merge
451fe239c Merge pull request #79 from wjkohnen/go1.7.3
9728fd59b Merge remote-tracking branch 'origin/master'
0bfeb80aa Merge branch 'runner-mei-patch-4'
8ebd12918 Fix merge conflict
0799e838b weird. missed a few files. these are to simplify get filename functionality.
62badff2e Pull again from parrt's branch 'model-updates-for-new-targets'. tests pass.
abdb0b6a4 Merge branch 'model-updates-for-new-targets' of github.com:parrt/antlr4 into reduce-model-changes
2c98b5d32 incorporate in a single commit all changes needed to support generating header files. many fewer diffs with C++ target codegen now.
7eb6aec61 Add runtime
6d022379b Pull in parrt's branch 'model-updates-for-new-targets' which appears to have freshened some non Go stuff as well.  Simplify Go filename construction.
5e9211b09 Re-enabled all tests again.
40e19e5d3 refactor so getRecognizerFileName() etc... delegate to Target; default is same behavior. adds "is header" arg as well in prep for C++
75794a588 track different types of StructDecl elements so Go can do setters/getters.
c0cedc424 track different types of StructDecl elements so Go can do setters/getters.
e71e95080 Merge branch 'master_upstream'
8b8094c04 appears to be an ST bug that doesn't see arrays of len 0 as missing; convert array to List.
e0521400c rm need for isRuleContext in templates; refer to underlying grammar object.
1b7fc4119 sign cla
85f2a8784 rm recognizerName field where possible
95dbf7b44 look for go in path during tests
f553056a2 Fix unused import error
8b67d2418 Move go target docs
0541f34a7 Merge with origin/master
aa568711d Remove PortDebug
d9c6ca4a3 Travix: Update to current stable Go version.
3e1c0282a Update contributors.txt
f134ef930 Fix the expected error message in test
2f628a110 Fix another typo
6a8a93286 Move a @since tag to start of a new line
8b16ff180 Fix a few typos in Javadoc
b9f81ab04 Merge pull request #45 from RYDB3RG/master
af624e132 contributors.txt update
f3c55be33 fix RulePropertyRef_stopHeaderHeader typo
1feef18e3 ParserRuleContext init members
f794820aa Reworked mutex handling + updated C++ template for a var init
48e1f060d Merge pull request #78 from pemcconnell/master
0463e14e5 http:// not allowed in go import path
961f087d7 Allow paths as tokenVocab option
c9f85f1d6 Merge pull request #41 from FloorGoddijn/master
951d0f06d cpp runtime: updated the vs2013 project reflecting the last changes
adef6f690 Cleanup var statements (#73)
07f7dae78 Fix type decl
191b8f9d5 Cleanup var statements
9e77edcb3 ATNState::transactions improvements
aabf4baf6 Added default c-tor to ParseTree + improved createInstance.
014070de6 Converted smart pointer for the rule context in RecognitionException
52523024e Merge pull request #1306 from parrt/master
aabd148bf Merge branch 'cgudrian-dfs'
285c7fca6 resolve contribs conflict
244438609 Remove JavaScript PORT_DEBUG, re-enable runtime tests for other language targets (#69)
8d0ae8599 Merge pull request #1221 from ericvergnaud/javascript-consistency
6d59acce4 Merge pull request #1304 from nielsbasjes/EditorConfig
0bf739fa7 Added Niels Basjes to the contributers list
4312b3782 pull test changes in
b889c49bb Merge pull request #1305 from sharwell/line-endings
3f103dab1 Add default .gitattributes
5b8d262c8 Updated the editorconfig based on Sam's feedback.
07f57564e Update contributors.txt
57f2e0f00 Introduce EditorConfig for easier configuration of IDEs
5cbc1b0ba Merge pull request #67 from pboyer/upstreamMerge
29c1a9f22 removed reference to local node installation
42347c078 Fix merge failure
60662c4b7 Fix remaining tests (#64)
a4e343806 Some small optimizations.
4897bd857 Simplified memory management for volatile parsing part.
145bfca69 Update lexer_action.go (#62)
75dd652d7 fixed visitAtom implementation
e5bab64e4 ignoring the visitors tests for Java, C# and Python
4842e61a0 generated test sources
cb590334b the visit methods now return a value
eb292adb1 implemented templates for the JavaScript visitors
039656152 made visitAtom work for terminal nodes
a90c9d666 started work at the Visitors templates by making a copy of the Listener templates
10f15cabf errorNode() impl (#59)
a5859fd54 Fix PredictionContext merge() typo (#61)
2e92b38bf Updated unit tests after last refactoring.
499d9d3f8 Print test arrays in java style (#50)
9b76bc6a7 Update Go.stg
bb9a08b15 Merge pull request #48 from runner-mei/patch-4
6c225337a Trying a different compiler in Travis CI.
e8f00f807 Another attempt for Travis CI.
fc5c1a29f Next attempt to get the C++ runtime compiled in Travis CI.
bb5d7ef0b Set minimum cmake version to 3.1 for C++ target.
c968b5209 alts outer-context flag/counter in ATNConfig is now unsiged.
0e0ecfafd Fixed a number of warnings for VS.
a7b949923 Code generation + Travis CI fixes.
70fd9527a C++11 for Travis CI.
8280beb56 Refactoring of further int values, mostly converting them to size_t.
de4df872f Updates to get all tests green again.
1b2b95450 auto locate go path on the windows
5c63bc9a0 Some clean up and xcode unit test fixes.
4394cd20b Merge branch 'master_upstream'
f983fac7c Added support for hidden symbols on Linux and OSX.
80a75894c eliminte trailing whitespace
7ebfabc17 Addomg verbosity: minimal fpr appveyor
e71ebef3e Adding -q to mvn command line for appveyor
7e2213dde appveyor.yml cpaitialization
d9047112f Appveyor w/ semantic version
e9aa00e05 Merge pull request #1172 from renatahodovan/default-pass
5ea09b30f Merge pull request #1255 from renatahodovan/pythonic-python
28eb19f52 Explicitly delete copy c-tor and operator for DefaultErrorStrategy.
3b98c1136 Merge branch 'master_upstream'
ee3e918e4 Exclude also vscode project data when generating the source zip.
03d5fb124 Make Python targets more pythonic.
0b2d5304a tweak links in doc
19345919d Bug fixes + XCode 8 updates
683cbee2e Merge pull request #1261 from BurtHarris/fixGitignore
10f5ebe22 Repair comment
8e44b19ec Update .gitignroe fules for VisualStudio etc.
9a7e0b5e4 Merge branch 'master' into fixGitignore
fdfe97c81 Merge branch 'master' of https://github.com/antlr/antlr4
2f92b4750 tweak links in doc
5b461ddd7 Merge pull request #1268 from andjo403/windowsPaths
401f53fa3 Merge pull request #1289 from ericvergnaud/docs
d3ceee504 Enhancing the doc
9766dff5d Javascript performance. Was add new string.hash function - murmurhash3_gc.js (https://github.com/garycourt/murmurhash-js/blob/master/murmurhash3_gc.js). Performance of the function increased in two times
46df58d5d The JavaScript ParseTreeVisitor now implements a depth-first traversal by default.
1df9d54e0 Reverted all Travis changes. Didn't do what I expected.
82a22b51a Trying to counter weird Travis error.
5afa240b9 Add Travis settings necessary for C++11 compilation.
b0fc8ea0d Added semicolon generation after some of the header decls.
5a0608be2 fix op filter error when trying to replaceSingleToken
ae435d06c add TokenStreamRewriter to Python2 runtime
6f31e94cb Merge pull request #39 from nburles/fix-utf8-bom
6638883d9 Second parameter is end pointer, not size
c61735ea7 Merge pull request #39 from willfaught/interfaces
982488f6c Merge pull request #44 from wjkohnen/clasign
6f6282157 More optimizations of the runtime.
6e780c90b update the runtime paths to work in windows the old paths contained a / at the beginning of the path e.g. "/C:/" but the expected path is "C:/" and due to this all test for the targets javascript, python and c# failed on windows.
71a2a1295 update the runtime paths to work in windows the old paths contained a / at the beginning of the path e.g. "/C:/" but the expected path is "C:/" and due to this all test for the targets javascript, python and c# failed on windows.
89987e357 + comment in .gitignore
a51b70995 Fix .gitignore for target language directory
ee2510e65 Output formatting in DefaultErrorStrategy and init of generated member vars.
c15b0d9a3 Fix the initialization of conflictingAlts in execATN in Python targets.
543a06944 Fix comparisons in ATNConfigSet.__contains__ of Python targets.
510e21d7c Fix eofToken access in ListTokenSource.nextToken() by Python targets.
9371c7900 Sign CLA.
1869d9dac Reverting revision  [a2d6b62]
6230fbe5d Add myself to contributor list
b566551e7 Levelize credits
7abfbc60c Change deployment scripts location and updated doc.
ccc1fc493 Fix for merge problems in PredictionContext.
78a12168b Merge pull request #35 from nburles/fix-prediction-context
07ceea124 Some additional changes for removal of the == operator override.
a41774ef0 Merge pull request #33 from nburles/remove-equality-override
dc35da2a7 Only compare the addresses, as in Java
fa0816d24 Without these tests, the demo crashes at PredictionContext.h:247 : k->hashCode()
b05c8286b Corrected a warning suppression check.
8335d32b2 Various smaller changes to fix compilation and other problems.
50d1f2c6c Merge pull request #32 from nburles/fix-whitespace-escape
db8339b45 Leave spaces alone unless escaped spaces requested
a1d61541b Remove the std::operator== override in CPPUtils.h
183b7ce0a Merge pull request #30 from nburles/compare-contents-not-just-addresses
63b5e61c1 Merge pull request #31 from nburles/simpler-hash-calls
8bbdbe037 Merge pull request #28 from nburles/fix-intervalset-comparisons
f3110fdd2 Merge pull request #27 from nburles/fix-ATN-serialization
64f1a654b There is no need to call ->hashCode() explicitly
3705e1b3f Consistent formatting in Any.h + converted CPPUtils.cpp to utf-8.
198da78c9 Compare contents in SemanticContext::*::operator==
739bf3a75 Compare contents in LexerATNConfig::operator==
903fa473c Compare contents in ATNConfigSet::operator==
a025c9eef Compare contents in ATNConfig::operator==
c60f1bb8f Fixed a bug + raised warning level in Visual Studio
3ee53a79d Fixes comparisons of IntervalSets
3535830c9 Fixes ATN serialization
d089c8d86 Manually merged pull request #26.
282e193e6 Corrected an include.
eee86d829 Small updates for VS 2013/2015.
8a5f6815f Rework of the visitor implementation
51b91f4d1 Merge pull request #24 from timoc/master
6d33a6f19 updated contributors list with my details
4825417cf Merge pull request #41 from willfaught/cla
7724dd2cd external project cmake example, needed set C++ 11
d6d50457f Updated CMake for demo to: - Only require JRE - Support out of tree build from antlr repostitory - Support Superproject build with ExternalAntlr4Cpp cmake module
ef077b0b3 Merge pull request #21 from chrisheller/chrisheller-patch-1
bba03383d Bring chrisheller-patch-1 branch up to date
365e0f2df Fixed a few warnings.
e8766953d Added kosl90 to contributors list.
3a1c80354 Add Chris Heller to contributors.txt
56b32a7b3 Merge pull request #20 from nburles/master
ffd65e3ef Added to contributors.txt
d46ef90aa Fixed some cmake issues. Closes issue #13 and issue #8.
196e8ab53 Actually use a channel in the demo grammar.
5e313471d Merge pull request #19 from nburles/fix-utf8-bom
be2c98f64 Merge pull request #18 from nburles/fix-intervalset-iterator
fb9d0678e Merge pull request #17 from nburles/add-lexer-channels
91a7657d7 A few small corrections after the previous merge.
ef247f193 Merge pull request #16 from Nic30/master
568c844d8 Updated .gitignore for .vscode.
ea3161580 Use the iterative version of the ParseTreeWalker as default implementation
7ca7acd08 Use two queues instead of a custom linked memory structure
78de17279 Fix warnings with int to char cast
d3027f18f Added code to detect and handle the UTF-8 BOM if present, otherwise the utfConverter leaves it in the stream
24a26d90d Sign CLA
7f42bc602 Add interface build checks for tree types and generated base listeners
28e013e68 Merge pull request #37 from willfaught/elist
faeb00a68 Merge pull request #38 from willfaught/strings
95a93de83 Merge pull request #29 from willfaught/prod-name
ba5cf0060 vector::erase invalidates any iterators at/after the erase position
53f2a67b9 Add an iterative version of the ParseTreeWalker
cf258582f correct spelling error
9fa56a4cd Added lexer channels enum to match Java target
22794aa2d fix liblib in library names
1ceb6a45d indent fix
027dde5e3 LexerAction instances shared_ptr fix
5feca3e33 Fix ParserErrors.testContextListGetters to print strings
edbf3225e Fix LRWithLabelsListener to call EList.String
a05dea54e Fix test case build errors
53fab2c61 Merge pull request #35 from willfaught/parser-token
0fed0b068 Following #1218, ensure consistency of ATNConfigSet hashing strategy in JavaScript
6de938dbf Merge pull request #11 from chrisheller/chrisheller-patch-1
c4785ab8b Document cmake minimum version.
8046c28a5 A few more text escape calls in DefaultErrorStrategy.
c462e0312 Merge branch 'master_upstream'
2352ff03e getSerializedATN() wasn't properly overwritten.
a6699eac3 Merge pull request #9 from nuuman/patch-1
a2d6b62a1 Update DefaultErrorStrategy.cpp
47e268dfe Merge pull request #1218 from ericvergnaud/python-performance-issue
26c409103 Fix #1217 The root cause was that ATNConfigSet was not using he required custom hashing strategy for ParserATNSimulator. The commit includes a number of additional fixes, related to code that was never executed before due to the root cause. A similar issue is also likely to exist in the JavaScript runtime, I'll fix it later.
15430d4bf remove unwanted semicolon in generated Python code
c260ce75d make it possible to add breakpoint
c8f80b167 Small naming fix.
a127f34a7 Changed Win deployment script to produce 2 smaller zips instead of a big one.
01638eb24 Updated README.md.
f6515e5aa A few adjustments in doc + runtime tests for the changed library name + input stream handling.
1da7e8eea Fixed #include.
a2f5cf12f Fixed + simplified loading text to parse from a file.
8c62740f1 Missed to commit an XCode project change.
d718fa9f4 Windows runtime deployment.
89442c6cb Changes for deployment.
97bf8d63f TODO
6c717889b Make protected members package public
c877bee8f PORT_DEBUG fix
7b1059ab6 Cleanup
e4498eca8 delete js test code, unused license/readme
19dbd8e74 A fix for the Linux demo project.
3b5b400d0 A few fixes for the previous listener change.
4a7ec859a Simplified parse tree listener handling.
c9ac8a6c6 Generate Go tests
c72ef6383 Clean up Go test templates
80f99b50d Fix Property calls in generated Go tests
4e560db25 Fix SetErrorHandler and NewBailErrorStrategy calls in generated Go tests
40b7e1bf1 Fix parser tokens in generated Go tests
29eaba44b Merge pull request #34 from willfaught/style-charstream-commontoken-dfa
c58b3a918 Merge pull request #33 from willfaught/atn-runtime-cleanup
3e621970f Clean up Go runtime char stream, common token, and dfa code
dd48c0fbd A few final touches to make runtime tests passing.
e68cdc3c0 A few of the previously reverted changes are still good.
4a8010b4e Revert "A few more places that no longer pass a shared_ptr around."
538455eae ATN runtime format, style, and comment cleanup
c8a9d75cf Merge pull request #21 from wjkohnen/gofmt
e50bf8b4c Update README.md
e86bc4efc Update README.md
e50b0ca8c Merge pull request #28 from willfaught/fmt-structure
728af5952 A few more places that no longer pass a shared_ptr around.
dcb0d4aa6 Some cleanup.
0814d49cf Small alt check fix in LexerATNSimulator.
7ac5252fe Explicitly delete copy c-tor + copy operator to for Visual Studio.
748862198 Visual Studio build fix.
b9c28d8c9 Signficantly simplified Token handling.
23eeae4b4 Simplification of the ATN config lookup handling.
c920d5733 DFA states member is now a set (instead of a map).
81b464a37 fixup! Fix the layout of some generated Go code
c3d6c20ee Fix the layout of some generated Go code
e9d2a04be Removed shared_ptr instances for ATNConfigSet.
fec23ce98 Simplified equality check in ATNConfigSet.
b8fcb5f30 More performance increase for C++ target (25% now).
bc5d6e9c4 tool/Go: gofmt generated code.
1cbbc1b76 Merge branch 'antlr-upstream'
d18109ecc Merge branch 'feature/addtests'
3a95a36e3 12% speed improvement for C++ runtime.
ce5fb5298 Merge pull request #27 from wjkohnen/buildsys
963f4fc50 ... and for Linux the same.
b90398f8a A few fixes for Visual Studio after added the xpath stuff.
ff129bead Some smaller fixes for Windows.
a4bc611fd Changed namespaces + fixed runtime tests.
f8f872bfc runtime-testsuite/Go: fix recursion
ce4daca3a Update README.md
53ffa6086 Update README.md
3c45483d3 Update README.md
cd30fe461 Merge pull request #25 from wjkohnen/buildsys
6d881c395 Merge pull request #23 from willfaught/fmt
bf7cc8ce8 runtime-testsuite/Go: Cache Go test environment and make it self-contained.
1bf006bd9 Merge pull request #22 from wjkohnen/predef-idents
55e9ca347 Merge pull request #20 from wjkohnen/tool-package2
73248ac2e Some changes in the C++ target doc + a some template fixes.
94ded73cb Change multi-line template signatures into one line
a94377d2a Add space after commas separating two vars
06e4bb1cd Add spaces around template var binder "|"
6a89c4529 Remove line-ending semicolons
fc275721b Add spaces around == and !=
d4d46b293 Combine multiple spaces around ::= into one
4cdc421ce Replace 4 spaces with a tab
d6339f5cf Added some notes about Unicode to the C++ target doc.
80ced92d5 Added informations about C++ target specific stuff to the docs.
696820e2e tool/Go: Add predefined identifiers to list of keywords.
b8867c732 Fixed warning in C++ code generation and remove obsolete file.
4a6b68c6f All C++ runtime tests pass now.
4f8951e5e tool/Go: enable -package option
ac664a91b A few more fixes.
b7ade0ade TestParseTrees + TestSemPredEvalLexer C++ test groups pass now.
be2e71130 TestListeners C++ tests pass now.
44ee0a52e Merge pull request #19 from willfaught/header
28ccc4962 TestParseTrees passes now.
6bf119383 All tests of TestLeftRecursion.java now pass.
86014ac3a TestParserExec tests pass now.
52028c52c Prevent generated file header from being package doc
6515a84d6 Change generated file header to full sentence
a0fd4a767 Merge pull request #17 from wjkohnen/issue16
950acca7c Sort values of BitSet.
6abe69f6e Merge pull request #15 from wjkohnen/timeout2
814a1821b TestParserErrors passes now.
08f844af0 Fixed 2 problems found by runtime tests.
815bb9598 TestLeftRecursion passes, but with some disabled tests.
4fd4e5181 runtime-testsuite/go: Make path construction slightly more robust.
f2dc9f476 runtime-testsuite/Go: timeout tests, honour GOROOT
a0665677c Lots of fine tuning to get more tests passing.
439a3b786 Merge pull request #12 from wjkohnen/travis
6ddc7c9d4 Merge pull request #9 from willfaught/master
207d63827 Merge pull request #11 from wjkohnen/emptysctx
6500b59e4 travis: Use gimme instead of curl, because we're netizens.
a0314a894 Change File.separator to File.pathSeparator
781aac789 travis: install Go 1.6.2
7e8fb7a7f Handle empty current GOPATH when setting GOPATH
0b0d202c4 runtime/Go semantic context: NewAND, NewOR create empty operands
9562d87d4 Change willfaught/antlr4 to pboyer/antlr4
8d863ea19 Change antlr/antlr4 to willfaught/antlr4
3434e802b Fix test GOPATH env var to include current GOPATH
34877767c Change package alias antlr4 to antlr
92793a9dc Rename "this" receiver to "t"
10eb1a197 Rename Lexer.mode to setMode
128ec07dd Merge pull request #4 from willfaught/master
1208f9769 Rename Go files back to snake case
b503116e1 Move runtime/Go/src/antlr to runtime/Go/antlr
fe1d61d9d Merging
103dc662c Fix "misMatched"
08c17b850 Rename Go files back to camel case
bf88d2747 Move runtime/Go/antlr to runtime/Go/src/antlr
95b7f488a Merge branch 'master' into feature/addtests
27b76b5a3 Fixed token toString() so it produces the output expected by the tests.
7080d0466 Export LL1Analyzer.look
a20b1abb9 Change generated Go code to import Go runtime from github.com
31d21ff4d Update templates
ed5b4d14f antlr4 -> antlr
99d6b812c Remove test code
b93bdc33a Merge pull request #5 from wjkohnen/find-go
220439ac7 Merge pull request #6 from wjkohnen/fix-misMatched
657be5f1a Fixed generation code for lexer tests.
b1b8de748 Fixed a number of issues in the generated tests.  Many more to go.
bdc4f6a48 Merge branch 'feature/addtests' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
bebb63a12 Updated generation a bit.
89c01af24 Merge branch 'master' into feature/addtests
f103e05bc Some additions for better operation.
3e21e0b6e Regenerate all of the tests with the latest test generation template.
b920bb701 Added run support to the test runner.
a3e89e56c Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
e96929939 remove accidentally checked-in library file
b3a17b00a Set up so we compile link all of the files in the test directory.  Does not run the binary afterwards, but that's because there's still a print being generated somewhere (and I have no idea where it's coming from).
7652b9af7 Go runtime: Change misMatched to mismatched.
b6f384bf3 runtime test/Go: Use $PATH and $GOROOT to find go executable.
9e30f3f26 A few minor changes related to building via cmake.
7d69f2420 Small corrections to make the test module compile.
3da5b8600 Merge branch 'master' into feature/addtests
be65ccd25 Moved the library build instructions to the library readme.
90ac6c0f6 Change "a" back to "this" in comment
c8e60b7fe Down to one issue -- tree::ParseTree and tree:RuleNode aren't related as they are in some tests.  Need to find either the right relationship or come up with an alternative test.
aafc76a7e Fixed big memory consumption problem.
b4da14973 Lint: Remove underscores from names
71dba8cb9 Lint: Change all caps "LOOK" in names to camel case
29b6530a2 Lint: Omit redundant declaration types
5c4e28487 Lint: Replace -= 1 with --
c81f2a790 Lint: Drop nil declaration assignments
056f3f62c Lint: Rename initialisms to uppercase
26df61753 Lint: Outdent else blocks for if blocks that return
33fd68778 Lint: Replace += 1 with ++
9ed1ed100 Lint: Use uniform receiver names
8a1b68feb Lint: Omit unused second range var
3b742ed8c Lint: Rename generic "this" var
ae4dcbabb properly escape templates
6aa03ed9a attempts compilation
b0d5fed2c Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
5361aedc0 Vet
21fa2d131 Format
baaf1fe72 Rename files to snake case
519277f78 Rename package antlr4 to antlr
bff76c3e5 Move runtime/Go/LICENSE.txt to antlr
4200fc7c1 Delete unneeded README.md
db5a5c5c1 Move runtime/Go/src/antlr4 to runtime/Go/antlr
3406acabe Correct nil check in ParserATNSimulator
e6ebc5c36 Fixed demo compilation for Visual Studio 2013.
e572d178b Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
e2d545fb2 Changed exception object back in error reporting + removed precompiled headers with cmake.
1d6c66ec4 Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
cc50675a6 Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4
0617dfff5 Rework of the include structure.
33e3825db Merge branch 'feature/addtests' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
03024cb46 Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
d95a0b664 Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4
2cbed8150 Further work to have full Unicode support.
66a9ee53a The generation + runtime now uses std::string instead of std::wstring almost everywhere.
0eebbdd78 Updated VS solution with newly added files.
75bb33888 Added 2 newer support classes to the runtime.
1cf3fafcd Merge branch 'master' into feature/addtests
313c971ca Bug fixes + update C++ template.
eb5760b87 Merge branch 'master' of https://github.com/DanMcLaughlin/antlr4 into feature/addtests
33ba47b6a Merge commit '303684dd34095f2f569b6b635ddb3f6f43d116e8' into feature/addtests
23873b4a1 Fixed one more warning in VS.
d8442c0bf Update VS solution (removed deleted file references).
fda0210b5 Some updates to demo grammar, Cpp.stg and XCode projects.
9920efd35 More updates to the C++ test runner.
db6f3c983 Added the start of linker support.
5653be36f Runtime Cpp: disable warnings and remove unnecessary files
0835c52a6 Moved Marcin to Other Contributors list.
13b135f4e VS warns about /* */ comments if the are directly after a *.
faddb83fe Enabled unused-parameter warning in XCode and fixed all occurences.
337f0467a Added yet another possible code section + EOF rework.
a21275573 Cleaned up the test runner.
cbe9c2f1f Returned other tests to active duty.
eddf2a1b3 updating BaseCppTest.java
b976a4942 fix which tests to run for cpp
358bde884 Updated runtime tests with updated generation templates.
303684dd3 Removed jar that should not have been in the repository.
ce1e72b9a Merge branch 'feature/templates-org'
6c21223d2 Added cmake target (Linux + OSX) + fixed a number of warnings.
4e3325c9d Fix initialization of ATNConfig when computing SLL prediction termination condition.
297f00350 Added more supported grammar sections (named actions).
00083a77e Adding missing file.
e4fd10694 update packages
43dc1df1f More needed files.
b69076ab7 update docs
6c08a6e72 update docs
f018236ad Added minimum set of files.
6433481bc Added minimum set of files.
04577d137 Merge branch 'master' of https://github.com/davesisson/antlr4
f30aa125a Updated VS solution after project restructuring.
6ac56de5f Updated OSX demo project after structure changes.
a44741a73 No need for public headers in an OSX dylib.
578075519 Reorganized runtime folder structure + created ios target in XCode.
a83849a0c Missing parts from the previous commit.
bfe3a7cc6 Renamed XCode demo project and set install name for dylib.
9ca136a8b Ignore jar files in the repo.
6939b7f92 Split XCode demo + libraries into individual projects.
dd4327840 Linux + Mac build fixes.
0fada33ce Fix for a weird lambda execution problem in Windows.
8ff852640 Updated Windows project to be compilable as both static and dynamic lib.
5489ad2ac A few changes in test files after running the test generator (mostly reordered tests).
aa88e7bc3 A bit more complex expression in demo parser.
d98f3f793 Fixed a number of subtle bugs that broke parsing.
6d9d52b45 Solving a tricky issue with prematurely released prediction contexts.
c9c294a72 2 smaller changes
185e956f9 VS solution update + compile fixes after latest changes.
7b030d601 A C++ runtime fix that caused test parsing to fail with syntax error.
89093f731 Some finetuning in template files for C++.
886600ed5 Fixes to make ANTLR and it's tests fully compile.
bfcb0a71c Switching to current ANTLR revision, final part.
d4ebdfa13 Switching to current ANTLR revision, part 3.
99ada0550 We need recursive locks to synchronize access.
8cd043a6d Switching to current ANTLR revision, part 2.
54168905b Fix typo in the parser of the Python3 runtime.
2a2b6acba links update
f8341c782 Switching to current ANTLR revision, part 1.
e79f91743 Found a solution to make RVO in ATNDeserializer work.
0e5b501aa Merge branch 'feature/…
@timeraider4u
Copy link

Sorry for posting to an old thread, but I found this issue through Google search. The language server protocol (or LSP for short) might be relevant to deal with these kind of questions. VS and other IDEs have already support for it. One drawback is that syntax highlighting is not supported yet by LSP (but it is in the backlog for the next version, see microsoft/language-server-protocol#124).

@timeraider4u
Copy link

Once the mentioned issue is resolved, I will try to implement a language server for the ANTLR4 grammar itself as proposed in antlr4ide/antlr4ide#186

@ghost
Copy link

ghost commented Mar 1, 2018

You can add syntax highlighting to a language using only a textMate file in VS Code. I am working on a language extension for a language for which there is an antlr2 parser, I don't know if there is a tool that allows converting the lexer rules in a .g file to a textMate file. As to error lists, I think the best way to implement it is to write a language server that interacts with the parser

@timeraider4u
Copy link

Yes, you are right. As https://www.eclipse.org/community/eclipse_newsletter/2017/may/article3.php mentions, most LSP plugins for Eclipse also use TextMate for syntax highlighting. As Antlr can already generate code for syntax highlighting, I am not happy that syntax highlighting is not already supported through LSP because if it were, all dependencies could just be on the server side and the plug-ins for IDEs would get plain simple to implement.

There currently is no converter for Antlr <-> TextMate grammars, as far as I know. There is a syntax highlighting grammar in TextMate for Antlr, but it seems to be an older version (Antlr2/Antlr3?): https://github.com/textmate/antlr.tmbundle

@timeraider4u
Copy link

Yes, you are right. As https://www.eclipse.org/community/eclipse_newsletter/2017/may/article3.php mentions, most LSP plugins for Eclipse also use TextMate for syntax highlighting. As Antlr can already generate code for syntax highlighting, I am not happy that syntax highlighting is not already supported through LSP because if it were, all dependencies could just be on the server side, the plug-ins for IDEs would get plain simple to implement and implementing syntax highlighting would not be much work.

There currently is no converter for Antlr <-> TextMate grammars, as far as I know. There is a syntax highlighting grammar in TextMate for Antlr, but it seems to be an older version (Antlr2/Antlr3?): https://github.com/textmate/antlr.tmbundle But even if it were Antlr version 4, it would require writing a converter anyway (and this is not something I would rather avoid if possible).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants