/*******************************************************************************
* Copyright (c) 2010-2015 Henshin developers. All rights reserved.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* TU Berlin, University of Luxembourg, SES S.A.
*******************************************************************************/
/*
* generated by Xtext
*/
package lu.uni.snt.whileDSL.services;
import com.google.inject.Singleton;
import com.google.inject.Inject;
import java.util.List;
import org.eclipse.xtext.*;
import org.eclipse.xtext.service.GrammarProvider;
import org.eclipse.xtext.service.AbstractElementFinder.*;
import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
@Singleton
public class WHILEGrammarAccess extends AbstractGrammarElementFinder {
public class WProgramElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WProgram");
private final Assignment cFstAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cFstFgmnt_LST_ElemParserRuleCall_0 = (RuleCall)cFstAssignment.eContents().get(0);
//WProgram:
// fst=Fgmnt_LST_Elem;
public ParserRule getRule() { return rule; }
//fst=Fgmnt_LST_Elem
public Assignment getFstAssignment() { return cFstAssignment; }
//Fgmnt_LST_Elem
public RuleCall getFstFgmnt_LST_ElemParserRuleCall_0() { return cFstFgmnt_LST_ElemParserRuleCall_0; }
}
public class Fgmnt_LST_ElemElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Fgmnt_LST_Elem");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
private final RuleCall cWhileParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
private final RuleCall cVar_DefParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
private final RuleCall cFn_CallParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
private final RuleCall cFn_DefParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
private final RuleCall cCommentParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
private final Assignment cNextAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cNextFgmnt_LST_ElemParserRuleCall_1_0 = (RuleCall)cNextAssignment_1.eContents().get(0);
//Fgmnt_LST_Elem:
// (While | Var_Def | Fn_Call | Fn_Def | Comment) next=Fgmnt_LST_Elem?;
public ParserRule getRule() { return rule; }
//(While | Var_Def | Fn_Call | Fn_Def | Comment) next=Fgmnt_LST_Elem?
public Group getGroup() { return cGroup; }
//While | Var_Def | Fn_Call | Fn_Def | Comment
public Alternatives getAlternatives_0() { return cAlternatives_0; }
//While
public RuleCall getWhileParserRuleCall_0_0() { return cWhileParserRuleCall_0_0; }
//Var_Def
public RuleCall getVar_DefParserRuleCall_0_1() { return cVar_DefParserRuleCall_0_1; }
//Fn_Call
public RuleCall getFn_CallParserRuleCall_0_2() { return cFn_CallParserRuleCall_0_2; }
//Fn_Def
public RuleCall getFn_DefParserRuleCall_0_3() { return cFn_DefParserRuleCall_0_3; }
//Comment
public RuleCall getCommentParserRuleCall_0_4() { return cCommentParserRuleCall_0_4; }
//next=Fgmnt_LST_Elem?
public Assignment getNextAssignment_1() { return cNextAssignment_1; }
//Fgmnt_LST_Elem
public RuleCall getNextFgmnt_LST_ElemParserRuleCall_1_0() { return cNextFgmnt_LST_ElemParserRuleCall_1_0; }
}
public class WhileElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "While");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cExprAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cExprExprParserRuleCall_2_0 = (RuleCall)cExprAssignment_2.eContents().get(0);
private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
private final Assignment cFgmntAssignment_5 = (Assignment)cGroup.eContents().get(5);
private final RuleCall cFgmntFgmnt_LST_ElemParserRuleCall_5_0 = (RuleCall)cFgmntAssignment_5.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
//While:
// "while" "(" expr=Expr ")" "{" fgmnt=Fgmnt_LST_Elem "}";
public ParserRule getRule() { return rule; }
//"while" "(" expr=Expr ")" "{" fgmnt=Fgmnt_LST_Elem "}"
public Group getGroup() { return cGroup; }
//"while"
public Keyword getWhileKeyword_0() { return cWhileKeyword_0; }
//"("
public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
//expr=Expr
public Assignment getExprAssignment_2() { return cExprAssignment_2; }
//Expr
public RuleCall getExprExprParserRuleCall_2_0() { return cExprExprParserRuleCall_2_0; }
//")"
public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
//"{"
public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
//fgmnt=Fgmnt_LST_Elem
public Assignment getFgmntAssignment_5() { return cFgmntAssignment_5; }
//Fgmnt_LST_Elem
public RuleCall getFgmntFgmnt_LST_ElemParserRuleCall_5_0() { return cFgmntFgmnt_LST_ElemParserRuleCall_5_0; }
//"}"
public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
}
public class Var_DefElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Var_Def");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cLeftAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final RuleCall cLeftVarParserRuleCall_0_0 = (RuleCall)cLeftAssignment_0.eContents().get(0);
private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cRightAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cRightExprParserRuleCall_2_0 = (RuleCall)cRightAssignment_2.eContents().get(0);
private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
//Var_Def:
// left=Var "=" right=Expr ";";
public ParserRule getRule() { return rule; }
//left=Var "=" right=Expr ";"
public Group getGroup() { return cGroup; }
//left=Var
public Assignment getLeftAssignment_0() { return cLeftAssignment_0; }
//Var
public RuleCall getLeftVarParserRuleCall_0_0() { return cLeftVarParserRuleCall_0_0; }
//"="
public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
//right=Expr
public Assignment getRightAssignment_2() { return cRightAssignment_2; }
//Expr
public RuleCall getRightExprParserRuleCall_2_0() { return cRightExprParserRuleCall_2_0; }
//";"
public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
}
public class Fn_CallElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Fn_Call");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cNameFAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final RuleCall cNameFIDTerminalRuleCall_0_0 = (RuleCall)cNameFAssignment_0.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Keyword cRightParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
//Fn_Call:
// nameF=ID "(" ")" ";";
public ParserRule getRule() { return rule; }
//nameF=ID "(" ")" ";"
public Group getGroup() { return cGroup; }
//nameF=ID
public Assignment getNameFAssignment_0() { return cNameFAssignment_0; }
//ID
public RuleCall getNameFIDTerminalRuleCall_0_0() { return cNameFIDTerminalRuleCall_0_0; }
//"("
public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
//")"
public Keyword getRightParenthesisKeyword_2() { return cRightParenthesisKeyword_2; }
//";"
public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
}
public class Fn_DefElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Fn_Def");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cDefKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cNameFAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cNameFIDTerminalRuleCall_1_0 = (RuleCall)cNameFAssignment_1.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
private final Assignment cBodyAssignment_5 = (Assignment)cGroup.eContents().get(5);
private final RuleCall cBodyFgmnt_LST_ElemParserRuleCall_5_0 = (RuleCall)cBodyAssignment_5.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
private final Keyword cSemicolonKeyword_7 = (Keyword)cGroup.eContents().get(7);
//Fn_Def:
// "def" nameF=ID "(" ")" "{" body=Fgmnt_LST_Elem "}" ";";
public ParserRule getRule() { return rule; }
//"def" nameF=ID "(" ")" "{" body=Fgmnt_LST_Elem "}" ";"
public Group getGroup() { return cGroup; }
//"def"
public Keyword getDefKeyword_0() { return cDefKeyword_0; }
//nameF=ID
public Assignment getNameFAssignment_1() { return cNameFAssignment_1; }
//ID
public RuleCall getNameFIDTerminalRuleCall_1_0() { return cNameFIDTerminalRuleCall_1_0; }
//"("
public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
//")"
public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
//"{"
public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
//body=Fgmnt_LST_Elem
public Assignment getBodyAssignment_5() { return cBodyAssignment_5; }
//Fgmnt_LST_Elem
public RuleCall getBodyFgmnt_LST_ElemParserRuleCall_5_0() { return cBodyFgmnt_LST_ElemParserRuleCall_5_0; }
//"}"
public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
//";"
public Keyword getSemicolonKeyword_7() { return cSemicolonKeyword_7; }
}
public class CommentElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comment");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cSolidusNumberSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cCommentAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cCommentSTRINGTerminalRuleCall_1_0 = (RuleCall)cCommentAssignment_1.eContents().get(0);
private final Keyword cNumberSignSolidusKeyword_2 = (Keyword)cGroup.eContents().get(2);
//Comment:
// "/#" comment=STRING "#/";
public ParserRule getRule() { return rule; }
//"/#" comment=STRING "#/"
public Group getGroup() { return cGroup; }
//"/#"
public Keyword getSolidusNumberSignKeyword_0() { return cSolidusNumberSignKeyword_0; }
//comment=STRING
public Assignment getCommentAssignment_1() { return cCommentAssignment_1; }
//STRING
public RuleCall getCommentSTRINGTerminalRuleCall_1_0() { return cCommentSTRINGTerminalRuleCall_1_0; }
//"#/"
public Keyword getNumberSignSolidusKeyword_2() { return cNumberSignSolidusKeyword_2; }
}
public class ExprElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expr");
private final Assignment cTypeAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cTypeExpr_TParserRuleCall_0 = (RuleCall)cTypeAssignment.eContents().get(0);
//Expr:
// type=Expr_T;
public ParserRule getRule() { return rule; }
//type=Expr_T
public Assignment getTypeAssignment() { return cTypeAssignment; }
//Expr_T
public RuleCall getTypeExpr_TParserRuleCall_0() { return cTypeExpr_TParserRuleCall_0; }
}
public class Expr_TElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expr_T");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cUnaryParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cBinaryParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
//Expr_T:
// Unary | Binary;
public ParserRule getRule() { return rule; }
//Unary | Binary
public Alternatives getAlternatives() { return cAlternatives; }
//Unary
public RuleCall getUnaryParserRuleCall_0() { return cUnaryParserRuleCall_0; }
//Binary
public RuleCall getBinaryParserRuleCall_1() { return cBinaryParserRuleCall_1; }
}
public class UnaryElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Unary");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cNegParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cVarParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cInputParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
//Unary:
// Neg | Var | Input;
public ParserRule getRule() { return rule; }
//Neg | Var | Input
public Alternatives getAlternatives() { return cAlternatives; }
//Neg
public RuleCall getNegParserRuleCall_0() { return cNegParserRuleCall_0; }
//Var
public RuleCall getVarParserRuleCall_1() { return cVarParserRuleCall_1; }
//Input
public RuleCall getInputParserRuleCall_2() { return cInputParserRuleCall_2; }
}
public class BinaryElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Binary");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cFstAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cFstExprParserRuleCall_1_0 = (RuleCall)cFstAssignment_1.eContents().get(0);
private final Assignment cOperatorAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final Alternatives cOperatorAlternatives_2_0 = (Alternatives)cOperatorAssignment_2.eContents().get(0);
private final Keyword cOperatorAmpersandAmpersandKeyword_2_0_0 = (Keyword)cOperatorAlternatives_2_0.eContents().get(0);
private final Keyword cOperatorVerticalLineVerticalLineKeyword_2_0_1 = (Keyword)cOperatorAlternatives_2_0.eContents().get(1);
private final Keyword cOperatorEqualsSignEqualsSignKeyword_2_0_2 = (Keyword)cOperatorAlternatives_2_0.eContents().get(2);
private final Assignment cSndAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cSndExprParserRuleCall_3_0 = (RuleCall)cSndAssignment_3.eContents().get(0);
private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
//Binary:
// "(" fst=Expr operator=("&&" | "||" | "==") snd=Expr ")";
public ParserRule getRule() { return rule; }
//"(" fst=Expr operator=("&&" | "||" | "==") snd=Expr ")"
public Group getGroup() { return cGroup; }
//"("
public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; }
//fst=Expr
public Assignment getFstAssignment_1() { return cFstAssignment_1; }
//Expr
public RuleCall getFstExprParserRuleCall_1_0() { return cFstExprParserRuleCall_1_0; }
//operator=("&&" | "||" | "==")
public Assignment getOperatorAssignment_2() { return cOperatorAssignment_2; }
//"&&" | "||" | "=="
public Alternatives getOperatorAlternatives_2_0() { return cOperatorAlternatives_2_0; }
//"&&"
public Keyword getOperatorAmpersandAmpersandKeyword_2_0_0() { return cOperatorAmpersandAmpersandKeyword_2_0_0; }
//"||"
public Keyword getOperatorVerticalLineVerticalLineKeyword_2_0_1() { return cOperatorVerticalLineVerticalLineKeyword_2_0_1; }
//"=="
public Keyword getOperatorEqualsSignEqualsSignKeyword_2_0_2() { return cOperatorEqualsSignEqualsSignKeyword_2_0_2; }
//snd=Expr
public Assignment getSndAssignment_3() { return cSndAssignment_3; }
//Expr
public RuleCall getSndExprParserRuleCall_3_0() { return cSndExprParserRuleCall_3_0; }
//")"
public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
}
public class NegElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Neg");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cExclamationMarkKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cExprAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cExprExprParserRuleCall_1_0 = (RuleCall)cExprAssignment_1.eContents().get(0);
//Neg:
// "!" expr=Expr;
public ParserRule getRule() { return rule; }
//"!" expr=Expr
public Group getGroup() { return cGroup; }
//"!"
public Keyword getExclamationMarkKeyword_0() { return cExclamationMarkKeyword_0; }
//expr=Expr
public Assignment getExprAssignment_1() { return cExprAssignment_1; }
//Expr
public RuleCall getExprExprParserRuleCall_1_0() { return cExprExprParserRuleCall_1_0; }
}
public class VarElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Var");
private final Assignment cLabelAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cLabelIDTerminalRuleCall_0 = (RuleCall)cLabelAssignment.eContents().get(0);
//Var:
// label=ID;
public ParserRule getRule() { return rule; }
//label=ID
public Assignment getLabelAssignment() { return cLabelAssignment; }
//ID
public RuleCall getLabelIDTerminalRuleCall_0() { return cLabelIDTerminalRuleCall_0; }
}
public class InputElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Input");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Action cInputAction_0 = (Action)cGroup.eContents().get(0);
private final Keyword cInputKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
//Input:
// {Input} "input" "(" ")";
public ParserRule getRule() { return rule; }
//{Input} "input" "(" ")"
public Group getGroup() { return cGroup; }
//{Input}
public Action getInputAction_0() { return cInputAction_0; }
//"input"
public Keyword getInputKeyword_1() { return cInputKeyword_1; }
//"("
public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
//")"
public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
}
public class TargetElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Target");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cWProgramParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cFgmnt_LST_ElemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cExprParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
private final RuleCall cExpr_TParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
//Target:
// WProgram | Fgmnt_LST_Elem | Expr | Expr_T;
public ParserRule getRule() { return rule; }
//WProgram | Fgmnt_LST_Elem | Expr | Expr_T
public Alternatives getAlternatives() { return cAlternatives; }
//WProgram
public RuleCall getWProgramParserRuleCall_0() { return cWProgramParserRuleCall_0; }
//Fgmnt_LST_Elem
public RuleCall getFgmnt_LST_ElemParserRuleCall_1() { return cFgmnt_LST_ElemParserRuleCall_1; }
//Expr
public RuleCall getExprParserRuleCall_2() { return cExprParserRuleCall_2; }
//Expr_T
public RuleCall getExpr_TParserRuleCall_3() { return cExpr_TParserRuleCall_3; }
}
private WProgramElements pWProgram;
private Fgmnt_LST_ElemElements pFgmnt_LST_Elem;
private WhileElements pWhile;
private Var_DefElements pVar_Def;
private Fn_CallElements pFn_Call;
private Fn_DefElements pFn_Def;
private CommentElements pComment;
private ExprElements pExpr;
private Expr_TElements pExpr_T;
private UnaryElements pUnary;
private BinaryElements pBinary;
private NegElements pNeg;
private VarElements pVar;
private InputElements pInput;
private TargetElements pTarget;
private final Grammar grammar;
private TerminalsGrammarAccess gaTerminals;
@Inject
public WHILEGrammarAccess(GrammarProvider grammarProvider,
TerminalsGrammarAccess gaTerminals) {
this.grammar = internalFindGrammar(grammarProvider);
this.gaTerminals = gaTerminals;
}
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
Grammar grammar = grammarProvider.getGrammar(this);
while (grammar != null) {
if ("lu.uni.snt.whileDSL.WHILE".equals(grammar.getName())) {
return grammar;
}
List<Grammar> grammars = grammar.getUsedGrammars();
if (!grammars.isEmpty()) {
grammar = grammars.iterator().next();
} else {
return null;
}
}
return grammar;
}
public Grammar getGrammar() {
return grammar;
}
public TerminalsGrammarAccess getTerminalsGrammarAccess() {
return gaTerminals;
}
//WProgram:
// fst=Fgmnt_LST_Elem;
public WProgramElements getWProgramAccess() {
return (pWProgram != null) ? pWProgram : (pWProgram = new WProgramElements());
}
public ParserRule getWProgramRule() {
return getWProgramAccess().getRule();
}
//Fgmnt_LST_Elem:
// (While | Var_Def | Fn_Call | Fn_Def | Comment) next=Fgmnt_LST_Elem?;
public Fgmnt_LST_ElemElements getFgmnt_LST_ElemAccess() {
return (pFgmnt_LST_Elem != null) ? pFgmnt_LST_Elem : (pFgmnt_LST_Elem = new Fgmnt_LST_ElemElements());
}
public ParserRule getFgmnt_LST_ElemRule() {
return getFgmnt_LST_ElemAccess().getRule();
}
//While:
// "while" "(" expr=Expr ")" "{" fgmnt=Fgmnt_LST_Elem "}";
public WhileElements getWhileAccess() {
return (pWhile != null) ? pWhile : (pWhile = new WhileElements());
}
public ParserRule getWhileRule() {
return getWhileAccess().getRule();
}
//Var_Def:
// left=Var "=" right=Expr ";";
public Var_DefElements getVar_DefAccess() {
return (pVar_Def != null) ? pVar_Def : (pVar_Def = new Var_DefElements());
}
public ParserRule getVar_DefRule() {
return getVar_DefAccess().getRule();
}
//Fn_Call:
// nameF=ID "(" ")" ";";
public Fn_CallElements getFn_CallAccess() {
return (pFn_Call != null) ? pFn_Call : (pFn_Call = new Fn_CallElements());
}
public ParserRule getFn_CallRule() {
return getFn_CallAccess().getRule();
}
//Fn_Def:
// "def" nameF=ID "(" ")" "{" body=Fgmnt_LST_Elem "}" ";";
public Fn_DefElements getFn_DefAccess() {
return (pFn_Def != null) ? pFn_Def : (pFn_Def = new Fn_DefElements());
}
public ParserRule getFn_DefRule() {
return getFn_DefAccess().getRule();
}
//Comment:
// "/#" comment=STRING "#/";
public CommentElements getCommentAccess() {
return (pComment != null) ? pComment : (pComment = new CommentElements());
}
public ParserRule getCommentRule() {
return getCommentAccess().getRule();
}
//Expr:
// type=Expr_T;
public ExprElements getExprAccess() {
return (pExpr != null) ? pExpr : (pExpr = new ExprElements());
}
public ParserRule getExprRule() {
return getExprAccess().getRule();
}
//Expr_T:
// Unary | Binary;
public Expr_TElements getExpr_TAccess() {
return (pExpr_T != null) ? pExpr_T : (pExpr_T = new Expr_TElements());
}
public ParserRule getExpr_TRule() {
return getExpr_TAccess().getRule();
}
//Unary:
// Neg | Var | Input;
public UnaryElements getUnaryAccess() {
return (pUnary != null) ? pUnary : (pUnary = new UnaryElements());
}
public ParserRule getUnaryRule() {
return getUnaryAccess().getRule();
}
//Binary:
// "(" fst=Expr operator=("&&" | "||" | "==") snd=Expr ")";
public BinaryElements getBinaryAccess() {
return (pBinary != null) ? pBinary : (pBinary = new BinaryElements());
}
public ParserRule getBinaryRule() {
return getBinaryAccess().getRule();
}
//Neg:
// "!" expr=Expr;
public NegElements getNegAccess() {
return (pNeg != null) ? pNeg : (pNeg = new NegElements());
}
public ParserRule getNegRule() {
return getNegAccess().getRule();
}
//Var:
// label=ID;
public VarElements getVarAccess() {
return (pVar != null) ? pVar : (pVar = new VarElements());
}
public ParserRule getVarRule() {
return getVarAccess().getRule();
}
//Input:
// {Input} "input" "(" ")";
public InputElements getInputAccess() {
return (pInput != null) ? pInput : (pInput = new InputElements());
}
public ParserRule getInputRule() {
return getInputAccess().getRule();
}
//Target:
// WProgram | Fgmnt_LST_Elem | Expr | Expr_T;
public TargetElements getTargetAccess() {
return (pTarget != null) ? pTarget : (pTarget = new TargetElements());
}
public ParserRule getTargetRule() {
return getTargetAccess().getRule();
}
//terminal ID:
// "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
public TerminalRule getIDRule() {
return gaTerminals.getIDRule();
}
//terminal INT returns ecore::EInt:
// "0".."9"+;
public TerminalRule getINTRule() {
return gaTerminals.getINTRule();
}
//terminal STRING:
// "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
// "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
public TerminalRule getSTRINGRule() {
return gaTerminals.getSTRINGRule();
}
//terminal ML_COMMENT:
// "/ *"->"* /";
public TerminalRule getML_COMMENTRule() {
return gaTerminals.getML_COMMENTRule();
}
//terminal SL_COMMENT:
// "//" !("\n" | "\r")* ("\r"? "\n")?;
public TerminalRule getSL_COMMENTRule() {
return gaTerminals.getSL_COMMENTRule();
}
//terminal WS:
// (" " | "\t" | "\r" | "\n")+;
public TerminalRule getWSRule() {
return gaTerminals.getWSRule();
}
//terminal ANY_OTHER:
// .;
public TerminalRule getANY_OTHERRule() {
return gaTerminals.getANY_OTHERRule();
}
}