nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nitcc: better name of generated classes to avoid name conflicts
[nit.git]
/
contrib
/
nitcc
/
src
/
grammar.nit
diff --git
a/contrib/nitcc/src/grammar.nit
b/contrib/nitcc/src/grammar.nit
index
6cb7956
..
72a917c
100644
(file)
--- a/
contrib/nitcc/src/grammar.nit
+++ b/
contrib/nitcc/src/grammar.nit
@@
-568,10
+568,10
@@
class LRAutomaton
end
# Generate the parser of the automaton
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
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)
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)
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
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 "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"
add "\tsuper Parser"
add "\tredef fun start_state do return state_{states.first.cname}"
add "end"