From Terence Parr's web page:
"Mantra is a clear descendant of Java in terms of syntax, but more like Ruby and Python because Mantra is dynamically typed (though mantra has type annotations). Like Ruby, Mantra has real closure support and the closure-following-method-call syntax for passing closures to functions. If Mantra has anything new and interesting, it's POP: pipeline-oriented programming or pipe-oriented programming. The pipeline statement implicitly launches threads on the actors in the pipeline and hooks up their input and output streams. The pipeline statement is directly analogous to pipes and I/O redirection on UNIX commandline.
The implementation translates Mantra to Java and therefore Mantra has the potential to run much faster than Ruby or Python due to their purely interpreted nature. The syntax and semantics of the language are fairly straightforward and the implementation is a devious but relatively small 2500 lines of Java."
The antlr3-maven-plugin will use the ANTLR tool to process grammars included in your project and generate code (typically Java source code) during the generate-sources phase of the build.
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.
"arser. See the first and second essays.There are several reasons to use ANTLR over one of the Python parsers like PLY and PyParsing. The GUI interface is very nice, it has a sophisticated understanding of how to define a grammar, it's top-down approach m