public static Set<String> getAllKeywords(Grammar g) { Set<String> kws = new HashSet<String>(); List<ParserRule> rules = allParserRules(g); for (ParserRule parserRule : rules) { List<Keyword> list = typeSelect(eAllContentsAsList(parserRule), Keyword.class); for (Keyword keyword : list) { kws.add(keyword.getValue()); } } List<EnumRule> enumRules = allEnumRules(g); for (EnumRule enumRule : enumRules) { List<Keyword> list = typeSelect(eAllContentsAsList(enumRule), Keyword.class); for (Keyword keyword : list) { kws.add(keyword.getValue()); } } return kws; }
private BiMap<CharSequence, String> createKeywordMap(Grammar grammar) { List<ParserRule> parserRules = GrammarUtil.allParserRules(grammar); List<EnumRule> enumRules = GrammarUtil.allEnumRules(grammar); Iterator<EObject> iter = Iterators.concat( EcoreUtil.<EObject>getAllContents(parserRules), EcoreUtil.<EObject>getAllContents(enumRules));
List<EnumRule> _allEnumRules = GrammarUtil.allEnumRules(g); Iterable<AbstractRule> _plus = Iterables.<AbstractRule>concat(_allParserRules, _allEnumRules); Collection<? extends AbstractElement> _allAlternatives = GrammarUtil.getAllAlternatives(g);
protected CharSequence compileRules(final Grammar it, final AntlrOptions options) { StringConcatenation _builder = new StringConcatenation(); { List<ParserRule> _allParserRules = GrammarUtil.allParserRules(it); List<EnumRule> _allEnumRules = GrammarUtil.allEnumRules(it); final Function1<AbstractRule, Boolean> _function = (AbstractRule rule) -> { return Boolean.valueOf(this._grammarAccessExtensions.isCalled(rule, it)); }; Iterable<AbstractRule> _filter = IterableExtensions.<AbstractRule>filter(Iterables.<AbstractRule>concat(_allParserRules, _allEnumRules), _function); for(final AbstractRule rule : _filter) { _builder.newLine(); CharSequence _compileRule = this.compileRule(rule, it, options); _builder.append(_compileRule); _builder.newLineIfNotEmpty(); } } { boolean _isCombinedGrammar = this.isCombinedGrammar(); if (_isCombinedGrammar) { CharSequence _compileTerminalRules = this.compileTerminalRules(it, options); _builder.append(_compileTerminalRules); _builder.newLineIfNotEmpty(); } } return _builder; }
_builder.newLine(); boolean _isEmpty = GrammarUtil.allEnumRules(it).isEmpty(); boolean _not = (!_isEmpty); if (_not) {