/**
* <copyright>
* </copyright>
*
*
*/
package org.emftext.term.propositional.expression.resource.expression.grammar;
public class ExpressionGrammarInformationProvider {
public final static org.eclipse.emf.ecore.EStructuralFeature ANONYMOUS_FEATURE = org.eclipse.emf.ecore.EcoreFactory.eINSTANCE.createEAttribute();
static {
ANONYMOUS_FEATURE.setName("_");
}
public final static ExpressionGrammarInformationProvider INSTANCE = new ExpressionGrammarInformationProvider();
private java.util.Set<String> keywords;
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_0_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getConstraint().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.CONSTRAINT__TERM), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_0_0_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_0_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getConstraint(), EXPRESSION_0_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_1_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getOr().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.OR__OPERAND1), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword EXPRESSION_1_0_0_1 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword("or", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_1_0_0_2 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getOr().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.OR__OPERAND2), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_1_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_1_0_0_0, EXPRESSION_1_0_0_1, EXPRESSION_1_0_0_2);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_1_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_1_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_1 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getOr(), EXPRESSION_1_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_2_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getAnd().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.AND__OPERAND1), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword EXPRESSION_2_0_0_1 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword("and", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_2_0_0_2 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getAnd().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.AND__OPERAND2), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_2_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_2_0_0_0, EXPRESSION_2_0_0_1, EXPRESSION_2_0_0_2);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_2_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_2_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_2 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getAnd(), EXPRESSION_2_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword EXPRESSION_3_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword("not", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_3_0_0_1 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getNot().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.NOT__OPERAND), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_3_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_3_0_0_0, EXPRESSION_3_0_0_1);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_3_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_3_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_3 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getNot(), EXPRESSION_3_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword EXPRESSION_4_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword("(", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment EXPRESSION_4_0_0_1 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionContainment(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getNested().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.NESTED__OPERAND), org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, new org.eclipse.emf.ecore.EClass[] {org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getTerm(), }, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword EXPRESSION_4_0_0_2 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword(")", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_4_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_4_0_0_0, EXPRESSION_4_0_0_1, EXPRESSION_4_0_0_2);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_4_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_4_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_4 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getNested(), EXPRESSION_4_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionPlaceholder EXPRESSION_5_0_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionPlaceholder(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getFeatureRef().getEStructuralFeature(org.emftext.term.propositional.expression.TermPackage.FEATURE_REF__FEATURE), "TEXT", org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, 0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence EXPRESSION_5_0_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSequence(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_5_0_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice EXPRESSION_5_0 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionChoice(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE, EXPRESSION_5_0_0);
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule EXPRESSION_5 = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule(org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getFeatureRef(), EXPRESSION_5_0, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality.ONE);
public static String getSyntaxElementID(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement syntaxElement) {
if (syntaxElement == null) {
// null indicates EOF
return "<EOF>";
}
for (java.lang.reflect.Field field : org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionGrammarInformationProvider.class.getFields()) {
Object fieldValue;
try {
fieldValue = field.get(null);
if (fieldValue == syntaxElement) {
String id = field.getName();
return id;
}
} catch (Exception e) { }
}
return null;
}
public static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement getSyntaxElementByID(String syntaxElementID) {
try {
return (org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement) org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionGrammarInformationProvider.class.getField(syntaxElementID).get(null);
} catch (Exception e) {
return null;
}
}
public final static org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule[] RULES = new org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule[] {
EXPRESSION_0,
EXPRESSION_1,
EXPRESSION_2,
EXPRESSION_3,
EXPRESSION_4,
EXPRESSION_5,
};
/**
* Returns all keywords of the grammar. This includes all literals for boolean and
* enumeration terminals.
*/
public java.util.Set<String> getKeywords() {
if (this.keywords == null) {
this.keywords = new java.util.LinkedHashSet<String>();
for (org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionRule rule : RULES) {
findKeywords(rule, this.keywords);
}
}
return keywords;
}
/**
* Finds all keywords in the given element and its children and adds them to the
* set. This includes all literals for boolean and enumeration terminals.
*/
private void findKeywords(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement element, java.util.Set<String> keywords) {
if (element instanceof org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword) {
keywords.add(((org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionKeyword) element).getValue());
} else if (element instanceof org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionBooleanTerminal) {
keywords.add(((org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionBooleanTerminal) element).getTrueLiteral());
keywords.add(((org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionBooleanTerminal) element).getFalseLiteral());
} else if (element instanceof org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionEnumerationTerminal) {
org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionEnumerationTerminal terminal = (org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionEnumerationTerminal) element;
for (String key : terminal.getLiteralMapping().keySet()) {
keywords.add(key);
}
}
for (org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement child : element.getChildren()) {
findKeywords(child, this.keywords);
}
}
}