Package com.sonar.sslr.api
Class Grammar
- java.lang.Object
-
- com.sonar.sslr.api.Grammar
-
- Direct Known Subclasses:
AcuCobolExtension
,CicsGrammar
,Cobol400Extension
,CobolGrammar
,DB2Grammar
,EnterpriseExtension
,GcosExtension
,HpExtension
,IleCobolExtension
,LexerlessGrammar
,MicrofocusExtension
public abstract class Grammar extends Object
UseLexerfulGrammarBuilder
to create instances of this class.This class is not intended to be instantiated or subclassed by clients.
-
-
Constructor Summary
Constructors Constructor Description Grammar()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static List<Field>
getAllRuleFields(Class grammarClass)
Find all direct and indirect rule fields declared in the given Grammar class.abstract Rule
getRootRule()
Each Grammar has always an entry point whose name is usually by convention the "Computation Unit".static List<Field>
getRuleFields(Class grammarClass)
Find all the direct rule fields declared in the given Grammar class.Rule
rule(GrammarRuleKey ruleKey)
Allows to obtain an instance of grammar rule, which was constructed byLexerlessGrammarBuilder
andLexerfulGrammarBuilder
.
-
-
-
Method Detail
-
getRuleFields
public static List<Field> getRuleFields(Class grammarClass)
Find all the direct rule fields declared in the given Grammar class. Inherited rule fields are not returned.- Parameters:
grammarClass
- the class of the Grammar for which rule fields must be found- Returns:
- the rule fields declared in this class, excluding the inherited ones
- See Also:
getAllRuleFields(java.lang.Class)
-
getAllRuleFields
public static List<Field> getAllRuleFields(Class grammarClass)
Find all direct and indirect rule fields declared in the given Grammar class. Inherited rule fields are also returned.- Parameters:
grammarClass
- the class of the Grammar for which rule fields must be found- Returns:
- the rule fields declared in this class, as well as the inherited ones
- See Also:
getRuleFields(java.lang.Class)
-
rule
public Rule rule(GrammarRuleKey ruleKey)
Allows to obtain an instance of grammar rule, which was constructed byLexerlessGrammarBuilder
andLexerfulGrammarBuilder
.- Since:
- 1.18
-
getRootRule
public abstract Rule getRootRule()
Each Grammar has always an entry point whose name is usually by convention the "Computation Unit".- Returns:
- the entry point of this Grammar
-
-