aux = br.readLine(); //Línea de VN.
String fragmento_VN = aux.substring(6, aux.length() - 1);
split = fragmento_VN.split(", ");
for (String s : split) {
listaVN.add(new VN(s));
}
//Tratamos VT.
aux = br.readLine(); //Línea de VT.
String linea_VT = aux.substring(6, aux.length() - 1);
split = linea_VT.split(", ");
for (String s : split) {
listaVT.add(new VT(s));
}
//Tratamos P.
aux = br.readLine(); //Línea de P.
while ((aux = br.readLine()).compareTo("}") != 0) {
if (!aux.startsWith("//") && aux.length() != 0) {
split = aux.split(" ::= ");
VN antecedente = new VN(split[0]);
List<V> consecuentes = analizarConsecuentes(split[1], listaVN, listaVT);
producciones.add(new Production(antecedente, consecuentes));
}
}