Questo è un esempio un po' scarso, ma dai un'occhiata a quanto è più comprensibile una grammatica scritta con gli strumenti classici:
	codice:
	import java_cup.runtime.*;
  terminal PIU, MENO, PER, DIVISO, NUMERO, TONDAO, TONDAC, UGUALE; 
  non terminal expr_list, expr, exp, e, t, f;
  start with expr_list;
  expr_list ::= expr_list expr | expr;
  expr ::= e UGUALE {: System.out.println("Riconosciuta un'espressione"); :};
  e ::= e PIU t| e MENO t| t ;
  t ::= t PER f| t DIVISO f|f;
  f ::= TONDAO e TONDAC| NUMERO ;
 
Tutto l'esempio, funzionante dopo lunga e difficile istallazione delle librerie, lo trovi qui.
Dalle stesse parti trovi anche la teoria e come istallare le librerie.
A presto.