org.eclipse.xtext.generator.parser.antlr.ex.common
Class AntlrFragmentHelper

java.lang.Object
  extended by org.eclipse.xtext.generator.parser.antlr.ex.common.AntlrFragmentHelper
Direct Known Subclasses:
SyntheticTerminalAwareFragmentHelper

public class AntlrFragmentHelper
extends java.lang.Object

The fragment helper will be passed to the extended Antlr grammar template and allows to override certain aspects. This is an attempt to circumvent the limitations of static java extensions.

Author:
Sebastian Zarnekow - Initial contribution and API

Constructor Summary
AntlrFragmentHelper(Naming naming)
           
 
Method Summary
 java.util.Collection<? extends AbstractElement> getAllAlternatives(Grammar g)
           
 java.util.Collection<? extends AbstractElement> getAllAssignments(Grammar g)
           
protected
<T extends AbstractElement>
java.util.Collection<T>
getAllElementsByType(Grammar g, java.lang.Class<T> type)
           
 java.util.Collection<? extends AbstractElement> getAllGroups(Grammar g)
           
 java.util.Collection<? extends AbstractElement> getAllPredicatedElements(Grammar g)
           
 java.util.Collection<? extends AbstractElement> getAllUnorderedGroups(Grammar g)
           
 java.lang.String getAntlrTokenFileProviderClassName(Grammar grammar)
           
 java.lang.String getContentAssistLexerGrammarFileName(Grammar g)
           
 java.lang.String getContentAssistLexerSuperClass(Grammar g)
           
 java.lang.String getContentAssistParserClassName(Grammar g)
           
 java.lang.String getContentAssistParserGrammarFileName(Grammar g)
           
 java.lang.String getInternalContentAssistLexerClassName(Grammar g)
           
 java.lang.String getInternalContentAssistParserClassName(Grammar g)
           
 java.lang.String getInternalParserClassName(Grammar g)
           
 java.lang.String getLexerClassName(Grammar g)
           
 java.lang.String getLexerGrammarFileName(Grammar g)
           
 java.lang.String getLexerSuperClass(Grammar g)
           
 java.lang.String getParserClassName(Grammar g)
           
 java.lang.String getParserGrammarFileName(Grammar g)
           
 boolean isSyntheticTerminalRule(TerminalRule rule)
          Synthetic terminal rules are rules which will not lead to a real terminal rule in the generated lexer grammar but only provide the respective token types instead.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AntlrFragmentHelper

public AntlrFragmentHelper(Naming naming)
Method Detail

getAntlrTokenFileProviderClassName

public java.lang.String getAntlrTokenFileProviderClassName(Grammar grammar)

getLexerClassName

public java.lang.String getLexerClassName(Grammar g)

getParserClassName

public java.lang.String getParserClassName(Grammar g)

getInternalParserClassName

public java.lang.String getInternalParserClassName(Grammar g)

getLexerGrammarFileName

public java.lang.String getLexerGrammarFileName(Grammar g)

getParserGrammarFileName

public java.lang.String getParserGrammarFileName(Grammar g)

getContentAssistParserClassName

public java.lang.String getContentAssistParserClassName(Grammar g)

getInternalContentAssistLexerClassName

public java.lang.String getInternalContentAssistLexerClassName(Grammar g)

getLexerSuperClass

public java.lang.String getLexerSuperClass(Grammar g)

getContentAssistLexerSuperClass

public java.lang.String getContentAssistLexerSuperClass(Grammar g)

getInternalContentAssistParserClassName

public java.lang.String getInternalContentAssistParserClassName(Grammar g)

getContentAssistLexerGrammarFileName

public java.lang.String getContentAssistLexerGrammarFileName(Grammar g)

getContentAssistParserGrammarFileName

public java.lang.String getContentAssistParserGrammarFileName(Grammar g)

getAllAlternatives

public java.util.Collection<? extends AbstractElement> getAllAlternatives(Grammar g)

getAllGroups

public java.util.Collection<? extends AbstractElement> getAllGroups(Grammar g)

getAllUnorderedGroups

public java.util.Collection<? extends AbstractElement> getAllUnorderedGroups(Grammar g)

getAllAssignments

public java.util.Collection<? extends AbstractElement> getAllAssignments(Grammar g)

getAllPredicatedElements

public java.util.Collection<? extends AbstractElement> getAllPredicatedElements(Grammar g)

isSyntheticTerminalRule

public boolean isSyntheticTerminalRule(TerminalRule rule)
Synthetic terminal rules are rules which will not lead to a real terminal rule in the generated lexer grammar but only provide the respective token types instead.

Returns:
true if this rule should not get an own lexer body.

getAllElementsByType

protected <T extends AbstractElement> java.util.Collection<T> getAllElementsByType(Grammar g,
                                                                                   java.lang.Class<T> type)