On 24/08/2015 11:38, Bert Verhees wrote:
On 24-08-15 15:36, Thomas Beale wrote:
Antlr4 rule capabilities and particularly pattern matching is weaker than yacc/lex (in some cases quite a lot weaker),
Of course, Yacc/lex can only be used to generate C-code. It's functionality in pattern matching is limited to this.

nope - it can be used to generate anything (I use it to generate Eiffel code). The point is it can only generate 1 language.


To do whatever you need to do, writing a compiler, translating programming languages into another (transpiler), translating a query language into another, processing data, JSON,. XML, CSV, to many custom made targets, generated code accessible to choose for a listener/visitor or tree pattern, and having scoped symbol tables, that is where Antlr comes in.

actually - these are all output stages, and they are perfectly doable with any yacc/lex compiler serialiser - which is what the ADL workbench is, and what it does. Antlr des make a lot of this easier however.


Maybe the weakness is C-related? It is what one expects because the nature of Yacc/lex.

yacc/lex grammars have nothing to do with C - they work the same way with any language.

The weaknesses are mainly in the regex matching for string patterns - Antlr doesn't do anything like full regex. Its stateful sub-grammar handling needs a bit of work as well.

But I agree, it's probably the future, at least for a while.

- thomas


_______________________________________________
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Reply via email to