public static String exportDKBrics(Grammar g) {
		String s = "";
		
		// nonterminals and productions
		s += "\n" + productionsToDKBrics(g.startSymbol);
		
		for (NonTerminal n : g.nonTerminals.values()) {
			if (n != g.startSymbol) {
				s += "\n" + productionsToDKBrics(n);
			}
		}

		s += "\n/* terminals */\n";
		
		//char c = '0' - 1;
		char c = 32;
		
		// terminals
		for (Terminal t : g.terminals.values()) {			
			if (!(t instanceof LiteralTerminal)) {
				
				String subst;
				do {
					c++;
					subst = "'" + c + "'";
				} while (c == '\"' || c == '\\' || g.terminals.containsKey(subst));

				s += t.toString() + " : \"" + c + "\"\n";
			}
		}
		
		return s;
	}