org.antlr.v4.tool.ast.GrammarRootAST Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of virtdata-lib-realer Show documentation
Show all versions of virtdata-lib-realer Show documentation
With inspiration from other libraries
/*
* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
* Use of this file is governed by the BSD 3-clause license that
* can be found in the LICENSE.txt file in the project root.
*/
package org.antlr.v4.tool.ast;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenStream;
import org.antlr.runtime.tree.Tree;
import java.util.HashMap;
import java.util.Map;
public class GrammarRootAST extends GrammarASTWithOptions {
public static final Map defaultOptions = new HashMap();
static {
defaultOptions.put("language","Java");
}
public int grammarType; // LEXER, PARSER, GRAMMAR (combined)
public boolean hasErrors;
/** Track stream used to create this tree */
public final TokenStream tokenStream;
public Map cmdLineOptions; // -DsuperClass=T on command line
public String fileName;
public GrammarRootAST(GrammarRootAST node) {
super(node);
this.grammarType = node.grammarType;
this.hasErrors = node.hasErrors;
this.tokenStream = node.tokenStream;
}
public GrammarRootAST(Token t, TokenStream tokenStream) {
super(t);
if (tokenStream == null) {
throw new NullPointerException("tokenStream");
}
this.tokenStream = tokenStream;
}
public GrammarRootAST(int type, Token t, TokenStream tokenStream) {
super(type, t);
if (tokenStream == null) {
throw new NullPointerException("tokenStream");
}
this.tokenStream = tokenStream;
}
public GrammarRootAST(int type, Token t, String text, TokenStream tokenStream) {
super(type,t,text);
if (tokenStream == null) {
throw new NullPointerException("tokenStream");
}
this.tokenStream = tokenStream;
}
public String getGrammarName() {
Tree t = getChild(0);
if ( t!=null ) return t.getText();
return null;
}
@Override
public String getOptionString(String key) {
if ( cmdLineOptions!=null && cmdLineOptions.containsKey(key) ) {
return cmdLineOptions.get(key);
}
String value = super.getOptionString(key);
if ( value==null ) {
value = defaultOptions.get(key);
}
return value;
}
@Override
public Object visit(GrammarASTVisitor v) { return v.visit(this); }
@Override
public GrammarRootAST dupNode() { return new GrammarRootAST(this); }
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy