public boolean isGrammarRegular() {
        for(Production production:productions) {
            for(String result:production.getResults()) {
                if (result.length() > 2) {
                    return false;
                }
                if (this.isTerminal(String.valueOf(result.charAt(0)))) {
                    return false;
                }
                if ((result.length() == 2 && this.isTerminal(String.valueOf(result.charAt(0))))) {
                    return false;
                }
                if (String.valueOf(result.charAt(0)).equals("@") && production.getLhs().equals(this.startingSymbol)) {
                    return false;
                }
            }
        }
        return true;
    }