forked from jasder/antlr
Emit grammar file name instead of generated class file name in generated implementation of getGrammarFileName(). Implement getGrammarFileName() in generated parser.
This commit is contained in:
parent
8773c34375
commit
d166e6d5d1
|
@ -133,6 +133,9 @@ public class <parser.name> extends <superclass> {
|
||||||
<parser:(ctor)()>
|
<parser:(ctor)()>
|
||||||
<funcs; separator="\n">
|
<funcs; separator="\n">
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getGrammarFileName() { return "<parser.grammarFileName>"; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getTokenNames() { return tokenNames; }
|
public String[] getTokenNames() { return tokenNames; }
|
||||||
@Override
|
@Override
|
||||||
|
@ -720,7 +723,7 @@ public class <lexer.name> extends Lexer {
|
||||||
_interp = new LexerATNSimulator(this,_ATN);
|
_interp = new LexerATNSimulator(this,_ATN);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getGrammarFileName() { return "<lexerFile.fileName>"; }
|
public String getGrammarFileName() { return "<lexer.grammarFileName>"; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getTokenNames() { return tokenNames; }
|
public String[] getTokenNames() { return tokenNames; }
|
||||||
|
|
|
@ -35,6 +35,7 @@ import org.antlr.v4.tool.Grammar;
|
||||||
import org.antlr.v4.tool.LexerGrammar;
|
import org.antlr.v4.tool.LexerGrammar;
|
||||||
import org.antlr.v4.tool.Rule;
|
import org.antlr.v4.tool.Rule;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -42,6 +43,7 @@ import java.util.Set;
|
||||||
|
|
||||||
public class Lexer extends OutputModelObject {
|
public class Lexer extends OutputModelObject {
|
||||||
public String name;
|
public String name;
|
||||||
|
public String grammarFileName;
|
||||||
public Map<String,Integer> tokens;
|
public Map<String,Integer> tokens;
|
||||||
public LexerFile file;
|
public LexerFile file;
|
||||||
public String[] tokenNames;
|
public String[] tokenNames;
|
||||||
|
@ -58,6 +60,7 @@ public class Lexer extends OutputModelObject {
|
||||||
this.factory = factory;
|
this.factory = factory;
|
||||||
this.file = file; // who contains us?
|
this.file = file; // who contains us?
|
||||||
Grammar g = factory.getGrammar();
|
Grammar g = factory.getGrammar();
|
||||||
|
grammarFileName = new File(g.fileName).getName();
|
||||||
name = g.getRecognizerName();
|
name = g.getRecognizerName();
|
||||||
tokens = new LinkedHashMap<String,Integer>();
|
tokens = new LinkedHashMap<String,Integer>();
|
||||||
LexerGrammar lg = (LexerGrammar)g;
|
LexerGrammar lg = (LexerGrammar)g;
|
||||||
|
|
|
@ -33,11 +33,13 @@ import org.antlr.v4.codegen.*;
|
||||||
import org.antlr.v4.codegen.model.chunk.*;
|
import org.antlr.v4.codegen.model.chunk.*;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class Parser extends OutputModelObject {
|
public class Parser extends OutputModelObject {
|
||||||
public String name;
|
public String name;
|
||||||
|
public String grammarFileName;
|
||||||
public String grammarName;
|
public String grammarName;
|
||||||
@ModelElement public ActionChunk superclass;
|
@ModelElement public ActionChunk superclass;
|
||||||
public Map<String,Integer> tokens;
|
public Map<String,Integer> tokens;
|
||||||
|
@ -55,6 +57,7 @@ public class Parser extends OutputModelObject {
|
||||||
this.factory = factory;
|
this.factory = factory;
|
||||||
this.file = file; // who contains us?
|
this.file = file; // who contains us?
|
||||||
Grammar g = factory.getGrammar();
|
Grammar g = factory.getGrammar();
|
||||||
|
grammarFileName = new File(g.fileName).getName();
|
||||||
grammarName = g.name;
|
grammarName = g.name;
|
||||||
name = g.getRecognizerName();
|
name = g.getRecognizerName();
|
||||||
tokens = new LinkedHashMap<String,Integer>();
|
tokens = new LinkedHashMap<String,Integer>();
|
||||||
|
|
Loading…
Reference in New Issue