src/services/SymbolValidation.java
BeforeProposed
+1−1
33public final class SymbolValidation {
44 public static void check(Grammar grammar) {
55 for (var alternatives:grammar.productions.values()) for (var rule:alternatives) for (String symbol:rule) {
6 if (!grammar.terminals.contains(symbol) && !grammar.productions.containsKey(symbol)) continue;
6 if (!grammar.terminals.contains(symbol) && !grammar.productions.containsKey(symbol)) throw new IllegalArgumentException("undefined-symbol");
77 }
88 for (String token:grammar.tokens) {
99 if (token.equals("$")) throw new IllegalArgumentException("reserved-token");