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)()>
|
||||
<funcs; separator="\n">
|
||||
|
||||
@Override
|
||||
public String getGrammarFileName() { return "<parser.grammarFileName>"; }
|
||||
|
||||
@Override
|
||||
public String[] getTokenNames() { return tokenNames; }
|
||||
@Override
|
||||
|
@ -720,7 +723,7 @@ public class <lexer.name> extends Lexer {
|
|||
_interp = new LexerATNSimulator(this,_ATN);
|
||||
}
|
||||
|
||||
public String getGrammarFileName() { return "<lexerFile.fileName>"; }
|
||||
public String getGrammarFileName() { return "<lexer.grammarFileName>"; }
|
||||
|
||||
@Override
|
||||
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.Rule;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
@ -42,6 +43,7 @@ import java.util.Set;
|
|||
|
||||
public class Lexer extends OutputModelObject {
|
||||
public String name;
|
||||
public String grammarFileName;
|
||||
public Map<String,Integer> tokens;
|
||||
public LexerFile file;
|
||||
public String[] tokenNames;
|
||||
|
@ -58,6 +60,7 @@ public class Lexer extends OutputModelObject {
|
|||
this.factory = factory;
|
||||
this.file = file; // who contains us?
|
||||
Grammar g = factory.getGrammar();
|
||||
grammarFileName = new File(g.fileName).getName();
|
||||
name = g.getRecognizerName();
|
||||
tokens = new LinkedHashMap<String,Integer>();
|
||||
LexerGrammar lg = (LexerGrammar)g;
|
||||
|
|
|
@ -33,11 +33,13 @@ import org.antlr.v4.codegen.*;
|
|||
import org.antlr.v4.codegen.model.chunk.*;
|
||||
import org.antlr.v4.tool.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
/** */
|
||||
public class Parser extends OutputModelObject {
|
||||
public String name;
|
||||
public String grammarFileName;
|
||||
public String grammarName;
|
||||
@ModelElement public ActionChunk superclass;
|
||||
public Map<String,Integer> tokens;
|
||||
|
@ -55,6 +57,7 @@ public class Parser extends OutputModelObject {
|
|||
this.factory = factory;
|
||||
this.file = file; // who contains us?
|
||||
Grammar g = factory.getGrammar();
|
||||
grammarFileName = new File(g.fileName).getName();
|
||||
grammarName = g.name;
|
||||
name = g.getRecognizerName();
|
||||
tokens = new LinkedHashMap<String,Integer>();
|
||||
|
|
Loading…
Reference in New Issue