• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Tool类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java PositionTrackingInputStream类代码示例发布时间:2022-05-22
下一篇:
Java AbstractWebScript类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap