nitcc: better name of generated classes to avoid name conflicts
[nit.git] / contrib / nitcc / src / grammar.nit
index 6cb7956..72a917c 100644 (file)
@@ -568,10 +568,10 @@ class LRAutomaton
        end
 
        # Generate the parser of the automaton
-       fun gen_to_nit(filepath: String)
+       fun gen_to_nit(filepath: String, name: String)
        do
                var gen = new Generator
-               gen.gen_to_nit(self)
+               gen.gen_to_nit(self, name)
                var f = new OFStream.open(filepath)
                for s in gen.out do
                        f.write(s)
@@ -592,15 +592,15 @@ end
 private class Generator
        var out = new Array[String]
        fun add(s: String) do out.add(s)
-       fun gen_to_nit(autom: LRAutomaton)
+       fun gen_to_nit(autom: LRAutomaton, name: String)
        do
                var states = autom.states
                var gram = autom.grammar
 
-               add "# Parser generated by nitcc"
+               add "# Parser generated by nitcc for the grammar {name}"
                add "import nitcc_runtime"
 
-               add "class MyParser"
+               add "class Parser_{name}"
                add "\tsuper Parser"
                add "\tredef fun start_state do return state_{states.first.cname}"
                add "end"