From 6725411f9f07ab6586740421b9835f7791691715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Spo=CC=88nemann?= Date: Mon, 11 Jul 2016 17:09:49 +0200 Subject: [PATCH] [generator] Use KeywordHelper to obtain all keywords --- .../antlr/AbstractAntlrGrammarGenerator.xtend | 4 +-- .../antlr/AbstractAntlrGrammarGenerator.java | 26 +++++-------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.xtend index 290971375..f9c62313d 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.xtend @@ -139,7 +139,7 @@ abstract class AbstractAntlrGrammarGenerator { protected def compileTokens(Grammar it, AntlrOptions options) ''' «IF options.isBacktrackLexer» tokens { - «FOR kw : allKeywords.sort.sortBy[-length]» + «FOR kw : keywordHelper.allKeywords» «keywordHelper.getRuleName(kw)»; «ENDFOR» «FOR rule: allTerminalRules» @@ -195,7 +195,7 @@ abstract class AbstractAntlrGrammarGenerator { ''' protected def compileKeywordRules(Grammar it, AntlrOptions options) { - val allKeywords = allKeywords.sort.sortBy[-length] + val allKeywords = keywordHelper.allKeywords val allTerminalRules = allTerminalRules val synthetic_kw_alternatives = newArrayList diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.java index 74257f214..cbeec89f5 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/parser/antlr/AbstractAntlrGrammarGenerator.java @@ -297,14 +297,8 @@ public abstract class AbstractAntlrGrammarGenerator { _builder.append("tokens {"); _builder.newLine(); { - Set _allKeywords = GrammarUtil.getAllKeywords(it); - List _sort = IterableExtensions.sort(_allKeywords); - final Function1 _function = (String it_1) -> { - int _length = it_1.length(); - return Integer.valueOf((-_length)); - }; - List _sortBy = IterableExtensions.sortBy(_sort, _function); - for(final String kw : _sortBy) { + Set _allKeywords = this.keywordHelper.getAllKeywords(); + for(final String kw : _allKeywords) { _builder.append("\t"); String _ruleName = this.keywordHelper.getRuleName(kw); _builder.append(_ruleName, "\t"); @@ -442,17 +436,11 @@ public abstract class AbstractAntlrGrammarGenerator { protected CharSequence compileKeywordRules(final Grammar it, final AntlrOptions options) { CharSequence _xblockexpression = null; { - Set _allKeywords = GrammarUtil.getAllKeywords(it); - List _sort = IterableExtensions.sort(_allKeywords); - final Function1 _function = (String it_1) -> { - int _length = it_1.length(); - return Integer.valueOf((-_length)); - }; - final List allKeywords = IterableExtensions.sortBy(_sort, _function); + final Set allKeywords = this.keywordHelper.getAllKeywords(); final List allTerminalRules = GrammarUtil.allTerminalRules(it); final ArrayList synthetic_kw_alternatives = CollectionLiterals.newArrayList(); Iterable> _indexed = IterableExtensions.indexed(allKeywords); - final Function1, String> _function_1 = (Pair it_1) -> { + final Function1, String> _function = (Pair it_1) -> { String _value = it_1.getValue(); final String ruleName = this.keywordHelper.getRuleName(_value); StringConcatenation _builder = new StringConcatenation(); @@ -465,10 +453,10 @@ public abstract class AbstractAntlrGrammarGenerator { _builder.append("; }"); return _builder.toString(); }; - Iterable _map = IterableExtensions., String>map(_indexed, _function_1); + Iterable _map = IterableExtensions., String>map(_indexed, _function); Iterables.addAll(synthetic_kw_alternatives, _map); Iterable> _indexed_1 = IterableExtensions.indexed(allTerminalRules); - final Function1, String> _function_2 = (Pair it_1) -> { + final Function1, String> _function_1 = (Pair it_1) -> { if (((!this._syntheticTerminalDetector.isSyntheticTerminalRule(it_1.getValue())) && (!it_1.getValue().isFragment()))) { StringConcatenation _builder = new StringConcatenation(); _builder.append("(FRAGMENT_"); @@ -488,7 +476,7 @@ public abstract class AbstractAntlrGrammarGenerator { } return null; }; - Iterable _map_1 = IterableExtensions., String>map(_indexed_1, _function_2); + Iterable _map_1 = IterableExtensions., String>map(_indexed_1, _function_1); Iterable _filterNull = IterableExtensions.filterNull(_map_1); List _list = IterableExtensions.toList(_filterNull); synthetic_kw_alternatives.addAll(_list);