From f87b4233437f0900c19f462b5e443a3c81b27b6e Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Tue, 15 Jan 2019 12:44:33 -0500 Subject: Initial workspace setup --- .../VampireLanguageSyntacticSequencer.java | 151 +++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java') diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java new file mode 100644 index 00000000..5c1a720e --- /dev/null +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java @@ -0,0 +1,151 @@ +/* + * generated by Xtext 2.12.0 + */ +package ca.mcgill.ecse.dslreasoner.serializer; + +import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess; +import com.google.inject.Inject; +import java.util.List; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; +import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; + +@SuppressWarnings("all") +public class VampireLanguageSyntacticSequencer extends AbstractSyntacticSequencer { + + protected VampireLanguageGrammarAccess grammarAccess; + protected AbstractElementAlias match_VLSAnnotation_LeftSquareBracketKeyword_0_q; + protected AbstractElementAlias match_VLSAnnotation_RightSquareBracketKeyword_3_q; + protected AbstractElementAlias match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a; + protected AbstractElementAlias match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (VampireLanguageGrammarAccess) access; + match_VLSAnnotation_LeftSquareBracketKeyword_0_q = new TokenAlias(false, true, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0()); + match_VLSAnnotation_RightSquareBracketKeyword_3_q = new TokenAlias(false, true, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3()); + match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0()); + match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0()); + } + + @Override + protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + return ""; + } + + + @Override + protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { + if (transition.getAmbiguousSyntaxes().isEmpty()) return; + List transitionNodes = collectNodes(fromNode, toNode); + for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { + List syntaxNodes = getNodesFor(transitionNodes, syntax); + if (match_VLSAnnotation_LeftSquareBracketKeyword_0_q.equals(syntax)) + emit_VLSAnnotation_LeftSquareBracketKeyword_0_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_VLSAnnotation_RightSquareBracketKeyword_3_q.equals(syntax)) + emit_VLSAnnotation_RightSquareBracketKeyword_3_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a.equals(syntax)) + emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p.equals(syntax)) + emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * Ambiguous syntax: + * '['? + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '(' followup=VLSAnnotationTerms + * (rule start) (ambiguity) ']'? (rule start) + * (rule start) (ambiguity) name=LOWER_WORD_ID + * (rule start) (ambiguity) name=SINGLE_QUOTE + * (rule start) (ambiguity) name=VLSRole + */ + protected void emit_VLSAnnotation_LeftSquareBracketKeyword_0_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ']'? + * + * This ambiguous syntax occurs at: + * (rule start) '['? (ambiguity) (rule start) + * followup=VLSAnnotationTerms ')' (ambiguity) (rule end) + * name=LOWER_WORD_ID (ambiguity) (rule end) + * name=SINGLE_QUOTE (ambiguity) (rule end) + * name=VLSRole (ambiguity) (rule end) + */ + protected void emit_VLSAnnotation_RightSquareBracketKeyword_3_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '!' '[' variables+=VLSVariable + * (rule start) (ambiguity) '$false' (rule start) + * (rule start) (ambiguity) '$true' (rule start) + * (rule start) (ambiguity) '?' '[' variables+=VLSVariable + * (rule start) (ambiguity) '~' operand=VLSUnitaryFormula + * (rule start) (ambiguity) constant=DOLLAR_ID + * (rule start) (ambiguity) constant=DOUBLE_DOLLAR_ID + * (rule start) (ambiguity) constant=LOWER_WORD_ID + * (rule start) (ambiguity) constant=SINGLE_QUOTE + * (rule start) (ambiguity) constant=VLSRole + * (rule start) (ambiguity) name='$less' + * (rule start) (ambiguity) name=DOLLAR_ID + * (rule start) (ambiguity) name=DOUBLE_DOLLAR_ID + * (rule start) (ambiguity) name=LOWER_WORD_ID + * (rule start) (ambiguity) name=SINGLE_QUOTE + * (rule start) (ambiguity) name=UPPER_WORD_ID + * (rule start) (ambiguity) name=VLSRole + * (rule start) (ambiguity) value=DOUBLE_QUOTE + * (rule start) (ambiguity) value=SIGNED_LITERAL + * (rule start) (ambiguity) value=SIGNED_RAT_ID + * (rule start) (ambiguity) value=SIGNED_REAL_ID + * (rule start) (ambiguity) {VLSAnd.left=} + * (rule start) (ambiguity) {VLSAssignment.left=} + * (rule start) (ambiguity) {VLSEquality.left=} + * (rule start) (ambiguity) {VLSEquivalent.left=} + * (rule start) (ambiguity) {VLSImplies.left=} + * (rule start) (ambiguity) {VLSInequality.left=} + * (rule start) (ambiguity) {VLSNand.left=} + * (rule start) (ambiguity) {VLSNor.left=} + * (rule start) (ambiguity) {VLSOr.left=} + * (rule start) (ambiguity) {VLSRevImplies.left=} + * (rule start) (ambiguity) {VLSXnor.left=} + */ + protected void emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('+ + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) {VLSAnd.left=} + * (rule start) (ambiguity) {VLSEquivalent.left=} + * (rule start) (ambiguity) {VLSImplies.left=} + * (rule start) (ambiguity) {VLSNand.left=} + * (rule start) (ambiguity) {VLSNor.left=} + * (rule start) (ambiguity) {VLSOr.left=} + * (rule start) (ambiguity) {VLSRevImplies.left=} + * (rule start) (ambiguity) {VLSXnor.left=} + */ + protected void emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + +} -- cgit v1.2.3-54-g00ecf