本文整理汇总了Java中org.antlr.v4.Tool类的典型用法代码示例。如果您正苦于以下问题:Java Tool类的具体用法?Java Tool怎么用?Java Tool使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Tool类属于org.antlr.v4包,在下文中一共展示了Tool类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: Grammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public Grammar(Tool tool, GrammarRootAST ast) {
if ( ast==null ) {
throw new NullPointerException("ast");
}
if (ast.tokenStream == null) {
throw new IllegalArgumentException("ast must have a token stream");
}
this.tool = tool;
this.ast = ast;
this.name = (ast.getChild(0)).getText();
this.tokenStream = ast.tokenStream;
this.originalTokenStream = this.tokenStream;
initTokenSymbolTables();
}
开发者ID:antlr,项目名称:codebuff,代码行数:18,代码来源:Grammar.java
示例2: actionPerformed
import org.antlr.v4.Tool; //导入依赖的package包/类
@Override
public void actionPerformed(AnActionEvent e) {
if ( e.getProject()==null ) {
LOG.error("actionPerformed no project for "+e);
return; // whoa!
}
VirtualFile grammarFile = MyActionUtils.getGrammarFileFromEvent(e);
if ( grammarFile==null ) return;
LOG.info("actionPerformed "+grammarFile);
ConfigANTLRPerGrammar configDialog = new ConfigANTLRPerGrammar(e.getProject(), grammarFile.getPath());
configDialog.getPeer().setTitle("Configure ANTLR Tool "+ Tool.VERSION+" for "+ grammarFile.getName());
configDialog.show();
if ( configDialog.getExitCode()==DialogWrapper.OK_EXIT_CODE ) {
configDialog.saveValues(e.getProject(), grammarFile.getPath());
}
}
开发者ID:antlr,项目名称:intellij-plugin-v4,代码行数:20,代码来源:ConfigureANTLRAction.java
示例3: LeftRecursiveRuleAnalyzer
import org.antlr.v4.Tool; //导入依赖的package包/类
public LeftRecursiveRuleAnalyzer(GrammarAST ruleAST,
Tool tool, String ruleName, String language)
{
super(new CommonTreeNodeStream(new GrammarASTAdaptor(ruleAST.token.getInputStream()), ruleAST));
this.tool = tool;
this.ruleName = ruleName;
this.language = language;
this.tokenStream = ruleAST.g.tokenStream;
if (this.tokenStream == null) {
throw new NullPointerException("grammar must have a token stream");
}
loadPrecRuleTemplates();
}
开发者ID:antlr,项目名称:codebuff,代码行数:15,代码来源:LeftRecursiveRuleAnalyzer.java
示例4: getTemplates
import org.antlr.v4.Tool; //导入依赖的package包/类
public STGroup getTemplates() {
if (templates == null) {
String version = getVersion();
if ( version==null ||
!RuntimeMetaData.getMajorMinorVersion(version).equals(RuntimeMetaData.getMajorMinorVersion(Tool.VERSION)))
{
gen.tool.errMgr.toolError(ErrorType.INCOMPATIBLE_TOOL_AND_TEMPLATES, version, Tool.VERSION, language);
}
templates = loadTemplates();
}
return templates;
}
开发者ID:antlr,项目名称:codebuff,代码行数:14,代码来源:Target.java
示例5: OutputFile
import org.antlr.v4.Tool; //导入依赖的package包/类
public OutputFile(OutputModelFactory factory, String fileName) {
super(factory);
this.fileName = fileName;
Grammar g = factory.getGrammar();
grammarFileName = g.fileName;
ANTLRVersion = Tool.VERSION;
TokenLabelType = g.getOptionString("TokenLabelType");
InputSymbolType = TokenLabelType;
}
开发者ID:antlr,项目名称:codebuff,代码行数:10,代码来源:OutputFile.java
示例6: getFilenameFromFirstLineOfGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public String getFilenameFromFirstLineOfGrammar(String line) {
String fileName = "A" + Tool.GRAMMAR_EXTENSION;
int grIndex = line.lastIndexOf("grammar");
int semi = line.lastIndexOf(';');
if ( grIndex>=0 && semi>=0 ) {
int space = line.indexOf(' ', grIndex);
fileName = line.substring(space+1, semi)+Tool.GRAMMAR_EXTENSION;
}
if ( fileName.length()==Tool.GRAMMAR_EXTENSION.length() ) fileName = "A" + Tool.GRAMMAR_EXTENSION;
return fileName;
}
开发者ID:janyou,项目名称:ANTLR-Swift-Target,代码行数:12,代码来源:BaseTest.java
示例7: createSource
import org.antlr.v4.Tool; //导入依赖的package包/类
/**
* Writes ANTLR grammar to a temporary folder and generates java classes which are later compiled
* @param path location of the temporary folder created in compile method.
* @param grammar grammar which is saved as .g4 file and from which .java file is generated
* @throws IOException usually thrown when not enough rights at the given location.
*/
private void createSource(Path path, String grammar) throws IOException{
String tempPath = path.toString();
//Writing .g4 file to temp directory
Writer writer = null;
try{
Logger.log("Attempting to write grammar to temp directory "+tempPath+".");
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(tempPath + File.separator+"RuntimeGrammar.g4"), "utf-8"));
writer.write(grammar);
}
catch (Exception e){
Logger.log("Could not access temp directory.");
System.exit(1);
}finally{
writer.close();
}
Logger.log("Finished without errors.\n");
//Add a package name to each class so we would not have issues with naming
String packageString = "LaTeXEE"+Integer.toString(packageIncrement);
String[] args2 = {"-o",tempPath+File.separator+packageString,"-encoding","UTF-8","-package",packageString,tempPath+File.separator+"RuntimeGrammar.g4"};
Tool antlr = new Tool(args2);
//Generate .java files
antlr.processGrammarsOnCommandLine();
}
开发者ID:raulmrebane,项目名称:LaTeXEE,代码行数:34,代码来源:GrammarCompiler.java
示例8: buildFromSnapshot
import org.antlr.v4.Tool; //导入依赖的package包/类
public static ParserInterpreterData buildFromSnapshot(DocumentSnapshot snapshot) {
LexerInterpreterData lexerInterpreterData = LexerInterpreterData.buildFromSnapshot(snapshot);
if (lexerInterpreterData == null) {
return null;
}
List<SyntaxError> syntaxErrors = new ArrayList<>();
Tool tool = new CustomTool(snapshot);
tool.errMgr = new CustomErrorManager(tool);
tool.addListener(new ErrorListener(snapshot, tool, syntaxErrors));
tool.libDirectory = new File(snapshot.getVersionedDocument().getFileObject().getPath()).getParent();
ANTLRStringStream stream = new ANTLRStringStream(snapshot.getText());
stream.name = snapshot.getVersionedDocument().getFileObject().getNameExt();
GrammarRootAST ast = tool.parse(stream.name, stream);
Grammar grammar = tool.createGrammar(ast);
if (grammar instanceof LexerGrammar) {
return null;
}
tool.process(grammar, false);
ParserInterpreterData data = new ParserInterpreterData();
// start by filling in the lexer data
data.lexerInterpreterData = lexerInterpreterData;
// then fill in the parser data
data.grammarFileName = grammar.fileName;
data.serializedAtn = ATNSerializer.getSerializedAsString(grammar.atn, Arrays.asList(grammar.getRuleNames()));
data.vocabulary = grammar.getVocabulary();
data.ruleNames = new ArrayList<>(grammar.rules.keySet());
return data;
}
开发者ID:tunnelvisionlabs,项目名称:goworks,代码行数:36,代码来源:ParserInterpreterData.java
示例9: ErrorListener
import org.antlr.v4.Tool; //导入依赖的package包/类
public ErrorListener(@NonNull DocumentSnapshot snapshot, @NonNull Tool tool, @NonNull List<SyntaxError> syntaxErrors) {
Parameters.notNull("snapshot", snapshot);
Parameters.notNull("tool", tool);
Parameters.notNull("syntaxErrors", syntaxErrors);
this.snapshot = snapshot;
this.tool = tool;
this.syntaxErrors = syntaxErrors;
}
开发者ID:tunnelvisionlabs,项目名称:goworks,代码行数:10,代码来源:CompiledModelParserV4.java
示例10: loadGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
/** Same as loadGrammar(fileName) except import vocab from existing lexer */
private Grammar loadGrammar(final Tool tool, final String fileName,
final LexerGrammar lexerGrammar) {
GrammarRootAST grammarRootAST = tool.parseGrammar(fileName);
final Grammar g = tool.createGrammar(grammarRootAST);
g.fileName = fileName;
if (lexerGrammar != null) {
g.importVocab(lexerGrammar);
}
tool.process(g, false);
return g;
}
开发者ID:antlr4ide,项目名称:antlr4ide,代码行数:13,代码来源:ParseTreeCommand.java
示例11: createANTLRToolForLoadingGrammars
import org.antlr.v4.Tool; //导入依赖的package包/类
public static Tool createANTLRToolForLoadingGrammars() {
Tool antlr = new Tool();
antlr.errMgr = new PluginIgnoreMissingTokensFileErrorManager(antlr);
antlr.errMgr.setFormat("antlr");
LoadGrammarsToolListener listener = new LoadGrammarsToolListener(antlr);
antlr.removeListeners();
antlr.addListener(listener);
return antlr;
}
开发者ID:antlr,项目名称:intellij-plugin-v4,代码行数:10,代码来源:ParsingUtils.java
示例12: parseGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public static GrammarRootAST parseGrammar(Project project, Tool antlr, String grammarFileName) {
try {
String encoding = ConfigANTLRPerGrammar.getProp(project, grammarFileName, ConfigANTLRPerGrammar.PROP_ENCODING, "UTF-8");
char[] grammarText = Utils.readFile(grammarFileName, encoding);
String grammarTextS = new String(grammarText).replaceAll("\\r", "");
ANTLRStringStream in = new ANTLRStringStream(grammarTextS);
GrammarRootAST t = antlr.parse(grammarFileName, in);
return t;
}
catch (IOException ioe) {
antlr.errMgr.toolError(ErrorType.CANNOT_OPEN_FILE, ioe, grammarFileName);
}
return null;
}
开发者ID:antlr,项目名称:intellij-plugin-v4,代码行数:15,代码来源:ParsingUtils.java
示例13: InmemantlrGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public InmemantlrGrammar(Tool tool, GrammarRootAST ast) {
super(tool, ast);
}
开发者ID:julianthome,项目名称:inmemantlr,代码行数:4,代码来源:InmemantlrGrammar.java
示例14: InmemantlrLexerGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public InmemantlrLexerGrammar(Tool tool, GrammarRootAST ast) {
super(tool, ast);
}
开发者ID:julianthome,项目名称:inmemantlr,代码行数:4,代码来源:InmemantlrLexerGrammar.java
示例15: BuildDependencyGenerator
import org.antlr.v4.Tool; //导入依赖的package包/类
public BuildDependencyGenerator(Tool tool, Grammar g) {
this.tool = tool;
this.g = g;
String language = g.getOptionString("language");
generator = new CodeGenerator(tool, g, language);
}
开发者ID:antlr,项目名称:codebuff,代码行数:7,代码来源:BuildDependencyGenerator.java
示例16: GrammarTransformPipeline
import org.antlr.v4.Tool; //导入依赖的package包/类
public GrammarTransformPipeline(Grammar g, Tool tool) {
this.g = g;
this.tool = tool;
}
开发者ID:antlr,项目名称:codebuff,代码行数:5,代码来源:GrammarTransformPipeline.java
示例17: ErrorManager
import org.antlr.v4.Tool; //导入依赖的package包/类
public ErrorManager(Tool tool) {
this.tool = tool;
}
开发者ID:antlr,项目名称:codebuff,代码行数:4,代码来源:ErrorManager.java
示例18: LexerGrammar
import org.antlr.v4.Tool; //导入依赖的package包/类
public LexerGrammar(Tool tool, GrammarRootAST ast) {
super(tool, ast);
}
开发者ID:antlr,项目名称:codebuff,代码行数:4,代码来源:LexerGrammar.java
示例19: load
import org.antlr.v4.Tool; //导入依赖的package包/类
/** convenience method for Tool.loadGrammar() */
public static Grammar load(String fileName) {
Tool antlr = new Tool();
return antlr.loadGrammar(fileName);
}
开发者ID:antlr,项目名称:codebuff,代码行数:6,代码来源:Grammar.java
示例20: ToolANTLRLexer
import org.antlr.v4.Tool; //导入依赖的package包/类
public ToolANTLRLexer(CharStream input, Tool tool) {
super(input);
this.tool = tool;
}
开发者ID:antlr,项目名称:codebuff,代码行数:5,代码来源:ToolANTLRLexer.java
注:本文中的org.antlr.v4.Tool类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论