This site's content was compiled from 1993 to 2006. Beyond that, Google is your friend.
Miguel Oliveira e Silva
An antlr grammar for Eiffel as described in ETL2.
This parser works, and is being used in the implementation of a prototype language named MP-Eiffel for evaluation of concurrent object-oriented language mechanisms.
The author writes:
Eiffel's grammar is not context free (not even close), and that makes it very hard to fully implement with antlr (or any other context-free based grammar generator such as yacc/bison).
In this grammar I was "forced" to impose instruction separation with ";", instead of making it optional (as ETL2 specifies). Also, I've used two antlr's semantic predicates ("<< >>?"), and one syntactic predicate ("( )?") for the debug instruction.
A look-ahead of *three* tokens (antlr -k 3) is required!