ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages.
9
votes
1answer
57 views
Unit test code for Antlr Grammar
I'm working on a grammar for the Visual Basic for Applications (VBA) programming language. I've discovered a way to make assertions about how a parse tree should be generated by using the Antlr ...
10
votes
3answers
578 views
Hello There Calculator
The open source project I work on uses Antlr4 pretty heavily, but I don't know much about it. I thought I would use April's Community Challenge as an opportunity to learn something about grammars, ...
10
votes
1answer
181 views
Here's my interface, so call me …maybe
I'm inspecting VBA code to find obsolete code constructs - namely explicit Call statements, like this:
Call DoSomething(42)
...
6
votes
1answer
139 views
Code Inspection: Procedure not used
Here is yet another piece of Rubberduck code, this time the nasty ProcedureNotUsedInspection class, whose role is to identify all procedures that are never called ...
11
votes
1answer
104 views
Rubberduck's “Rename” refactoring implementation
Knowing who's using what, and where, I've implemented a "Rename" refactoring for Rubberduck.
It works great - it needs further extensive testing, but the preliminary tests are very, very exciting.
...
17
votes
3answers
879 views
Who's using what where - turning code into symbols
The Rubberduck project is coming along pretty nicely, and for the next version the parsing strategy is getting yet another revision, and this time around it really feels like it's done right.
Or is ...
10
votes
2answers
121 views
Inspector Rubberduck - Take Two
Release 1.1 of Rubberduck only had a handful of implemented code inspections, more as a proof of concept than anything else. For release 1.2, we now have 19 implementations of our ...
12
votes
2answers
775 views
Wait, is that variable ever assigned?
One of the inspections we wanted to implement in Rubberduck for the next release, is one that finds all unassigned variables in a VBA project.
Implementing this inspection has been ...complicated ...
18
votes
3answers
319 views
Rubberduck's “Extract Method” refactoring implementation
With the ANTLR-powered parser, I was able to reimplement all code inspections from the last release build, and the rest of the inspections on the road map are now implementable.
Code inspections ...
6
votes
1answer
159 views
Rubberduck VBA Parser, Episode V: The ANTLR Strikes Back
I changed my mind. I don't want to implement 200-some Node classes. Instead, I'll be working directly with the ANTLR generated classes, to implement the Rubberduck ...
10
votes
2answers
138 views
Of Procedures and Variables: never enough nodes
Building on my ANTLR tree listener, I'm now starting to see how the whole thing is coming together.
As I proceed to implement the numerous Node classes I'm going ...
12
votes
1answer
244 views
Rubberduck VBA Parser, Episode IV: A New Hope
My home-made wannabe-a-parser was wet behind the ears, so I started seriously looking into more mature alternatives, and ended up adding a dependency to the ANTLR lexer/parser generator tool, and ...