当前位置: 首页>>代码示例>>Java>>正文


Java RuleNames.getRuleNames方法代码示例

本文整理汇总了Java中org.eclipse.xtext.xtext.RuleNames.getRuleNames方法的典型用法代码示例。如果您正苦于以下问题:Java RuleNames.getRuleNames方法的具体用法?Java RuleNames.getRuleNames怎么用?Java RuleNames.getRuleNames使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.xtext.xtext.RuleNames的用法示例。


在下文中一共展示了RuleNames.getRuleNames方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getGrammarPDAs

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
@Override
public SerializationContextMap<Pda<ISerState, RuleCall>> getGrammarPDAs(Grammar grammar) {
	RuleNames names = RuleNames.getRuleNames(grammar, true);
	RuleFilter filter = new RuleFilter();
	filter.setDiscardTerminalRules(true);
	filter.setDiscardUnreachableRules(false);
	filter.setDiscardRuleTypeRef(false);
	Grammar flattened = new FlattenedGrammarAccess(names, filter).getFlattenedGrammar();
	Builder<Pda<ISerState, RuleCall>> result = SerializationContextMap.<Pda<ISerState, RuleCall>>builder();
	for (ParserRule rule : GrammarUtil.allParserRules(flattened)) {
		RuleWithParameterValues withParams = RuleWithParameterValues.findInEmfObject(rule);
		AbstractRule original = withParams.getOriginal();
		if (original instanceof ParserRule && isValidRule((ParserRule) original)) {
			ISerializationContext context = createContext((ParserRule) original, withParams.getParamValues());
			try {
				Pda<ISerState, RuleCall> pda = createPDA(grammar, rule);
				result.put(context, pda);
			} catch (Exception e) {
				LOG.error("Error creating PDA for context '" + context + "': " + e.getMessage(), e);
			}
		}
	}
	return result.create();
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:25,代码来源:GrammarPDAProvider.java

示例2: generate

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
public void generate(final Grammar it, final AntlrOptions options, final IXtextGeneratorFileSystemAccess fsa) {
  this.keywordHelper = KeywordHelper.getHelper(it);
  this.originalGrammar = it;
  final RuleFilter filter = new RuleFilter();
  filter.setDiscardUnreachableRules(options.isSkipUnusedRules());
  final RuleNames ruleNames = RuleNames.getRuleNames(it, true);
  final Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar();
  boolean _isCombinedGrammar = this.isCombinedGrammar();
  new CombinedGrammarMarker(_isCombinedGrammar).attachToEmfObject(flattened);
  fsa.generateFile(this.getGrammarNaming().getParserGrammar(it).getGrammarFileName(), this.compileParser(flattened, options));
  boolean _isCombinedGrammar_1 = this.isCombinedGrammar();
  boolean _not = (!_isCombinedGrammar_1);
  if (_not) {
    fsa.generateFile(this.getGrammarNaming().getLexerGrammar(it).getGrammarFileName(), this.compileLexer(flattened, options));
  }
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:17,代码来源:AbstractAntlrGrammarGenerator.java

示例3: generate

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
@Override
public void generate(Grammar grammar, XpandExecutionContext ctx) {
	checkGrammar(grammar);
	
	RuleFilter filter = new RuleFilter();
	filter.setDiscardUnreachableRules(getOptions().isSkipUnusedRules());
	RuleNames ruleNames = RuleNames.getRuleNames(grammar, true);
	Grammar flattened = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar();
	super.generate(flattened, ctx);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:11,代码来源:AbstractAntlrGeneratorFragment.java

示例4: getRuleName

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
/**
 * Returns the effective rule name for the generated Antlr grammar.
 * Inherited rules may be prefixed by {@code super[0..9]*}. Otherwise the
 * prefix {@code rule or RULE_} is used.
 * @since 2.9
 */
public static String getRuleName(AbstractRule rule) {
	RuleWithParameterValues parameterValues = RuleWithParameterValues.findInEmfObject(rule);
	if (parameterValues != null) {
		return rule.getName();
	}
	RuleNames ruleNames = RuleNames.getRuleNames(rule);
	return ruleNames.getAntlrRuleName(rule);
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:15,代码来源:AntlrGrammarGenUtil.java

示例5: getModel

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
public Grammar getModel(final String model, final boolean dropUnreachable) throws Exception {
  EObject _model = super.getModel(model);
  Grammar grammar = ((Grammar) _model);
  RuleNames ruleNames = RuleNames.getRuleNames(grammar, false);
  RuleFilter filter = new RuleFilter();
  filter.setDiscardUnreachableRules(dropUnreachable);
  Grammar result = new FlattenedGrammarAccess(ruleNames, filter).getFlattenedGrammar();
  XtextResource resource = this.<XtextResource>get(XtextResource.class);
  resource.getContents().add(result);
  resource.setURI(URI.createURI("synthetic://flattened.xtext"));
  return result;
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:13,代码来源:GrammarFlatteningTest.java

示例6: initialize

import org.eclipse.xtext.xtext.RuleNames; //导入方法依赖的package包/类
public void initialize(final Grammar grammar) {
  this.grammar = grammar;
  this.ruleNames = RuleNames.getRuleNames(grammar, true);
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:5,代码来源:XtextGeneratorLanguage.java


注:本文中的org.eclipse.xtext.xtext.RuleNames.getRuleNames方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。