Alla fine ho risolto da solo usando le classi EnumSet ed Enum:
Il cui output è:codice:import java.util.EnumSet; public class Test { public static void main(String[] args) { Grammar g = new Grammar(EnumSet.allOf(Term.class), EnumSet.allOf(NonTerm.class), NonTerm.E, new Production[]{ new Production(NonTerm.E, NonTerm.T, NonTerm.E_), new Production(NonTerm.E_, Term.PLUS, NonTerm.T, NonTerm.E_), new Production(NonTerm.E_, Term.EPS), new Production(NonTerm.T, Term.NUM) }); System.out.println(g); } }
codice:GRAMMAR = { TERMINAL_SYMBOLS = [NUM, EPS, PLUS] NON-TERMINAL_SYMBOLS = [E, E_, T] START_SYMBOL = E PRODUCTIONS = [E -> [T, E_], E_ -> [PLUS, T, E_], E_ -> [EPS], T -> [NUM]] }

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando