/*
* generated by Xtext
*/
package org.xtext.lua.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 LuaGrammarAccess extends AbstractGrammarElementFinder {
public class ChunkElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Chunk");
private final RuleCall cBlockParserRuleCall = (RuleCall)rule.eContents().get(1);
//Chunk hidden(WS, COMMENT):
// Block;
@Override public ParserRule getRule() { return rule; }
//Block
public RuleCall getBlockParserRuleCall() { return cBlockParserRuleCall; }
}
public class BlockElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Block");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Action cBlockAction_0 = (Action)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Assignment cStatementsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
private final RuleCall cStatementsStatementParserRuleCall_1_0_0 = (RuleCall)cStatementsAssignment_1_0.eContents().get(0);
private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Assignment cReturnValueAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
private final RuleCall cReturnValueLastStatementParserRuleCall_2_0_0 = (RuleCall)cReturnValueAssignment_2_0.eContents().get(0);
private final Keyword cSemicolonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
//Block hidden(WS, COMMENT):
// {Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)?;
@Override public ParserRule getRule() { return rule; }
//{Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)?
public Group getGroup() { return cGroup; }
//{Block}
public Action getBlockAction_0() { return cBlockAction_0; }
//(statements+=Statement ";"?)*
public Group getGroup_1() { return cGroup_1; }
//statements+=Statement
public Assignment getStatementsAssignment_1_0() { return cStatementsAssignment_1_0; }
//Statement
public RuleCall getStatementsStatementParserRuleCall_1_0_0() { return cStatementsStatementParserRuleCall_1_0_0; }
//";"?
public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; }
//(returnValue=LastStatement ";"?)?
public Group getGroup_2() { return cGroup_2; }
//returnValue=LastStatement
public Assignment getReturnValueAssignment_2_0() { return cReturnValueAssignment_2_0; }
//LastStatement
public RuleCall getReturnValueLastStatementParserRuleCall_2_0_0() { return cReturnValueLastStatementParserRuleCall_2_0_0; }
//";"?
public Keyword getSemicolonKeyword_2_1() { return cSemicolonKeyword_2_1; }
}
public class LastStatementElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cLastStatement_ReturnParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cLastStatement_BreakParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
//// ****************************************************
//// LAST STATEMENT
//// ****************************************************
//LastStatement:
// LastStatement_Return | LastStatement_Break;
@Override public ParserRule getRule() { return rule; }
//LastStatement_Return | LastStatement_Break
public Alternatives getAlternatives() { return cAlternatives; }
//LastStatement_Return
public RuleCall getLastStatement_ReturnParserRuleCall_0() { return cLastStatement_ReturnParserRuleCall_0; }
//LastStatement_Break
public RuleCall getLastStatement_BreakParserRuleCall_1() { return cLastStatement_BreakParserRuleCall_1; }
}
public class LastStatement_ReturnElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement_Return");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cReturnKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cLastStatement_ReturnWithValueAction_1 = (Action)cGroup.eContents().get(1);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Assignment cReturnValuesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
private final RuleCall cReturnValuesExpressionParserRuleCall_2_0_0 = (RuleCall)cReturnValuesAssignment_2_0.eContents().get(0);
private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
private final Assignment cReturnValuesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
private final RuleCall cReturnValuesExpressionParserRuleCall_2_1_1_0 = (RuleCall)cReturnValuesAssignment_2_1_1.eContents().get(0);
//// The return statement is used to return values from a function or a chunk
//LastStatement_Return:
// "return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)?;
@Override public ParserRule getRule() { return rule; }
//"return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)?
public Group getGroup() { return cGroup; }
//"return"
public Keyword getReturnKeyword_0() { return cReturnKeyword_0; }
//{LastStatement_ReturnWithValue}
public Action getLastStatement_ReturnWithValueAction_1() { return cLastStatement_ReturnWithValueAction_1; }
//(returnValues+=Expression ("," returnValues+=Expression)*)?
public Group getGroup_2() { return cGroup_2; }
//returnValues+=Expression
public Assignment getReturnValuesAssignment_2_0() { return cReturnValuesAssignment_2_0; }
//Expression
public RuleCall getReturnValuesExpressionParserRuleCall_2_0_0() { return cReturnValuesExpressionParserRuleCall_2_0_0; }
//("," returnValues+=Expression)*
public Group getGroup_2_1() { return cGroup_2_1; }
//","
public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
//returnValues+=Expression
public Assignment getReturnValuesAssignment_2_1_1() { return cReturnValuesAssignment_2_1_1; }
//Expression
public RuleCall getReturnValuesExpressionParserRuleCall_2_1_1_0() { return cReturnValuesExpressionParserRuleCall_2_1_1_0; }
}
public class LastStatement_BreakElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LastStatement_Break");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cBreakKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cLastStatement_BreakAction_1 = (Action)cGroup.eContents().get(1);
//// The break statement is used to terminate the execution of a while, repeat, or for loop, skipping to the next statement after the loop
//LastStatement_Break:
// "break" {LastStatement_Break};
@Override public ParserRule getRule() { return rule; }
//"break" {LastStatement_Break}
public Group getGroup() { return cGroup; }
//"break"
public Keyword getBreakKeyword_0() { return cBreakKeyword_0; }
//{LastStatement_Break}
public Action getLastStatement_BreakAction_1() { return cLastStatement_BreakAction_1; }
}
public class StatementElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cStatement_BlockParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cStatement_WhileParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cStatement_RepeatParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
private final RuleCall cStatement_If_Then_ElseParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
private final RuleCall cStatement_For_NumericParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
private final RuleCall cStatement_For_GenericParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
private final RuleCall cStatement_GlobalFunction_DeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
private final RuleCall cStatement_LocalFunction_DeclarationParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
private final RuleCall cStatement_Local_Variable_DeclarationParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
private final RuleCall cStatement_FunctioncallOrAssignmentParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
//// ****************************************************
//// STATEMENT
//// ****************************************************
//Statement hidden(WS, COMMENT):
// Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric |
// Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration |
// Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment;
@Override public ParserRule getRule() { return rule; }
//Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric |
//Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration |
//Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment
public Alternatives getAlternatives() { return cAlternatives; }
//Statement_Block
public RuleCall getStatement_BlockParserRuleCall_0() { return cStatement_BlockParserRuleCall_0; }
//Statement_While
public RuleCall getStatement_WhileParserRuleCall_1() { return cStatement_WhileParserRuleCall_1; }
//Statement_Repeat
public RuleCall getStatement_RepeatParserRuleCall_2() { return cStatement_RepeatParserRuleCall_2; }
//Statement_If_Then_Else
public RuleCall getStatement_If_Then_ElseParserRuleCall_3() { return cStatement_If_Then_ElseParserRuleCall_3; }
//Statement_For_Numeric
public RuleCall getStatement_For_NumericParserRuleCall_4() { return cStatement_For_NumericParserRuleCall_4; }
//Statement_For_Generic
public RuleCall getStatement_For_GenericParserRuleCall_5() { return cStatement_For_GenericParserRuleCall_5; }
//Statement_GlobalFunction_Declaration
public RuleCall getStatement_GlobalFunction_DeclarationParserRuleCall_6() { return cStatement_GlobalFunction_DeclarationParserRuleCall_6; }
//Statement_LocalFunction_Declaration
public RuleCall getStatement_LocalFunction_DeclarationParserRuleCall_7() { return cStatement_LocalFunction_DeclarationParserRuleCall_7; }
//Statement_Local_Variable_Declaration
public RuleCall getStatement_Local_Variable_DeclarationParserRuleCall_8() { return cStatement_Local_Variable_DeclarationParserRuleCall_8; }
//Statement_FunctioncallOrAssignment
public RuleCall getStatement_FunctioncallOrAssignmentParserRuleCall_9() { return cStatement_FunctioncallOrAssignmentParserRuleCall_9; }
}
public class Statement_BlockElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Block");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cDoKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0);
private final Keyword cEndKeyword_2 = (Keyword)cGroup.eContents().get(2);
//// A block can be explicitly delimited to produce a single statement. "do ... end"
//Statement_Block:
// "do" block=Block "end";
@Override public ParserRule getRule() { return rule; }
//"do" block=Block "end"
public Group getGroup() { return cGroup; }
//"do"
public Keyword getDoKeyword_0() { return cDoKeyword_0; }
//block=Block
public Assignment getBlockAssignment_1() { return cBlockAssignment_1; }
//Block
public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; }
//"end"
public Keyword getEndKeyword_2() { return cEndKeyword_2; }
}
public class Statement_WhileElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_While");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cBlockAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cBlockBlockParserRuleCall_3_0 = (RuleCall)cBlockAssignment_3.eContents().get(0);
private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4);
//// Control structure. "while ... do ... end"
//Statement_While:
// "while" expression=Expression "do" block=Block "end";
@Override public ParserRule getRule() { return rule; }
//"while" expression=Expression "do" block=Block "end"
public Group getGroup() { return cGroup; }
//"while"
public Keyword getWhileKeyword_0() { return cWhileKeyword_0; }
//expression=Expression
public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
//Expression
public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; }
//"do"
public Keyword getDoKeyword_2() { return cDoKeyword_2; }
//block=Block
public Assignment getBlockAssignment_3() { return cBlockAssignment_3; }
//Block
public RuleCall getBlockBlockParserRuleCall_3_0() { return cBlockBlockParserRuleCall_3_0; }
//"end"
public Keyword getEndKeyword_4() { return cEndKeyword_4; }
}
public class Statement_RepeatElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Repeat");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cRepeatKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0);
private final Keyword cUntilKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cExpressionAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cExpressionExpressionParserRuleCall_3_0 = (RuleCall)cExpressionAssignment_3.eContents().get(0);
//// Control structure. "repeat ... until ..."
//Statement_Repeat:
// "repeat" block=Block "until" expression=Expression;
@Override public ParserRule getRule() { return rule; }
//"repeat" block=Block "until" expression=Expression
public Group getGroup() { return cGroup; }
//"repeat"
public Keyword getRepeatKeyword_0() { return cRepeatKeyword_0; }
//block=Block
public Assignment getBlockAssignment_1() { return cBlockAssignment_1; }
//Block
public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; }
//"until"
public Keyword getUntilKeyword_2() { return cUntilKeyword_2; }
//expression=Expression
public Assignment getExpressionAssignment_3() { return cExpressionAssignment_3; }
//Expression
public RuleCall getExpressionExpressionParserRuleCall_3_0() { return cExpressionExpressionParserRuleCall_3_0; }
}
public class Statement_If_Then_ElseElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_If_Then_Else");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cIfExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cIfExpressionExpressionParserRuleCall_1_0 = (RuleCall)cIfExpressionAssignment_1.eContents().get(0);
private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cIfBlockAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cIfBlockBlockParserRuleCall_3_0 = (RuleCall)cIfBlockAssignment_3.eContents().get(0);
private final Assignment cElseIfAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0 = (RuleCall)cElseIfAssignment_4.eContents().get(0);
private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
private final Keyword cElseKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
private final Assignment cElseBlockAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
private final RuleCall cElseBlockBlockParserRuleCall_5_1_0 = (RuleCall)cElseBlockAssignment_5_1.eContents().get(0);
private final Keyword cEndKeyword_6 = (Keyword)cGroup.eContents().get(6);
//// Control structure. "if ... then ... elseif ... elseif ... else ... end"
//Statement_If_Then_Else:
// "if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)?
// "end";
@Override public ParserRule getRule() { return rule; }
//"if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)?
//"end"
public Group getGroup() { return cGroup; }
//"if"
public Keyword getIfKeyword_0() { return cIfKeyword_0; }
//ifExpression=Expression
public Assignment getIfExpressionAssignment_1() { return cIfExpressionAssignment_1; }
//Expression
public RuleCall getIfExpressionExpressionParserRuleCall_1_0() { return cIfExpressionExpressionParserRuleCall_1_0; }
//"then"
public Keyword getThenKeyword_2() { return cThenKeyword_2; }
//ifBlock=Block
public Assignment getIfBlockAssignment_3() { return cIfBlockAssignment_3; }
//Block
public RuleCall getIfBlockBlockParserRuleCall_3_0() { return cIfBlockBlockParserRuleCall_3_0; }
//elseIf+=Statement_If_Then_Else_ElseIfPart*
public Assignment getElseIfAssignment_4() { return cElseIfAssignment_4; }
//Statement_If_Then_Else_ElseIfPart
public RuleCall getElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0() { return cElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0; }
//("else" elseBlock=Block)?
public Group getGroup_5() { return cGroup_5; }
//"else"
public Keyword getElseKeyword_5_0() { return cElseKeyword_5_0; }
//elseBlock=Block
public Assignment getElseBlockAssignment_5_1() { return cElseBlockAssignment_5_1; }
//Block
public RuleCall getElseBlockBlockParserRuleCall_5_1_0() { return cElseBlockBlockParserRuleCall_5_1_0; }
//"end"
public Keyword getEndKeyword_6() { return cEndKeyword_6; }
}
public class Statement_If_Then_Else_ElseIfPartElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_If_Then_Else_ElseIfPart");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cElseifKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cElseifExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cElseifExpressionExpressionParserRuleCall_1_0 = (RuleCall)cElseifExpressionAssignment_1.eContents().get(0);
private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cElseifBlockAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cElseifBlockBlockParserRuleCall_3_0 = (RuleCall)cElseifBlockAssignment_3.eContents().get(0);
//Statement_If_Then_Else_ElseIfPart:
// "elseif" elseifExpression=Expression "then" elseifBlock=Block;
@Override public ParserRule getRule() { return rule; }
//"elseif" elseifExpression=Expression "then" elseifBlock=Block
public Group getGroup() { return cGroup; }
//"elseif"
public Keyword getElseifKeyword_0() { return cElseifKeyword_0; }
//elseifExpression=Expression
public Assignment getElseifExpressionAssignment_1() { return cElseifExpressionAssignment_1; }
//Expression
public RuleCall getElseifExpressionExpressionParserRuleCall_1_0() { return cElseifExpressionExpressionParserRuleCall_1_0; }
//"then"
public Keyword getThenKeyword_2() { return cThenKeyword_2; }
//elseifBlock=Block
public Assignment getElseifBlockAssignment_3() { return cElseifBlockAssignment_3; }
//Block
public RuleCall getElseifBlockBlockParserRuleCall_3_0() { return cElseifBlockBlockParserRuleCall_3_0; }
}
public class Statement_For_NumericElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_For_Numeric");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cIteratorNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cIteratorNameLUA_NAMETerminalRuleCall_1_0 = (RuleCall)cIteratorNameAssignment_1.eContents().get(0);
private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Assignment cStartExprAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cStartExprExpressionParserRuleCall_3_0 = (RuleCall)cStartExprAssignment_3.eContents().get(0);
private final Keyword cCommaKeyword_4 = (Keyword)cGroup.eContents().get(4);
private final Assignment cUntilExprAssignment_5 = (Assignment)cGroup.eContents().get(5);
private final RuleCall cUntilExprExpressionParserRuleCall_5_0 = (RuleCall)cUntilExprAssignment_5.eContents().get(0);
private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
private final Assignment cStepExprAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
private final RuleCall cStepExprExpressionParserRuleCall_6_1_0 = (RuleCall)cStepExprAssignment_6_1.eContents().get(0);
private final Keyword cDoKeyword_7 = (Keyword)cGroup.eContents().get(7);
private final Assignment cBlockAssignment_8 = (Assignment)cGroup.eContents().get(8);
private final RuleCall cBlockBlockParserRuleCall_8_0 = (RuleCall)cBlockAssignment_8.eContents().get(0);
private final Keyword cEndKeyword_9 = (Keyword)cGroup.eContents().get(9);
//// The numeric for loop repeats a block of code while a control variable runs through an arithmetic progression "for ...=..., ... [,...] do ... end"
//Statement_For_Numeric:
// "for" iteratorName=LUA_NAME "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do"
// block=Block "end";
@Override public ParserRule getRule() { return rule; }
//"for" iteratorName=LUA_NAME "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do"
//block=Block "end"
public Group getGroup() { return cGroup; }
//"for"
public Keyword getForKeyword_0() { return cForKeyword_0; }
//iteratorName=LUA_NAME
public Assignment getIteratorNameAssignment_1() { return cIteratorNameAssignment_1; }
//LUA_NAME
public RuleCall getIteratorNameLUA_NAMETerminalRuleCall_1_0() { return cIteratorNameLUA_NAMETerminalRuleCall_1_0; }
//"="
public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
//startExpr=Expression
public Assignment getStartExprAssignment_3() { return cStartExprAssignment_3; }
//Expression
public RuleCall getStartExprExpressionParserRuleCall_3_0() { return cStartExprExpressionParserRuleCall_3_0; }
//","
public Keyword getCommaKeyword_4() { return cCommaKeyword_4; }
//untilExpr=Expression
public Assignment getUntilExprAssignment_5() { return cUntilExprAssignment_5; }
//Expression
public RuleCall getUntilExprExpressionParserRuleCall_5_0() { return cUntilExprExpressionParserRuleCall_5_0; }
//("," stepExpr=Expression)?
public Group getGroup_6() { return cGroup_6; }
//","
public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; }
//stepExpr=Expression
public Assignment getStepExprAssignment_6_1() { return cStepExprAssignment_6_1; }
//Expression
public RuleCall getStepExprExpressionParserRuleCall_6_1_0() { return cStepExprExpressionParserRuleCall_6_1_0; }
//"do"
public Keyword getDoKeyword_7() { return cDoKeyword_7; }
//block=Block
public Assignment getBlockAssignment_8() { return cBlockAssignment_8; }
//Block
public RuleCall getBlockBlockParserRuleCall_8_0() { return cBlockBlockParserRuleCall_8_0; }
//"end"
public Keyword getEndKeyword_9() { return cEndKeyword_9; }
}
public class Statement_For_GenericElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_For_Generic");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cNamesAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cNamesLUA_NAMETerminalRuleCall_1_0 = (RuleCall)cNamesAssignment_1.eContents().get(0);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Assignment cNamesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final RuleCall cNamesLUA_NAMETerminalRuleCall_2_1_0 = (RuleCall)cNamesAssignment_2_1.eContents().get(0);
private final Keyword cInKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final Assignment cExpressionsAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cExpressionsExpressionParserRuleCall_4_0 = (RuleCall)cExpressionsAssignment_4.eContents().get(0);
private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
private final Keyword cCommaKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
private final Assignment cExpressionsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
private final RuleCall cExpressionsExpressionParserRuleCall_5_1_0 = (RuleCall)cExpressionsAssignment_5_1.eContents().get(0);
private final Keyword cDoKeyword_6 = (Keyword)cGroup.eContents().get(6);
private final Assignment cBlockAssignment_7 = (Assignment)cGroup.eContents().get(7);
private final RuleCall cBlockBlockParserRuleCall_7_0 = (RuleCall)cBlockAssignment_7.eContents().get(0);
private final Keyword cEndKeyword_8 = (Keyword)cGroup.eContents().get(8);
//// The generic for statement works over functions, called iterators. On each iteration, the iterator function is called to produce a new value, stopping when this new value is nil "for ... in ... do ... end"
//Statement_For_Generic:
// "for" names+=LUA_NAME ("," names+=LUA_NAME)* "in" expressions+=Expression ("," expressions+=Expression)* "do"
// block=Block "end";
@Override public ParserRule getRule() { return rule; }
//"for" names+=LUA_NAME ("," names+=LUA_NAME)* "in" expressions+=Expression ("," expressions+=Expression)* "do"
//block=Block "end"
public Group getGroup() { return cGroup; }
//"for"
public Keyword getForKeyword_0() { return cForKeyword_0; }
//names+=LUA_NAME
public Assignment getNamesAssignment_1() { return cNamesAssignment_1; }
//LUA_NAME
public RuleCall getNamesLUA_NAMETerminalRuleCall_1_0() { return cNamesLUA_NAMETerminalRuleCall_1_0; }
//("," names+=LUA_NAME)*
public Group getGroup_2() { return cGroup_2; }
//","
public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
//names+=LUA_NAME
public Assignment getNamesAssignment_2_1() { return cNamesAssignment_2_1; }
//LUA_NAME
public RuleCall getNamesLUA_NAMETerminalRuleCall_2_1_0() { return cNamesLUA_NAMETerminalRuleCall_2_1_0; }
//"in"
public Keyword getInKeyword_3() { return cInKeyword_3; }
//expressions+=Expression
public Assignment getExpressionsAssignment_4() { return cExpressionsAssignment_4; }
//Expression
public RuleCall getExpressionsExpressionParserRuleCall_4_0() { return cExpressionsExpressionParserRuleCall_4_0; }
//("," expressions+=Expression)*
public Group getGroup_5() { return cGroup_5; }
//","
public Keyword getCommaKeyword_5_0() { return cCommaKeyword_5_0; }
//expressions+=Expression
public Assignment getExpressionsAssignment_5_1() { return cExpressionsAssignment_5_1; }
//Expression
public RuleCall getExpressionsExpressionParserRuleCall_5_1_0() { return cExpressionsExpressionParserRuleCall_5_1_0; }
//"do"
public Keyword getDoKeyword_6() { return cDoKeyword_6; }
//block=Block
public Assignment getBlockAssignment_7() { return cBlockAssignment_7; }
//Block
public RuleCall getBlockBlockParserRuleCall_7_0() { return cBlockBlockParserRuleCall_7_0; }
//"end"
public Keyword getEndKeyword_8() { return cEndKeyword_8; }
}
public class Statement_GlobalFunction_DeclarationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_GlobalFunction_Declaration");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cPrefixAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cPrefixLUA_NAMETerminalRuleCall_1_0 = (RuleCall)cPrefixAssignment_1.eContents().get(0);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cFullStopKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Assignment cPrefixAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final RuleCall cPrefixLUA_NAMETerminalRuleCall_2_1_0 = (RuleCall)cPrefixAssignment_2_1.eContents().get(0);
private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
private final Keyword cColonKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
private final Assignment cFunctionNameAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
private final RuleCall cFunctionNameLUA_NAMETerminalRuleCall_3_1_0 = (RuleCall)cFunctionNameAssignment_3_1.eContents().get(0);
private final Assignment cFunctionAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cFunctionFunctionParserRuleCall_4_0 = (RuleCall)cFunctionAssignment_4.eContents().get(0);
private final Keyword cEndKeyword_5 = (Keyword)cGroup.eContents().get(5);
//Statement_GlobalFunction_Declaration:
// "function" prefix+=LUA_NAME ("." prefix+=LUA_NAME)* (":" functionName=LUA_NAME)? function=Function "end";
@Override public ParserRule getRule() { return rule; }
//"function" prefix+=LUA_NAME ("." prefix+=LUA_NAME)* (":" functionName=LUA_NAME)? function=Function "end"
public Group getGroup() { return cGroup; }
//"function"
public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; }
//prefix+=LUA_NAME
public Assignment getPrefixAssignment_1() { return cPrefixAssignment_1; }
//LUA_NAME
public RuleCall getPrefixLUA_NAMETerminalRuleCall_1_0() { return cPrefixLUA_NAMETerminalRuleCall_1_0; }
//("." prefix+=LUA_NAME)*
public Group getGroup_2() { return cGroup_2; }
//"."
public Keyword getFullStopKeyword_2_0() { return cFullStopKeyword_2_0; }
//prefix+=LUA_NAME
public Assignment getPrefixAssignment_2_1() { return cPrefixAssignment_2_1; }
//LUA_NAME
public RuleCall getPrefixLUA_NAMETerminalRuleCall_2_1_0() { return cPrefixLUA_NAMETerminalRuleCall_2_1_0; }
//(":" functionName=LUA_NAME)?
public Group getGroup_3() { return cGroup_3; }
//":"
public Keyword getColonKeyword_3_0() { return cColonKeyword_3_0; }
//functionName=LUA_NAME
public Assignment getFunctionNameAssignment_3_1() { return cFunctionNameAssignment_3_1; }
//LUA_NAME
public RuleCall getFunctionNameLUA_NAMETerminalRuleCall_3_1_0() { return cFunctionNameLUA_NAMETerminalRuleCall_3_1_0; }
//function=Function
public Assignment getFunctionAssignment_4() { return cFunctionAssignment_4; }
//Function
public RuleCall getFunctionFunctionParserRuleCall_4_0() { return cFunctionFunctionParserRuleCall_4_0; }
//"end"
public Keyword getEndKeyword_5() { return cEndKeyword_5; }
}
public class Statement_LocalFunction_DeclarationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_LocalFunction_Declaration");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLocalKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Keyword cFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cFunctionNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cFunctionNameLUA_NAMETerminalRuleCall_2_0 = (RuleCall)cFunctionNameAssignment_2.eContents().get(0);
private final Assignment cFunctionAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final RuleCall cFunctionFunctionParserRuleCall_3_0 = (RuleCall)cFunctionAssignment_3.eContents().get(0);
private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4);
//Statement_LocalFunction_Declaration:
// "local" "function" functionName=LUA_NAME function=Function "end";
@Override public ParserRule getRule() { return rule; }
//"local" "function" functionName=LUA_NAME function=Function "end"
public Group getGroup() { return cGroup; }
//"local"
public Keyword getLocalKeyword_0() { return cLocalKeyword_0; }
//"function"
public Keyword getFunctionKeyword_1() { return cFunctionKeyword_1; }
//functionName=LUA_NAME
public Assignment getFunctionNameAssignment_2() { return cFunctionNameAssignment_2; }
//LUA_NAME
public RuleCall getFunctionNameLUA_NAMETerminalRuleCall_2_0() { return cFunctionNameLUA_NAMETerminalRuleCall_2_0; }
//function=Function
public Assignment getFunctionAssignment_3() { return cFunctionAssignment_3; }
//Function
public RuleCall getFunctionFunctionParserRuleCall_3_0() { return cFunctionFunctionParserRuleCall_3_0; }
//"end"
public Keyword getEndKeyword_4() { return cEndKeyword_4; }
}
public class Statement_Local_Variable_DeclarationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_Local_Variable_Declaration");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLocalKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cVariableNamesAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cVariableNamesLUA_NAMETerminalRuleCall_1_0 = (RuleCall)cVariableNamesAssignment_1.eContents().get(0);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Assignment cVariableNamesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final RuleCall cVariableNamesLUA_NAMETerminalRuleCall_2_1_0 = (RuleCall)cVariableNamesAssignment_2_1.eContents().get(0);
private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
private final Assignment cInitialValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
private final RuleCall cInitialValueExpressionParserRuleCall_3_1_0 = (RuleCall)cInitialValueAssignment_3_1.eContents().get(0);
private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
private final Assignment cInitialValueAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
private final RuleCall cInitialValueExpressionParserRuleCall_3_2_1_0 = (RuleCall)cInitialValueAssignment_3_2_1.eContents().get(0);
//// Local variables can be declared anywhere inside a block. The declaration can include an initial assignment "local ... [= ...]"
//Statement_Local_Variable_Declaration:
// "local" variableNames+=LUA_NAME ("," variableNames+=LUA_NAME)* ("=" initialValue+=Expression (","
// initialValue+=Expression)*)?;
@Override public ParserRule getRule() { return rule; }
//"local" variableNames+=LUA_NAME ("," variableNames+=LUA_NAME)* ("=" initialValue+=Expression (","
//initialValue+=Expression)*)?
public Group getGroup() { return cGroup; }
//"local"
public Keyword getLocalKeyword_0() { return cLocalKeyword_0; }
//variableNames+=LUA_NAME
public Assignment getVariableNamesAssignment_1() { return cVariableNamesAssignment_1; }
//LUA_NAME
public RuleCall getVariableNamesLUA_NAMETerminalRuleCall_1_0() { return cVariableNamesLUA_NAMETerminalRuleCall_1_0; }
//("," variableNames+=LUA_NAME)*
public Group getGroup_2() { return cGroup_2; }
//","
public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
//variableNames+=LUA_NAME
public Assignment getVariableNamesAssignment_2_1() { return cVariableNamesAssignment_2_1; }
//LUA_NAME
public RuleCall getVariableNamesLUA_NAMETerminalRuleCall_2_1_0() { return cVariableNamesLUA_NAMETerminalRuleCall_2_1_0; }
//("=" initialValue+=Expression ("," initialValue+=Expression)*)?
public Group getGroup_3() { return cGroup_3; }
//"="
public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; }
//initialValue+=Expression
public Assignment getInitialValueAssignment_3_1() { return cInitialValueAssignment_3_1; }
//Expression
public RuleCall getInitialValueExpressionParserRuleCall_3_1_0() { return cInitialValueExpressionParserRuleCall_3_1_0; }
//("," initialValue+=Expression)*
public Group getGroup_3_2() { return cGroup_3_2; }
//","
public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
//initialValue+=Expression
public Assignment getInitialValueAssignment_3_2_1() { return cInitialValueAssignment_3_2_1; }
//Expression
public RuleCall getInitialValueExpressionParserRuleCall_3_2_1_0() { return cInitialValueExpressionParserRuleCall_3_2_1_0; }
}
public class Statement_FunctioncallOrAssignmentElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement_FunctioncallOrAssignment");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_AccessMemberOrArrayElementParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Action cStatement_AssignmentVariableAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
private final Keyword cCommaKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
private final Assignment cVariableAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
private final RuleCall cVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0 = (RuleCall)cVariableAssignment_1_0_1_1.eContents().get(0);
private final Keyword cEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
private final Assignment cValuesAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
private final RuleCall cValuesExpressionParserRuleCall_1_0_3_0 = (RuleCall)cValuesAssignment_1_0_3.eContents().get(0);
private final Group cGroup_1_0_4 = (Group)cGroup_1_0.eContents().get(4);
private final Keyword cCommaKeyword_1_0_4_0 = (Keyword)cGroup_1_0_4.eContents().get(0);
private final Assignment cValuesAssignment_1_0_4_1 = (Assignment)cGroup_1_0_4.eContents().get(1);
private final RuleCall cValuesExpressionParserRuleCall_1_0_4_1_0 = (RuleCall)cValuesAssignment_1_0_4_1.eContents().get(0);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Keyword cColonKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Action cStatement_CallMemberFunctionObjectAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
private final Assignment cMemberFunctionNameAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
private final RuleCall cMemberFunctionNameLUA_NAMETerminalRuleCall_1_1_2_0 = (RuleCall)cMemberFunctionNameAssignment_1_1_2.eContents().get(0);
private final Assignment cArgumentsAssignment_1_1_3 = (Assignment)cGroup_1_1.eContents().get(3);
private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0 = (RuleCall)cArgumentsAssignment_1_1_3.eContents().get(0);
private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
private final Action cStatement_CallFunctionObjectAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
private final Assignment cArgumentsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0 = (RuleCall)cArgumentsAssignment_1_2_1.eContents().get(0);
//Statement_FunctioncallOrAssignment:
// Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} (","
// variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment
// // Call of a member function
// // Call of a function pointer
// | ":" {Statement_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments |
// {Statement_CallFunction.object=current} arguments=Functioncall_Arguments);
@Override public ParserRule getRule() { return rule; }
//Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} (","
//variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment
//// Call of a member function
//// Call of a function pointer
//| ":" {Statement_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments |
//{Statement_CallFunction.object=current} arguments=Functioncall_Arguments)
public Group getGroup() { return cGroup; }
//Expression_AccessMemberOrArrayElement
public RuleCall getExpression_AccessMemberOrArrayElementParserRuleCall_0() { return cExpression_AccessMemberOrArrayElementParserRuleCall_0; }
//{Statement_Assignment.variable+=current} ("," variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression
//("," values+=Expression)* // Assignment
//// Call of a member function
//// Call of a function pointer
//| ":" {Statement_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments |
//{Statement_CallFunction.object=current} arguments=Functioncall_Arguments
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//{Statement_Assignment.variable+=current} ("," variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression
//("," values+=Expression)*
public Group getGroup_1_0() { return cGroup_1_0; }
//{Statement_Assignment.variable+=current}
public Action getStatement_AssignmentVariableAction_1_0_0() { return cStatement_AssignmentVariableAction_1_0_0; }
//(=> "," variable+=Expression_AccessMemberOrArrayElement)*
public Group getGroup_1_0_1() { return cGroup_1_0_1; }
//=> ","
public Keyword getCommaKeyword_1_0_1_0() { return cCommaKeyword_1_0_1_0; }
//variable+=Expression_AccessMemberOrArrayElement
public Assignment getVariableAssignment_1_0_1_1() { return cVariableAssignment_1_0_1_1; }
//Expression_AccessMemberOrArrayElement
public RuleCall getVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0() { return cVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0; }
//"="
public Keyword getEqualsSignKeyword_1_0_2() { return cEqualsSignKeyword_1_0_2; }
//values+=Expression
public Assignment getValuesAssignment_1_0_3() { return cValuesAssignment_1_0_3; }
//Expression
public RuleCall getValuesExpressionParserRuleCall_1_0_3_0() { return cValuesExpressionParserRuleCall_1_0_3_0; }
//("," values+=Expression)*
public Group getGroup_1_0_4() { return cGroup_1_0_4; }
//","
public Keyword getCommaKeyword_1_0_4_0() { return cCommaKeyword_1_0_4_0; }
//values+=Expression
public Assignment getValuesAssignment_1_0_4_1() { return cValuesAssignment_1_0_4_1; }
//Expression
public RuleCall getValuesExpressionParserRuleCall_1_0_4_1_0() { return cValuesExpressionParserRuleCall_1_0_4_1_0; }
//":" {Statement_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments
public Group getGroup_1_1() { return cGroup_1_1; }
//":"
public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; }
//{Statement_CallMemberFunction.object=current}
public Action getStatement_CallMemberFunctionObjectAction_1_1_1() { return cStatement_CallMemberFunctionObjectAction_1_1_1; }
//memberFunctionName=LUA_NAME
public Assignment getMemberFunctionNameAssignment_1_1_2() { return cMemberFunctionNameAssignment_1_1_2; }
//LUA_NAME
public RuleCall getMemberFunctionNameLUA_NAMETerminalRuleCall_1_1_2_0() { return cMemberFunctionNameLUA_NAMETerminalRuleCall_1_1_2_0; }
//arguments=Functioncall_Arguments
public Assignment getArgumentsAssignment_1_1_3() { return cArgumentsAssignment_1_1_3; }
//Functioncall_Arguments
public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0; }
//{Statement_CallFunction.object=current} arguments=Functioncall_Arguments
public Group getGroup_1_2() { return cGroup_1_2; }
//{Statement_CallFunction.object=current}
public Action getStatement_CallFunctionObjectAction_1_2_0() { return cStatement_CallFunctionObjectAction_1_2_0; }
//arguments=Functioncall_Arguments
public Assignment getArgumentsAssignment_1_2_1() { return cArgumentsAssignment_1_2_1; }
//Functioncall_Arguments
public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0; }
}
public class ExpressionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression");
private final RuleCall cExpression_OrParserRuleCall = (RuleCall)rule.eContents().get(1);
//// ****************************************************
//// EXPRESSIONS
//// ****************************************************
//// Delegate to the priority chain of operators by calling the rule for the lowest priority operator
//Expression hidden(WS, COMMENT):
// Expression_Or;
@Override public ParserRule getRule() { return rule; }
//Expression_Or
public RuleCall getExpression_OrParserRuleCall() { return cExpression_OrParserRuleCall; }
}
public class Expression_OrElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Or");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_AndParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Keyword cOrKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Action cExpression_OrLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightExpression_AndParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//// Or: left associative, priority 0
//Expression_Or returns Expression:
// Expression_And ("or" {Expression_Or.left=current} right=Expression_And)*;
@Override public ParserRule getRule() { return rule; }
//Expression_And ("or" {Expression_Or.left=current} right=Expression_And)*
public Group getGroup() { return cGroup; }
//Expression_And
public RuleCall getExpression_AndParserRuleCall_0() { return cExpression_AndParserRuleCall_0; }
//("or" {Expression_Or.left=current} right=Expression_And)*
public Group getGroup_1() { return cGroup_1; }
//"or"
public Keyword getOrKeyword_1_0() { return cOrKeyword_1_0; }
//{Expression_Or.left=current}
public Action getExpression_OrLeftAction_1_1() { return cExpression_OrLeftAction_1_1; }
//right=Expression_And
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//Expression_And
public RuleCall getRightExpression_AndParserRuleCall_1_2_0() { return cRightExpression_AndParserRuleCall_1_2_0; }
}
public class Expression_AndElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_And");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_CompareParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Keyword cAndKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Action cExpression_AndLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightExpression_CompareParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//// And: left associative, priority 1
//Expression_And returns Expression:
// Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)*;
@Override public ParserRule getRule() { return rule; }
//Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)*
public Group getGroup() { return cGroup; }
//Expression_Compare
public RuleCall getExpression_CompareParserRuleCall_0() { return cExpression_CompareParserRuleCall_0; }
//("and" {Expression_And.left=current} right=Expression_Compare)*
public Group getGroup_1() { return cGroup_1; }
//"and"
public Keyword getAndKeyword_1_0() { return cAndKeyword_1_0; }
//{Expression_And.left=current}
public Action getExpression_AndLeftAction_1_1() { return cExpression_AndLeftAction_1_1; }
//right=Expression_Compare
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//Expression_Compare
public RuleCall getRightExpression_CompareParserRuleCall_1_2_0() { return cRightExpression_CompareParserRuleCall_1_2_0; }
}
public class Expression_CompareElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Compare");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_ConcatenationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cGreaterThanSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Action cExpression_LargerLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Action cExpression_Larger_EqualLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
private final Keyword cLessThanSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
private final Action cExpression_SmallerLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1);
private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0);
private final Group cGroup_1_3 = (Group)cAlternatives_1.eContents().get(3);
private final Keyword cLessThanSignEqualsSignKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0);
private final Action cExpression_Smaller_EqualLeftAction_1_3_1 = (Action)cGroup_1_3.eContents().get(1);
private final Assignment cRightAssignment_1_3_2 = (Assignment)cGroup_1_3.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_3_2_0 = (RuleCall)cRightAssignment_1_3_2.eContents().get(0);
private final Group cGroup_1_4 = (Group)cAlternatives_1.eContents().get(4);
private final Keyword cEqualsSignEqualsSignKeyword_1_4_0 = (Keyword)cGroup_1_4.eContents().get(0);
private final Action cExpression_EqualLeftAction_1_4_1 = (Action)cGroup_1_4.eContents().get(1);
private final Assignment cRightAssignment_1_4_2 = (Assignment)cGroup_1_4.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_4_2_0 = (RuleCall)cRightAssignment_1_4_2.eContents().get(0);
private final Group cGroup_1_5 = (Group)cAlternatives_1.eContents().get(5);
private final Keyword cTildeEqualsSignKeyword_1_5_0 = (Keyword)cGroup_1_5.eContents().get(0);
private final Action cExpression_Not_EqualLeftAction_1_5_1 = (Action)cGroup_1_5.eContents().get(1);
private final Assignment cRightAssignment_1_5_2 = (Assignment)cGroup_1_5.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_5_2_0 = (RuleCall)cRightAssignment_1_5_2.eContents().get(0);
//// Comparisons: left associative, priority 2
//Expression_Compare returns Expression:
// Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">="
// {Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current}
// right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "=="
// {Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current}
// right=Expression_Concatenation)*;
@Override public ParserRule getRule() { return rule; }
//Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">="
//{Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current}
//right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "=="
//{Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current}
//right=Expression_Concatenation)*
public Group getGroup() { return cGroup; }
//Expression_Concatenation
public RuleCall getExpression_ConcatenationParserRuleCall_0() { return cExpression_ConcatenationParserRuleCall_0; }
//(">" {Expression_Larger.left=current} right=Expression_Concatenation | ">=" {Expression_Larger_Equal.left=current}
//right=Expression_Concatenation | "<" {Expression_Smaller.left=current} right=Expression_Concatenation | "<="
//{Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "==" {Expression_Equal.left=current}
//right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current} right=Expression_Concatenation)*
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//">" {Expression_Larger.left=current} right=Expression_Concatenation
public Group getGroup_1_0() { return cGroup_1_0; }
//">"
public Keyword getGreaterThanSignKeyword_1_0_0() { return cGreaterThanSignKeyword_1_0_0; }
//{Expression_Larger.left=current}
public Action getExpression_LargerLeftAction_1_0_1() { return cExpression_LargerLeftAction_1_0_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_0_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_0_2_0; }
//">=" {Expression_Larger_Equal.left=current} right=Expression_Concatenation
public Group getGroup_1_1() { return cGroup_1_1; }
//">="
public Keyword getGreaterThanSignEqualsSignKeyword_1_1_0() { return cGreaterThanSignEqualsSignKeyword_1_1_0; }
//{Expression_Larger_Equal.left=current}
public Action getExpression_Larger_EqualLeftAction_1_1_1() { return cExpression_Larger_EqualLeftAction_1_1_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_1_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_1_2_0; }
//"<" {Expression_Smaller.left=current} right=Expression_Concatenation
public Group getGroup_1_2() { return cGroup_1_2; }
//"<"
public Keyword getLessThanSignKeyword_1_2_0() { return cLessThanSignKeyword_1_2_0; }
//{Expression_Smaller.left=current}
public Action getExpression_SmallerLeftAction_1_2_1() { return cExpression_SmallerLeftAction_1_2_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_2_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_2_2_0; }
//"<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation
public Group getGroup_1_3() { return cGroup_1_3; }
//"<="
public Keyword getLessThanSignEqualsSignKeyword_1_3_0() { return cLessThanSignEqualsSignKeyword_1_3_0; }
//{Expression_Smaller_Equal.left=current}
public Action getExpression_Smaller_EqualLeftAction_1_3_1() { return cExpression_Smaller_EqualLeftAction_1_3_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_3_2() { return cRightAssignment_1_3_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_3_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_3_2_0; }
//"==" {Expression_Equal.left=current} right=Expression_Concatenation
public Group getGroup_1_4() { return cGroup_1_4; }
//"=="
public Keyword getEqualsSignEqualsSignKeyword_1_4_0() { return cEqualsSignEqualsSignKeyword_1_4_0; }
//{Expression_Equal.left=current}
public Action getExpression_EqualLeftAction_1_4_1() { return cExpression_EqualLeftAction_1_4_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_4_2() { return cRightAssignment_1_4_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_4_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_4_2_0; }
//"~=" {Expression_Not_Equal.left=current} right=Expression_Concatenation
public Group getGroup_1_5() { return cGroup_1_5; }
//"~="
public Keyword getTildeEqualsSignKeyword_1_5_0() { return cTildeEqualsSignKeyword_1_5_0; }
//{Expression_Not_Equal.left=current}
public Action getExpression_Not_EqualLeftAction_1_5_1() { return cExpression_Not_EqualLeftAction_1_5_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_5_2() { return cRightAssignment_1_5_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_5_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_5_2_0; }
}
public class Expression_ConcatenationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Concatenation");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_PlusMinusParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Keyword cFullStopFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Action cExpression_ConcatenationLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightExpression_ConcatenationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//// Concatenation: right associative, priority 3
//Expression_Concatenation returns Expression:
// Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?;
@Override public ParserRule getRule() { return rule; }
//Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?
public Group getGroup() { return cGroup; }
//Expression_PlusMinus
public RuleCall getExpression_PlusMinusParserRuleCall_0() { return cExpression_PlusMinusParserRuleCall_0; }
//(".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?
public Group getGroup_1() { return cGroup_1; }
//".."
public Keyword getFullStopFullStopKeyword_1_0() { return cFullStopFullStopKeyword_1_0; }
//{Expression_Concatenation.left=current}
public Action getExpression_ConcatenationLeftAction_1_1() { return cExpression_ConcatenationLeftAction_1_1; }
//right=Expression_Concatenation
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//Expression_Concatenation
public RuleCall getRightExpression_ConcatenationParserRuleCall_1_2_0() { return cRightExpression_ConcatenationParserRuleCall_1_2_0; }
}
public class Expression_PlusMinusElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_PlusMinus");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_MultiplicationDivisionModuloParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cPlusSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Action cExpression_PlusLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Keyword cHyphenMinusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Action cExpression_MinusLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
private final RuleCall cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
//// addition/subtraction: left associative, priority 4
//Expression_PlusMinus returns Expression:
// Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current}
// right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current}
// right=Expression_MultiplicationDivisionModulo)*;
@Override public ParserRule getRule() { return rule; }
//Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current}
//right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current}
//right=Expression_MultiplicationDivisionModulo)*
public Group getGroup() { return cGroup; }
//Expression_MultiplicationDivisionModulo
public RuleCall getExpression_MultiplicationDivisionModuloParserRuleCall_0() { return cExpression_MultiplicationDivisionModuloParserRuleCall_0; }
//("+" {Expression_Plus.left=current} right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current}
//right=Expression_MultiplicationDivisionModulo)*
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//"+" {Expression_Plus.left=current} right=Expression_MultiplicationDivisionModulo
public Group getGroup_1_0() { return cGroup_1_0; }
//"+"
public Keyword getPlusSignKeyword_1_0_0() { return cPlusSignKeyword_1_0_0; }
//{Expression_Plus.left=current}
public Action getExpression_PlusLeftAction_1_0_1() { return cExpression_PlusLeftAction_1_0_1; }
//right=Expression_MultiplicationDivisionModulo
public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
//Expression_MultiplicationDivisionModulo
public RuleCall getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0() { return cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0; }
//"-" {Expression_Minus.left=current} right=Expression_MultiplicationDivisionModulo
public Group getGroup_1_1() { return cGroup_1_1; }
//"-"
public Keyword getHyphenMinusKeyword_1_1_0() { return cHyphenMinusKeyword_1_1_0; }
//{Expression_Minus.left=current}
public Action getExpression_MinusLeftAction_1_1_1() { return cExpression_MinusLeftAction_1_1_1; }
//right=Expression_MultiplicationDivisionModulo
public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
//Expression_MultiplicationDivisionModulo
public RuleCall getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0() { return cRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0; }
}
public class Expression_MultiplicationDivisionModuloElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_MultiplicationDivisionModulo");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_UnaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cAsteriskKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Action cExpression_MultiplicationLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cRightExpression_UnaryParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Keyword cSolidusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Action cExpression_DivisionLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
private final RuleCall cRightExpression_UnaryParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
private final Keyword cPercentSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
private final Action cExpression_ModuloLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1);
private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
private final RuleCall cRightExpression_UnaryParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0);
//// multiplication/division, left associative, priority 5
//Expression_MultiplicationDivisionModulo returns Expression:
// Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/"
// {Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current}
// right=Expression_Unary)*;
@Override public ParserRule getRule() { return rule; }
//Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/"
//{Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current}
//right=Expression_Unary)*
public Group getGroup() { return cGroup; }
//Expression_Unary
public RuleCall getExpression_UnaryParserRuleCall_0() { return cExpression_UnaryParserRuleCall_0; }
//("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/" {Expression_Division.left=current}
//right=Expression_Unary | "%" {Expression_Modulo.left=current} right=Expression_Unary)*
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//"*" {Expression_Multiplication.left=current} right=Expression_Unary
public Group getGroup_1_0() { return cGroup_1_0; }
//"*"
public Keyword getAsteriskKeyword_1_0_0() { return cAsteriskKeyword_1_0_0; }
//{Expression_Multiplication.left=current}
public Action getExpression_MultiplicationLeftAction_1_0_1() { return cExpression_MultiplicationLeftAction_1_0_1; }
//right=Expression_Unary
public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
//Expression_Unary
public RuleCall getRightExpression_UnaryParserRuleCall_1_0_2_0() { return cRightExpression_UnaryParserRuleCall_1_0_2_0; }
//"/" {Expression_Division.left=current} right=Expression_Unary
public Group getGroup_1_1() { return cGroup_1_1; }
//"/"
public Keyword getSolidusKeyword_1_1_0() { return cSolidusKeyword_1_1_0; }
//{Expression_Division.left=current}
public Action getExpression_DivisionLeftAction_1_1_1() { return cExpression_DivisionLeftAction_1_1_1; }
//right=Expression_Unary
public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
//Expression_Unary
public RuleCall getRightExpression_UnaryParserRuleCall_1_1_2_0() { return cRightExpression_UnaryParserRuleCall_1_1_2_0; }
//"%" {Expression_Modulo.left=current} right=Expression_Unary
public Group getGroup_1_2() { return cGroup_1_2; }
//"%"
public Keyword getPercentSignKeyword_1_2_0() { return cPercentSignKeyword_1_2_0; }
//{Expression_Modulo.left=current}
public Action getExpression_ModuloLeftAction_1_2_1() { return cExpression_ModuloLeftAction_1_2_1; }
//right=Expression_Unary
public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; }
//Expression_Unary
public RuleCall getRightExpression_UnaryParserRuleCall_1_2_2_0() { return cRightExpression_UnaryParserRuleCall_1_2_2_0; }
}
public class Expression_UnaryElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Unary");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cExpression_ExponentiationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Keyword cNotKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Action cExpression_NegateAction_1_1 = (Action)cGroup_1.eContents().get(1);
private final Assignment cExpAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cExpExpression_UnaryParserRuleCall_1_2_0 = (RuleCall)cExpAssignment_1_2.eContents().get(0);
private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
private final Keyword cNumberSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Action cExpression_LengthAction_2_1 = (Action)cGroup_2.eContents().get(1);
private final Assignment cExpAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
private final RuleCall cExpExpression_UnaryParserRuleCall_2_2_0 = (RuleCall)cExpAssignment_2_2.eContents().get(0);
private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
private final Keyword cHyphenMinusKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
private final Action cExpression_InvertAction_3_1 = (Action)cGroup_3.eContents().get(1);
private final Assignment cExpAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
private final RuleCall cExpExpression_UnaryParserRuleCall_3_2_0 = (RuleCall)cExpAssignment_3_2.eContents().get(0);
//// Unary operators: right associative, priority 6
//Expression_Unary returns Expression:
// Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length}
// exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary;
@Override public ParserRule getRule() { return rule; }
//Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length}
//exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary
public Alternatives getAlternatives() { return cAlternatives; }
//Expression_Exponentiation
public RuleCall getExpression_ExponentiationParserRuleCall_0() { return cExpression_ExponentiationParserRuleCall_0; }
//"not" {Expression_Negate} exp=Expression_Unary
public Group getGroup_1() { return cGroup_1; }
//"not"
public Keyword getNotKeyword_1_0() { return cNotKeyword_1_0; }
//{Expression_Negate}
public Action getExpression_NegateAction_1_1() { return cExpression_NegateAction_1_1; }
//exp=Expression_Unary
public Assignment getExpAssignment_1_2() { return cExpAssignment_1_2; }
//Expression_Unary
public RuleCall getExpExpression_UnaryParserRuleCall_1_2_0() { return cExpExpression_UnaryParserRuleCall_1_2_0; }
//"#" {Expression_Length} exp=Expression_Unary
public Group getGroup_2() { return cGroup_2; }
//"#"
public Keyword getNumberSignKeyword_2_0() { return cNumberSignKeyword_2_0; }
//{Expression_Length}
public Action getExpression_LengthAction_2_1() { return cExpression_LengthAction_2_1; }
//exp=Expression_Unary
public Assignment getExpAssignment_2_2() { return cExpAssignment_2_2; }
//Expression_Unary
public RuleCall getExpExpression_UnaryParserRuleCall_2_2_0() { return cExpExpression_UnaryParserRuleCall_2_2_0; }
//"-" {Expression_Invert} exp=Expression_Unary
public Group getGroup_3() { return cGroup_3; }
//"-"
public Keyword getHyphenMinusKeyword_3_0() { return cHyphenMinusKeyword_3_0; }
//{Expression_Invert}
public Action getExpression_InvertAction_3_1() { return cExpression_InvertAction_3_1; }
//exp=Expression_Unary
public Assignment getExpAssignment_3_2() { return cExpAssignment_3_2; }
//Expression_Unary
public RuleCall getExpExpression_UnaryParserRuleCall_3_2_0() { return cExpExpression_UnaryParserRuleCall_3_2_0; }
}
public class Expression_ExponentiationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Exponentiation");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_TerminalParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Keyword cCircumflexAccentKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Action cExpression_ExponentiationLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
private final RuleCall cRightExpression_ExponentiationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
//// exponentiation: right associative, priority 7
//Expression_Exponentiation returns Expression:
// Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?;
@Override public ParserRule getRule() { return rule; }
//Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?
public Group getGroup() { return cGroup; }
//Expression_Terminal
public RuleCall getExpression_TerminalParserRuleCall_0() { return cExpression_TerminalParserRuleCall_0; }
//("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?
public Group getGroup_1() { return cGroup_1; }
//"^"
public Keyword getCircumflexAccentKeyword_1_0() { return cCircumflexAccentKeyword_1_0; }
//{Expression_Exponentiation.left=current}
public Action getExpression_ExponentiationLeftAction_1_1() { return cExpression_ExponentiationLeftAction_1_1; }
//right=Expression_Exponentiation
public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
//Expression_Exponentiation
public RuleCall getRightExpression_ExponentiationParserRuleCall_1_2_0() { return cRightExpression_ExponentiationParserRuleCall_1_2_0; }
}
public class Expression_TerminalElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Terminal");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cExpression_NilParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cExpression_TrueParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cExpression_FalseParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
private final RuleCall cExpression_NumberParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
private final RuleCall cExpression_VarArgsParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
private final RuleCall cExpression_StringParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
private final RuleCall cExpression_FunctionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
private final RuleCall cExpression_TableConstructorParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
private final RuleCall cExpression_FunctioncallParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
//Expression_Terminal returns Expression:
// Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String |
// Expression_Function | Expression_TableConstructor | Expression_Functioncall;
@Override public ParserRule getRule() { return rule; }
//Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String |
//Expression_Function | Expression_TableConstructor | Expression_Functioncall
public Alternatives getAlternatives() { return cAlternatives; }
//Expression_Nil
public RuleCall getExpression_NilParserRuleCall_0() { return cExpression_NilParserRuleCall_0; }
//Expression_True
public RuleCall getExpression_TrueParserRuleCall_1() { return cExpression_TrueParserRuleCall_1; }
//Expression_False
public RuleCall getExpression_FalseParserRuleCall_2() { return cExpression_FalseParserRuleCall_2; }
//Expression_Number
public RuleCall getExpression_NumberParserRuleCall_3() { return cExpression_NumberParserRuleCall_3; }
//Expression_VarArgs
public RuleCall getExpression_VarArgsParserRuleCall_4() { return cExpression_VarArgsParserRuleCall_4; }
//Expression_String
public RuleCall getExpression_StringParserRuleCall_5() { return cExpression_StringParserRuleCall_5; }
//Expression_Function
public RuleCall getExpression_FunctionParserRuleCall_6() { return cExpression_FunctionParserRuleCall_6; }
//Expression_TableConstructor
public RuleCall getExpression_TableConstructorParserRuleCall_7() { return cExpression_TableConstructorParserRuleCall_7; }
//Expression_Functioncall
public RuleCall getExpression_FunctioncallParserRuleCall_8() { return cExpression_FunctioncallParserRuleCall_8; }
}
public class Expression_NilElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Nil");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cNilKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cExpression_NilAction_1 = (Action)cGroup.eContents().get(1);
//Expression_Nil:
// "nil" {Expression_Nil};
@Override public ParserRule getRule() { return rule; }
//"nil" {Expression_Nil}
public Group getGroup() { return cGroup; }
//"nil"
public Keyword getNilKeyword_0() { return cNilKeyword_0; }
//{Expression_Nil}
public Action getExpression_NilAction_1() { return cExpression_NilAction_1; }
}
public class Expression_TrueElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_True");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cTrueKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cExpression_TrueAction_1 = (Action)cGroup.eContents().get(1);
//Expression_True:
// "true" {Expression_True};
@Override public ParserRule getRule() { return rule; }
//"true" {Expression_True}
public Group getGroup() { return cGroup; }
//"true"
public Keyword getTrueKeyword_0() { return cTrueKeyword_0; }
//{Expression_True}
public Action getExpression_TrueAction_1() { return cExpression_TrueAction_1; }
}
public class Expression_FalseElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_False");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cFalseKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cExpression_FalseAction_1 = (Action)cGroup.eContents().get(1);
//Expression_False:
// "false" {Expression_False};
@Override public ParserRule getRule() { return rule; }
//"false" {Expression_False}
public Group getGroup() { return cGroup; }
//"false"
public Keyword getFalseKeyword_0() { return cFalseKeyword_0; }
//{Expression_False}
public Action getExpression_FalseAction_1() { return cExpression_FalseAction_1; }
}
public class Expression_NumberElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Number");
private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cValueLUA_NUMBERTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
//Expression_Number:
// value=LUA_NUMBER;
@Override public ParserRule getRule() { return rule; }
//value=LUA_NUMBER
public Assignment getValueAssignment() { return cValueAssignment; }
//LUA_NUMBER
public RuleCall getValueLUA_NUMBERTerminalRuleCall_0() { return cValueLUA_NUMBERTerminalRuleCall_0; }
}
public class Expression_VarArgsElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_VarArgs");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cFullStopFullStopFullStopKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cExpression_VarArgsAction_1 = (Action)cGroup.eContents().get(1);
//Expression_VarArgs:
// "..." {Expression_VarArgs};
@Override public ParserRule getRule() { return rule; }
//"..." {Expression_VarArgs}
public Group getGroup() { return cGroup; }
//"..."
public Keyword getFullStopFullStopFullStopKeyword_0() { return cFullStopFullStopFullStopKeyword_0; }
//{Expression_VarArgs}
public Action getExpression_VarArgsAction_1() { return cExpression_VarArgsAction_1; }
}
public class Expression_StringElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_String");
private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cValueLUA_STRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
//Expression_String:
// value=LUA_STRING;
@Override public ParserRule getRule() { return rule; }
//value=LUA_STRING
public Assignment getValueAssignment() { return cValueAssignment; }
//LUA_STRING
public RuleCall getValueLUA_STRINGTerminalRuleCall_0() { return cValueLUA_STRINGTerminalRuleCall_0; }
}
public class Expression_FunctionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Function");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cFunctionAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cFunctionFunctionParserRuleCall_1_0 = (RuleCall)cFunctionAssignment_1.eContents().get(0);
private final Keyword cEndKeyword_2 = (Keyword)cGroup.eContents().get(2);
//Expression_Function:
// "function" function=Function "end";
@Override public ParserRule getRule() { return rule; }
//"function" function=Function "end"
public Group getGroup() { return cGroup; }
//"function"
public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; }
//function=Function
public Assignment getFunctionAssignment_1() { return cFunctionAssignment_1; }
//Function
public RuleCall getFunctionFunctionParserRuleCall_1_0() { return cFunctionFunctionParserRuleCall_1_0; }
//"end"
public Keyword getEndKeyword_2() { return cEndKeyword_2; }
}
public class Expression_TableConstructorElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_TableConstructor");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Action cExpression_TableConstructorAction_1 = (Action)cGroup.eContents().get(1);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Assignment cFieldsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
private final RuleCall cFieldsFieldParserRuleCall_2_0_0 = (RuleCall)cFieldsAssignment_2_0.eContents().get(0);
private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
private final Alternatives cAlternatives_2_1_0 = (Alternatives)cGroup_2_1.eContents().get(0);
private final Keyword cCommaKeyword_2_1_0_0 = (Keyword)cAlternatives_2_1_0.eContents().get(0);
private final Keyword cSemicolonKeyword_2_1_0_1 = (Keyword)cAlternatives_2_1_0.eContents().get(1);
private final Assignment cFieldsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
private final RuleCall cFieldsFieldParserRuleCall_2_1_1_0 = (RuleCall)cFieldsAssignment_2_1_1.eContents().get(0);
private final Alternatives cAlternatives_2_2 = (Alternatives)cGroup_2.eContents().get(2);
private final Keyword cCommaKeyword_2_2_0 = (Keyword)cAlternatives_2_2.eContents().get(0);
private final Keyword cSemicolonKeyword_2_2_1 = (Keyword)cAlternatives_2_2.eContents().get(1);
private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
//Expression_TableConstructor:
// "{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}";
@Override public ParserRule getRule() { return rule; }
//"{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}"
public Group getGroup() { return cGroup; }
//"{"
public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
//{Expression_TableConstructor}
public Action getExpression_TableConstructorAction_1() { return cExpression_TableConstructorAction_1; }
//(fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)?
public Group getGroup_2() { return cGroup_2; }
//fields+=Field
public Assignment getFieldsAssignment_2_0() { return cFieldsAssignment_2_0; }
//Field
public RuleCall getFieldsFieldParserRuleCall_2_0_0() { return cFieldsFieldParserRuleCall_2_0_0; }
//(("," | ";") fields+=Field)*
public Group getGroup_2_1() { return cGroup_2_1; }
//"," | ";"
public Alternatives getAlternatives_2_1_0() { return cAlternatives_2_1_0; }
//","
public Keyword getCommaKeyword_2_1_0_0() { return cCommaKeyword_2_1_0_0; }
//";"
public Keyword getSemicolonKeyword_2_1_0_1() { return cSemicolonKeyword_2_1_0_1; }
//fields+=Field
public Assignment getFieldsAssignment_2_1_1() { return cFieldsAssignment_2_1_1; }
//Field
public RuleCall getFieldsFieldParserRuleCall_2_1_1_0() { return cFieldsFieldParserRuleCall_2_1_1_0; }
//("," | ";")?
public Alternatives getAlternatives_2_2() { return cAlternatives_2_2; }
//","
public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; }
//";"
public Keyword getSemicolonKeyword_2_2_1() { return cSemicolonKeyword_2_2_1; }
//"}"
public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
}
public class Expression_FunctioncallElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_Functioncall");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_AccessMemberOrArrayElementParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cColonKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Action cExpression_CallMemberFunctionObjectAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
private final Assignment cMemberFunctionNameAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cMemberFunctionNameLUA_NAMETerminalRuleCall_1_0_2_0 = (RuleCall)cMemberFunctionNameAssignment_1_0_2.eContents().get(0);
private final Assignment cArgumentsAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0 = (RuleCall)cArgumentsAssignment_1_0_3.eContents().get(0);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Action cExpression_CallFunctionObjectAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
private final Assignment cArgumentsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
private final RuleCall cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0 = (RuleCall)cArgumentsAssignment_1_1_1.eContents().get(0);
//// Function calls, left associative, single call only, priority 9
//Expression_Functioncall returns Expression:
// Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=LUA_NAME
// arguments=Functioncall_Arguments // Member-Funktionsaufruf
// // Aufruf eines Funktionspointer:
// | {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?;
@Override public ParserRule getRule() { return rule; }
//Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=LUA_NAME
//arguments=Functioncall_Arguments // Member-Funktionsaufruf
//// Aufruf eines Funktionspointer:
//| {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?
public Group getGroup() { return cGroup; }
//Expression_AccessMemberOrArrayElement
public RuleCall getExpression_AccessMemberOrArrayElementParserRuleCall_0() { return cExpression_AccessMemberOrArrayElementParserRuleCall_0; }
//(":" {Expression_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments // Member-Funktionsaufruf
//// Aufruf eines Funktionspointer:
//| {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//":" {Expression_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments
public Group getGroup_1_0() { return cGroup_1_0; }
//":"
public Keyword getColonKeyword_1_0_0() { return cColonKeyword_1_0_0; }
//{Expression_CallMemberFunction.object=current}
public Action getExpression_CallMemberFunctionObjectAction_1_0_1() { return cExpression_CallMemberFunctionObjectAction_1_0_1; }
//memberFunctionName=LUA_NAME
public Assignment getMemberFunctionNameAssignment_1_0_2() { return cMemberFunctionNameAssignment_1_0_2; }
//LUA_NAME
public RuleCall getMemberFunctionNameLUA_NAMETerminalRuleCall_1_0_2_0() { return cMemberFunctionNameLUA_NAMETerminalRuleCall_1_0_2_0; }
//arguments=Functioncall_Arguments
public Assignment getArgumentsAssignment_1_0_3() { return cArgumentsAssignment_1_0_3; }
//Functioncall_Arguments
public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0; }
//{Expression_CallFunction.object=current} arguments=Functioncall_Arguments
public Group getGroup_1_1() { return cGroup_1_1; }
//{Expression_CallFunction.object=current}
public Action getExpression_CallFunctionObjectAction_1_1_0() { return cExpression_CallFunctionObjectAction_1_1_0; }
//arguments=Functioncall_Arguments
public Assignment getArgumentsAssignment_1_1_1() { return cArgumentsAssignment_1_1_1; }
//Functioncall_Arguments
public RuleCall getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0() { return cArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0; }
}
public class Expression_AccessMemberOrArrayElementElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_AccessMemberOrArrayElement");
private final Group cGroup = (Group)rule.eContents().get(1);
private final RuleCall cExpression_VariableNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cLeftSquareBracketKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Action cExpression_AccessArrayArrayAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
private final Assignment cIndexAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cIndexExpressionParserRuleCall_1_0_2_0 = (RuleCall)cIndexAssignment_1_0_2.eContents().get(0);
private final Keyword cRightSquareBracketKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3);
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
private final Keyword cFullStopKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Action cExpression_AccessMemberObjectAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
private final Assignment cMemberNameAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
private final RuleCall cMemberNameLUA_NAMETerminalRuleCall_1_1_2_0 = (RuleCall)cMemberNameAssignment_1_1_2.eContents().get(0);
//// Access a member or array element, left associative, chaining possible, priority 10
//Expression_AccessMemberOrArrayElement returns Expression:
// Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array
// // Access a member variable using multiple parts separated by "."
// | "." {Expression_AccessMember.object=current} memberName=LUA_NAME)*;
@Override public ParserRule getRule() { return rule; }
//Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array
//// Access a member variable using multiple parts separated by "."
//| "." {Expression_AccessMember.object=current} memberName=LUA_NAME)*
public Group getGroup() { return cGroup; }
//Expression_VariableName
public RuleCall getExpression_VariableNameParserRuleCall_0() { return cExpression_VariableNameParserRuleCall_0; }
//("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array
//// Access a member variable using multiple parts separated by "."
//| "." {Expression_AccessMember.object=current} memberName=LUA_NAME)*
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//"[" {Expression_AccessArray.array=current} index=Expression "]"
public Group getGroup_1_0() { return cGroup_1_0; }
//"["
public Keyword getLeftSquareBracketKeyword_1_0_0() { return cLeftSquareBracketKeyword_1_0_0; }
//{Expression_AccessArray.array=current}
public Action getExpression_AccessArrayArrayAction_1_0_1() { return cExpression_AccessArrayArrayAction_1_0_1; }
//index=Expression
public Assignment getIndexAssignment_1_0_2() { return cIndexAssignment_1_0_2; }
//Expression
public RuleCall getIndexExpressionParserRuleCall_1_0_2_0() { return cIndexExpressionParserRuleCall_1_0_2_0; }
//"]"
public Keyword getRightSquareBracketKeyword_1_0_3() { return cRightSquareBracketKeyword_1_0_3; }
//"." {Expression_AccessMember.object=current} memberName=LUA_NAME
public Group getGroup_1_1() { return cGroup_1_1; }
//"."
public Keyword getFullStopKeyword_1_1_0() { return cFullStopKeyword_1_1_0; }
//{Expression_AccessMember.object=current}
public Action getExpression_AccessMemberObjectAction_1_1_1() { return cExpression_AccessMemberObjectAction_1_1_1; }
//memberName=LUA_NAME
public Assignment getMemberNameAssignment_1_1_2() { return cMemberNameAssignment_1_1_2; }
//LUA_NAME
public RuleCall getMemberNameLUA_NAMETerminalRuleCall_1_1_2_0() { return cMemberNameLUA_NAMETerminalRuleCall_1_1_2_0; }
}
public class Expression_VariableNameElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression_VariableName");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
private final RuleCall cExpressionParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Action cExpression_VariableNameAction_1_0 = (Action)cGroup_1.eContents().get(0);
private final Assignment cVariableAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cVariableLUA_NAMETerminalRuleCall_1_1_0 = (RuleCall)cVariableAssignment_1_1.eContents().get(0);
//// access a variable, terminal expression, priority 11
//// Delegate to top of expression rule chain for bracketed expressions
//Expression_VariableName returns Expression:
// "(" Expression ")" | {Expression_VariableName} variable=LUA_NAME;
@Override public ParserRule getRule() { return rule; }
//"(" Expression ")" | {Expression_VariableName} variable=LUA_NAME
public Alternatives getAlternatives() { return cAlternatives; }
//"(" Expression ")"
public Group getGroup_0() { return cGroup_0; }
//"("
public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; }
//Expression
public RuleCall getExpressionParserRuleCall_0_1() { return cExpressionParserRuleCall_0_1; }
//")"
public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; }
//{Expression_VariableName} variable=LUA_NAME
public Group getGroup_1() { return cGroup_1; }
//{Expression_VariableName}
public Action getExpression_VariableNameAction_1_0() { return cExpression_VariableNameAction_1_0; }
//variable=LUA_NAME
public Assignment getVariableAssignment_1_1() { return cVariableAssignment_1_1; }
//LUA_NAME
public RuleCall getVariableLUA_NAMETerminalRuleCall_1_1_0() { return cVariableLUA_NAMETerminalRuleCall_1_1_0; }
}
public class FunctionElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
private final Assignment cParametersAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
private final RuleCall cParametersLUA_NAMETerminalRuleCall_1_0_0 = (RuleCall)cParametersAssignment_1_0.eContents().get(0);
private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Assignment cParametersAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
private final RuleCall cParametersLUA_NAMETerminalRuleCall_1_1_1_0 = (RuleCall)cParametersAssignment_1_1_1.eContents().get(0);
private final Keyword cCommaKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
private final Assignment cVarArgsAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final Keyword cVarArgsFullStopFullStopFullStopKeyword_2_0 = (Keyword)cVarArgsAssignment_2.eContents().get(0);
private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cBodyBlockParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0);
//// ****************************************************
//// FUNCTIONS
//// ****************************************************
//Function:
// "(" (parameters+=LUA_NAME ("," parameters+=LUA_NAME)* ","?)? varArgs?="..."? ")" body=Block;
@Override public ParserRule getRule() { return rule; }
//"(" (parameters+=LUA_NAME ("," parameters+=LUA_NAME)* ","?)? varArgs?="..."? ")" body=Block
public Group getGroup() { return cGroup; }
//"("
public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; }
//(parameters+=LUA_NAME ("," parameters+=LUA_NAME)* ","?)?
public Group getGroup_1() { return cGroup_1; }
//parameters+=LUA_NAME
public Assignment getParametersAssignment_1_0() { return cParametersAssignment_1_0; }
//LUA_NAME
public RuleCall getParametersLUA_NAMETerminalRuleCall_1_0_0() { return cParametersLUA_NAMETerminalRuleCall_1_0_0; }
//("," parameters+=LUA_NAME)*
public Group getGroup_1_1() { return cGroup_1_1; }
//","
public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; }
//parameters+=LUA_NAME
public Assignment getParametersAssignment_1_1_1() { return cParametersAssignment_1_1_1; }
//LUA_NAME
public RuleCall getParametersLUA_NAMETerminalRuleCall_1_1_1_0() { return cParametersLUA_NAMETerminalRuleCall_1_1_1_0; }
//","?
public Keyword getCommaKeyword_1_2() { return cCommaKeyword_1_2; }
//varArgs?="..."?
public Assignment getVarArgsAssignment_2() { return cVarArgsAssignment_2; }
//"..."
public Keyword getVarArgsFullStopFullStopFullStopKeyword_2_0() { return cVarArgsFullStopFullStopFullStopKeyword_2_0; }
//")"
public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
//body=Block
public Assignment getBodyAssignment_4() { return cBodyAssignment_4; }
//Block
public RuleCall getBodyBlockParserRuleCall_4_0() { return cBodyBlockParserRuleCall_4_0; }
}
public class Functioncall_ArgumentsElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Functioncall_Arguments");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Action cFunctioncall_ArgumentsAction_0 = (Action)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Keyword cLeftParenthesisKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
private final Assignment cArgumentsAssignment_1_0_1_0 = (Assignment)cGroup_1_0_1.eContents().get(0);
private final RuleCall cArgumentsExpressionParserRuleCall_1_0_1_0_0 = (RuleCall)cArgumentsAssignment_1_0_1_0.eContents().get(0);
private final Group cGroup_1_0_1_1 = (Group)cGroup_1_0_1.eContents().get(1);
private final Keyword cCommaKeyword_1_0_1_1_0 = (Keyword)cGroup_1_0_1_1.eContents().get(0);
private final Assignment cArgumentsAssignment_1_0_1_1_1 = (Assignment)cGroup_1_0_1_1.eContents().get(1);
private final RuleCall cArgumentsExpressionParserRuleCall_1_0_1_1_1_0 = (RuleCall)cArgumentsAssignment_1_0_1_1_1.eContents().get(0);
private final Keyword cRightParenthesisKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
private final Assignment cArgumentsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
private final RuleCall cArgumentsExpression_TableConstructorParserRuleCall_1_1_0 = (RuleCall)cArgumentsAssignment_1_1.eContents().get(0);
private final Assignment cArgumentsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2);
private final RuleCall cArgumentsExpression_StringParserRuleCall_1_2_0 = (RuleCall)cArgumentsAssignment_1_2.eContents().get(0);
//// Some syntactic sugar: strings and field can be passed as parameters without bracket
//Functioncall_Arguments:
// {Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" |
// arguments+=Expression_TableConstructor | arguments+=Expression_String);
@Override public ParserRule getRule() { return rule; }
//{Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" |
//arguments+=Expression_TableConstructor | arguments+=Expression_String)
public Group getGroup() { return cGroup; }
//{Functioncall_Arguments}
public Action getFunctioncall_ArgumentsAction_0() { return cFunctioncall_ArgumentsAction_0; }
//"(" (arguments+=Expression ("," arguments+=Expression)*)? ")" | arguments+=Expression_TableConstructor |
//arguments+=Expression_String
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//"(" (arguments+=Expression ("," arguments+=Expression)*)? ")"
public Group getGroup_1_0() { return cGroup_1_0; }
//"("
public Keyword getLeftParenthesisKeyword_1_0_0() { return cLeftParenthesisKeyword_1_0_0; }
//(arguments+=Expression ("," arguments+=Expression)*)?
public Group getGroup_1_0_1() { return cGroup_1_0_1; }
//arguments+=Expression
public Assignment getArgumentsAssignment_1_0_1_0() { return cArgumentsAssignment_1_0_1_0; }
//Expression
public RuleCall getArgumentsExpressionParserRuleCall_1_0_1_0_0() { return cArgumentsExpressionParserRuleCall_1_0_1_0_0; }
//("," arguments+=Expression)*
public Group getGroup_1_0_1_1() { return cGroup_1_0_1_1; }
//","
public Keyword getCommaKeyword_1_0_1_1_0() { return cCommaKeyword_1_0_1_1_0; }
//arguments+=Expression
public Assignment getArgumentsAssignment_1_0_1_1_1() { return cArgumentsAssignment_1_0_1_1_1; }
//Expression
public RuleCall getArgumentsExpressionParserRuleCall_1_0_1_1_1_0() { return cArgumentsExpressionParserRuleCall_1_0_1_1_1_0; }
//")"
public Keyword getRightParenthesisKeyword_1_0_2() { return cRightParenthesisKeyword_1_0_2; }
//arguments+=Expression_TableConstructor
public Assignment getArgumentsAssignment_1_1() { return cArgumentsAssignment_1_1; }
//Expression_TableConstructor
public RuleCall getArgumentsExpression_TableConstructorParserRuleCall_1_1_0() { return cArgumentsExpression_TableConstructorParserRuleCall_1_1_0; }
//arguments+=Expression_String
public Assignment getArgumentsAssignment_1_2() { return cArgumentsAssignment_1_2; }
//Expression_String
public RuleCall getArgumentsExpression_StringParserRuleCall_1_2_0() { return cArgumentsExpression_StringParserRuleCall_1_2_0; }
}
public class FieldElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final RuleCall cField_AddEntryToTable_BracketsParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cField_AddEntryToTableParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cField_AppendEntryToTableParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
//// ****************************************************
//// TABLES/FIELDS
//// ****************************************************
//Field:
// Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable;
@Override public ParserRule getRule() { return rule; }
//Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable
public Alternatives getAlternatives() { return cAlternatives; }
//Field_AddEntryToTable_Brackets
public RuleCall getField_AddEntryToTable_BracketsParserRuleCall_0() { return cField_AddEntryToTable_BracketsParserRuleCall_0; }
//Field_AddEntryToTable
public RuleCall getField_AddEntryToTableParserRuleCall_1() { return cField_AddEntryToTableParserRuleCall_1; }
//Field_AppendEntryToTable
public RuleCall getField_AppendEntryToTableParserRuleCall_2() { return cField_AppendEntryToTableParserRuleCall_2; }
}
public class Field_AddEntryToTable_BracketsElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AddEntryToTable_Brackets");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Assignment cIndexExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cIndexExpressionExpressionParserRuleCall_1_0 = (RuleCall)cIndexExpressionAssignment_1.eContents().get(0);
private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Keyword cEqualsSignKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final Assignment cValueAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cValueExpressionParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0);
//// Each field of the form "[exp1] = exp2" adds to the new table an entry with key exp1 and value exp2
//Field_AddEntryToTable_Brackets:
// "[" indexExpression=Expression "]" "=" value=Expression;
@Override public ParserRule getRule() { return rule; }
//"[" indexExpression=Expression "]" "=" value=Expression
public Group getGroup() { return cGroup; }
//"["
public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
//indexExpression=Expression
public Assignment getIndexExpressionAssignment_1() { return cIndexExpressionAssignment_1; }
//Expression
public RuleCall getIndexExpressionExpressionParserRuleCall_1_0() { return cIndexExpressionExpressionParserRuleCall_1_0; }
//"]"
public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
//"="
public Keyword getEqualsSignKeyword_3() { return cEqualsSignKeyword_3; }
//value=Expression
public Assignment getValueAssignment_4() { return cValueAssignment_4; }
//Expression
public RuleCall getValueExpressionParserRuleCall_4_0() { return cValueExpressionParserRuleCall_4_0; }
}
public class Field_AddEntryToTableElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AddEntryToTable");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cKeyAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final RuleCall cKeyLUA_NAMETerminalRuleCall_0_0 = (RuleCall)cKeyAssignment_0.eContents().get(0);
private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
//// A field of the form "name = exp" is equivalent to ["name"] = exp
//Field_AddEntryToTable:
// key=LUA_NAME "=" value=Expression;
@Override public ParserRule getRule() { return rule; }
//key=LUA_NAME "=" value=Expression
public Group getGroup() { return cGroup; }
//key=LUA_NAME
public Assignment getKeyAssignment_0() { return cKeyAssignment_0; }
//LUA_NAME
public RuleCall getKeyLUA_NAMETerminalRuleCall_0_0() { return cKeyLUA_NAMETerminalRuleCall_0_0; }
//"="
public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
//value=Expression
public Assignment getValueAssignment_2() { return cValueAssignment_2; }
//Expression
public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; }
}
public class Field_AppendEntryToTableElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Field_AppendEntryToTable");
private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
private final RuleCall cValueExpressionParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
//// fields of the form "exp" are equivalent to [i] = exp
//Field_AppendEntryToTable:
// value=Expression;
@Override public ParserRule getRule() { return rule; }
//value=Expression
public Assignment getValueAssignment() { return cValueAssignment; }
//Expression
public RuleCall getValueExpressionParserRuleCall_0() { return cValueExpressionParserRuleCall_0; }
}
private final ChunkElements pChunk;
private final BlockElements pBlock;
private final LastStatementElements pLastStatement;
private final LastStatement_ReturnElements pLastStatement_Return;
private final LastStatement_BreakElements pLastStatement_Break;
private final StatementElements pStatement;
private final Statement_BlockElements pStatement_Block;
private final Statement_WhileElements pStatement_While;
private final Statement_RepeatElements pStatement_Repeat;
private final Statement_If_Then_ElseElements pStatement_If_Then_Else;
private final Statement_If_Then_Else_ElseIfPartElements pStatement_If_Then_Else_ElseIfPart;
private final Statement_For_NumericElements pStatement_For_Numeric;
private final Statement_For_GenericElements pStatement_For_Generic;
private final Statement_GlobalFunction_DeclarationElements pStatement_GlobalFunction_Declaration;
private final Statement_LocalFunction_DeclarationElements pStatement_LocalFunction_Declaration;
private final Statement_Local_Variable_DeclarationElements pStatement_Local_Variable_Declaration;
private final Statement_FunctioncallOrAssignmentElements pStatement_FunctioncallOrAssignment;
private final ExpressionElements pExpression;
private final Expression_OrElements pExpression_Or;
private final Expression_AndElements pExpression_And;
private final Expression_CompareElements pExpression_Compare;
private final Expression_ConcatenationElements pExpression_Concatenation;
private final Expression_PlusMinusElements pExpression_PlusMinus;
private final Expression_MultiplicationDivisionModuloElements pExpression_MultiplicationDivisionModulo;
private final Expression_UnaryElements pExpression_Unary;
private final Expression_ExponentiationElements pExpression_Exponentiation;
private final Expression_TerminalElements pExpression_Terminal;
private final Expression_NilElements pExpression_Nil;
private final Expression_TrueElements pExpression_True;
private final Expression_FalseElements pExpression_False;
private final Expression_NumberElements pExpression_Number;
private final Expression_VarArgsElements pExpression_VarArgs;
private final Expression_StringElements pExpression_String;
private final Expression_FunctionElements pExpression_Function;
private final Expression_TableConstructorElements pExpression_TableConstructor;
private final Expression_FunctioncallElements pExpression_Functioncall;
private final Expression_AccessMemberOrArrayElementElements pExpression_AccessMemberOrArrayElement;
private final Expression_VariableNameElements pExpression_VariableName;
private final FunctionElements pFunction;
private final Functioncall_ArgumentsElements pFunctioncall_Arguments;
private final FieldElements pField;
private final Field_AddEntryToTable_BracketsElements pField_AddEntryToTable_Brackets;
private final Field_AddEntryToTableElements pField_AddEntryToTable;
private final Field_AppendEntryToTableElements pField_AppendEntryToTable;
private final TerminalRule tCOMMENT;
private final TerminalRule tWS;
private final TerminalRule tLUA_NAME;
private final TerminalRule tLUA_STRING;
private final TerminalRule tLUA_NUMBER;
private final Grammar grammar;
private final TerminalsGrammarAccess gaTerminals;
@Inject
public LuaGrammarAccess(GrammarProvider grammarProvider,
TerminalsGrammarAccess gaTerminals) {
this.grammar = internalFindGrammar(grammarProvider);
this.gaTerminals = gaTerminals;
this.pChunk = new ChunkElements();
this.pBlock = new BlockElements();
this.pLastStatement = new LastStatementElements();
this.pLastStatement_Return = new LastStatement_ReturnElements();
this.pLastStatement_Break = new LastStatement_BreakElements();
this.pStatement = new StatementElements();
this.pStatement_Block = new Statement_BlockElements();
this.pStatement_While = new Statement_WhileElements();
this.pStatement_Repeat = new Statement_RepeatElements();
this.pStatement_If_Then_Else = new Statement_If_Then_ElseElements();
this.pStatement_If_Then_Else_ElseIfPart = new Statement_If_Then_Else_ElseIfPartElements();
this.pStatement_For_Numeric = new Statement_For_NumericElements();
this.pStatement_For_Generic = new Statement_For_GenericElements();
this.pStatement_GlobalFunction_Declaration = new Statement_GlobalFunction_DeclarationElements();
this.pStatement_LocalFunction_Declaration = new Statement_LocalFunction_DeclarationElements();
this.pStatement_Local_Variable_Declaration = new Statement_Local_Variable_DeclarationElements();
this.pStatement_FunctioncallOrAssignment = new Statement_FunctioncallOrAssignmentElements();
this.pExpression = new ExpressionElements();
this.pExpression_Or = new Expression_OrElements();
this.pExpression_And = new Expression_AndElements();
this.pExpression_Compare = new Expression_CompareElements();
this.pExpression_Concatenation = new Expression_ConcatenationElements();
this.pExpression_PlusMinus = new Expression_PlusMinusElements();
this.pExpression_MultiplicationDivisionModulo = new Expression_MultiplicationDivisionModuloElements();
this.pExpression_Unary = new Expression_UnaryElements();
this.pExpression_Exponentiation = new Expression_ExponentiationElements();
this.pExpression_Terminal = new Expression_TerminalElements();
this.pExpression_Nil = new Expression_NilElements();
this.pExpression_True = new Expression_TrueElements();
this.pExpression_False = new Expression_FalseElements();
this.pExpression_Number = new Expression_NumberElements();
this.pExpression_VarArgs = new Expression_VarArgsElements();
this.pExpression_String = new Expression_StringElements();
this.pExpression_Function = new Expression_FunctionElements();
this.pExpression_TableConstructor = new Expression_TableConstructorElements();
this.pExpression_Functioncall = new Expression_FunctioncallElements();
this.pExpression_AccessMemberOrArrayElement = new Expression_AccessMemberOrArrayElementElements();
this.pExpression_VariableName = new Expression_VariableNameElements();
this.pFunction = new FunctionElements();
this.pFunctioncall_Arguments = new Functioncall_ArgumentsElements();
this.pField = new FieldElements();
this.pField_AddEntryToTable_Brackets = new Field_AddEntryToTable_BracketsElements();
this.pField_AddEntryToTable = new Field_AddEntryToTableElements();
this.pField_AppendEntryToTable = new Field_AppendEntryToTableElements();
this.tCOMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "COMMENT");
this.tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "WS");
this.tLUA_NAME = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LUA_NAME");
this.tLUA_STRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LUA_STRING");
this.tLUA_NUMBER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LUA_NUMBER");
}
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
Grammar grammar = grammarProvider.getGrammar(this);
while (grammar != null) {
if ("org.xtext.lua.Lua".equals(grammar.getName())) {
return grammar;
}
List<Grammar> grammars = grammar.getUsedGrammars();
if (!grammars.isEmpty()) {
grammar = grammars.iterator().next();
} else {
return null;
}
}
return grammar;
}
@Override
public Grammar getGrammar() {
return grammar;
}
public TerminalsGrammarAccess getTerminalsGrammarAccess() {
return gaTerminals;
}
//Chunk hidden(WS, COMMENT):
// Block;
public ChunkElements getChunkAccess() {
return pChunk;
}
public ParserRule getChunkRule() {
return getChunkAccess().getRule();
}
//Block hidden(WS, COMMENT):
// {Block} (statements+=Statement ";"?)* (returnValue=LastStatement ";"?)?;
public BlockElements getBlockAccess() {
return pBlock;
}
public ParserRule getBlockRule() {
return getBlockAccess().getRule();
}
//// ****************************************************
//// LAST STATEMENT
//// ****************************************************
//LastStatement:
// LastStatement_Return | LastStatement_Break;
public LastStatementElements getLastStatementAccess() {
return pLastStatement;
}
public ParserRule getLastStatementRule() {
return getLastStatementAccess().getRule();
}
//// The return statement is used to return values from a function or a chunk
//LastStatement_Return:
// "return" {LastStatement_ReturnWithValue} (returnValues+=Expression ("," returnValues+=Expression)*)?;
public LastStatement_ReturnElements getLastStatement_ReturnAccess() {
return pLastStatement_Return;
}
public ParserRule getLastStatement_ReturnRule() {
return getLastStatement_ReturnAccess().getRule();
}
//// The break statement is used to terminate the execution of a while, repeat, or for loop, skipping to the next statement after the loop
//LastStatement_Break:
// "break" {LastStatement_Break};
public LastStatement_BreakElements getLastStatement_BreakAccess() {
return pLastStatement_Break;
}
public ParserRule getLastStatement_BreakRule() {
return getLastStatement_BreakAccess().getRule();
}
//// ****************************************************
//// STATEMENT
//// ****************************************************
//Statement hidden(WS, COMMENT):
// Statement_Block | Statement_While | Statement_Repeat | Statement_If_Then_Else | Statement_For_Numeric |
// Statement_For_Generic | Statement_GlobalFunction_Declaration | Statement_LocalFunction_Declaration |
// Statement_Local_Variable_Declaration | Statement_FunctioncallOrAssignment;
public StatementElements getStatementAccess() {
return pStatement;
}
public ParserRule getStatementRule() {
return getStatementAccess().getRule();
}
//// A block can be explicitly delimited to produce a single statement. "do ... end"
//Statement_Block:
// "do" block=Block "end";
public Statement_BlockElements getStatement_BlockAccess() {
return pStatement_Block;
}
public ParserRule getStatement_BlockRule() {
return getStatement_BlockAccess().getRule();
}
//// Control structure. "while ... do ... end"
//Statement_While:
// "while" expression=Expression "do" block=Block "end";
public Statement_WhileElements getStatement_WhileAccess() {
return pStatement_While;
}
public ParserRule getStatement_WhileRule() {
return getStatement_WhileAccess().getRule();
}
//// Control structure. "repeat ... until ..."
//Statement_Repeat:
// "repeat" block=Block "until" expression=Expression;
public Statement_RepeatElements getStatement_RepeatAccess() {
return pStatement_Repeat;
}
public ParserRule getStatement_RepeatRule() {
return getStatement_RepeatAccess().getRule();
}
//// Control structure. "if ... then ... elseif ... elseif ... else ... end"
//Statement_If_Then_Else:
// "if" ifExpression=Expression "then" ifBlock=Block elseIf+=Statement_If_Then_Else_ElseIfPart* ("else" elseBlock=Block)?
// "end";
public Statement_If_Then_ElseElements getStatement_If_Then_ElseAccess() {
return pStatement_If_Then_Else;
}
public ParserRule getStatement_If_Then_ElseRule() {
return getStatement_If_Then_ElseAccess().getRule();
}
//Statement_If_Then_Else_ElseIfPart:
// "elseif" elseifExpression=Expression "then" elseifBlock=Block;
public Statement_If_Then_Else_ElseIfPartElements getStatement_If_Then_Else_ElseIfPartAccess() {
return pStatement_If_Then_Else_ElseIfPart;
}
public ParserRule getStatement_If_Then_Else_ElseIfPartRule() {
return getStatement_If_Then_Else_ElseIfPartAccess().getRule();
}
//// The numeric for loop repeats a block of code while a control variable runs through an arithmetic progression "for ...=..., ... [,...] do ... end"
//Statement_For_Numeric:
// "for" iteratorName=LUA_NAME "=" startExpr=Expression "," untilExpr=Expression ("," stepExpr=Expression)? "do"
// block=Block "end";
public Statement_For_NumericElements getStatement_For_NumericAccess() {
return pStatement_For_Numeric;
}
public ParserRule getStatement_For_NumericRule() {
return getStatement_For_NumericAccess().getRule();
}
//// The generic for statement works over functions, called iterators. On each iteration, the iterator function is called to produce a new value, stopping when this new value is nil "for ... in ... do ... end"
//Statement_For_Generic:
// "for" names+=LUA_NAME ("," names+=LUA_NAME)* "in" expressions+=Expression ("," expressions+=Expression)* "do"
// block=Block "end";
public Statement_For_GenericElements getStatement_For_GenericAccess() {
return pStatement_For_Generic;
}
public ParserRule getStatement_For_GenericRule() {
return getStatement_For_GenericAccess().getRule();
}
//Statement_GlobalFunction_Declaration:
// "function" prefix+=LUA_NAME ("." prefix+=LUA_NAME)* (":" functionName=LUA_NAME)? function=Function "end";
public Statement_GlobalFunction_DeclarationElements getStatement_GlobalFunction_DeclarationAccess() {
return pStatement_GlobalFunction_Declaration;
}
public ParserRule getStatement_GlobalFunction_DeclarationRule() {
return getStatement_GlobalFunction_DeclarationAccess().getRule();
}
//Statement_LocalFunction_Declaration:
// "local" "function" functionName=LUA_NAME function=Function "end";
public Statement_LocalFunction_DeclarationElements getStatement_LocalFunction_DeclarationAccess() {
return pStatement_LocalFunction_Declaration;
}
public ParserRule getStatement_LocalFunction_DeclarationRule() {
return getStatement_LocalFunction_DeclarationAccess().getRule();
}
//// Local variables can be declared anywhere inside a block. The declaration can include an initial assignment "local ... [= ...]"
//Statement_Local_Variable_Declaration:
// "local" variableNames+=LUA_NAME ("," variableNames+=LUA_NAME)* ("=" initialValue+=Expression (","
// initialValue+=Expression)*)?;
public Statement_Local_Variable_DeclarationElements getStatement_Local_Variable_DeclarationAccess() {
return pStatement_Local_Variable_Declaration;
}
public ParserRule getStatement_Local_Variable_DeclarationRule() {
return getStatement_Local_Variable_DeclarationAccess().getRule();
}
//Statement_FunctioncallOrAssignment:
// Expression_AccessMemberOrArrayElement ({Statement_Assignment.variable+=current} (","
// variable+=Expression_AccessMemberOrArrayElement)* "=" values+=Expression ("," values+=Expression)* // Assignment
// // Call of a member function
// // Call of a function pointer
// | ":" {Statement_CallMemberFunction.object=current} memberFunctionName=LUA_NAME arguments=Functioncall_Arguments |
// {Statement_CallFunction.object=current} arguments=Functioncall_Arguments);
public Statement_FunctioncallOrAssignmentElements getStatement_FunctioncallOrAssignmentAccess() {
return pStatement_FunctioncallOrAssignment;
}
public ParserRule getStatement_FunctioncallOrAssignmentRule() {
return getStatement_FunctioncallOrAssignmentAccess().getRule();
}
//// ****************************************************
//// EXPRESSIONS
//// ****************************************************
//// Delegate to the priority chain of operators by calling the rule for the lowest priority operator
//Expression hidden(WS, COMMENT):
// Expression_Or;
public ExpressionElements getExpressionAccess() {
return pExpression;
}
public ParserRule getExpressionRule() {
return getExpressionAccess().getRule();
}
//// Or: left associative, priority 0
//Expression_Or returns Expression:
// Expression_And ("or" {Expression_Or.left=current} right=Expression_And)*;
public Expression_OrElements getExpression_OrAccess() {
return pExpression_Or;
}
public ParserRule getExpression_OrRule() {
return getExpression_OrAccess().getRule();
}
//// And: left associative, priority 1
//Expression_And returns Expression:
// Expression_Compare ("and" {Expression_And.left=current} right=Expression_Compare)*;
public Expression_AndElements getExpression_AndAccess() {
return pExpression_And;
}
public ParserRule getExpression_AndRule() {
return getExpression_AndAccess().getRule();
}
//// Comparisons: left associative, priority 2
//Expression_Compare returns Expression:
// Expression_Concatenation (">" {Expression_Larger.left=current} right=Expression_Concatenation | ">="
// {Expression_Larger_Equal.left=current} right=Expression_Concatenation | "<" {Expression_Smaller.left=current}
// right=Expression_Concatenation | "<=" {Expression_Smaller_Equal.left=current} right=Expression_Concatenation | "=="
// {Expression_Equal.left=current} right=Expression_Concatenation | "~=" {Expression_Not_Equal.left=current}
// right=Expression_Concatenation)*;
public Expression_CompareElements getExpression_CompareAccess() {
return pExpression_Compare;
}
public ParserRule getExpression_CompareRule() {
return getExpression_CompareAccess().getRule();
}
//// Concatenation: right associative, priority 3
//Expression_Concatenation returns Expression:
// Expression_PlusMinus (".." {Expression_Concatenation.left=current} right=Expression_Concatenation)?;
public Expression_ConcatenationElements getExpression_ConcatenationAccess() {
return pExpression_Concatenation;
}
public ParserRule getExpression_ConcatenationRule() {
return getExpression_ConcatenationAccess().getRule();
}
//// addition/subtraction: left associative, priority 4
//Expression_PlusMinus returns Expression:
// Expression_MultiplicationDivisionModulo ("+" {Expression_Plus.left=current}
// right=Expression_MultiplicationDivisionModulo | "-" {Expression_Minus.left=current}
// right=Expression_MultiplicationDivisionModulo)*;
public Expression_PlusMinusElements getExpression_PlusMinusAccess() {
return pExpression_PlusMinus;
}
public ParserRule getExpression_PlusMinusRule() {
return getExpression_PlusMinusAccess().getRule();
}
//// multiplication/division, left associative, priority 5
//Expression_MultiplicationDivisionModulo returns Expression:
// Expression_Unary ("*" {Expression_Multiplication.left=current} right=Expression_Unary | "/"
// {Expression_Division.left=current} right=Expression_Unary | "%" {Expression_Modulo.left=current}
// right=Expression_Unary)*;
public Expression_MultiplicationDivisionModuloElements getExpression_MultiplicationDivisionModuloAccess() {
return pExpression_MultiplicationDivisionModulo;
}
public ParserRule getExpression_MultiplicationDivisionModuloRule() {
return getExpression_MultiplicationDivisionModuloAccess().getRule();
}
//// Unary operators: right associative, priority 6
//Expression_Unary returns Expression:
// Expression_Exponentiation | "not" {Expression_Negate} exp=Expression_Unary | "#" {Expression_Length}
// exp=Expression_Unary | "-" {Expression_Invert} exp=Expression_Unary;
public Expression_UnaryElements getExpression_UnaryAccess() {
return pExpression_Unary;
}
public ParserRule getExpression_UnaryRule() {
return getExpression_UnaryAccess().getRule();
}
//// exponentiation: right associative, priority 7
//Expression_Exponentiation returns Expression:
// Expression_Terminal ("^" {Expression_Exponentiation.left=current} right=Expression_Exponentiation)?;
public Expression_ExponentiationElements getExpression_ExponentiationAccess() {
return pExpression_Exponentiation;
}
public ParserRule getExpression_ExponentiationRule() {
return getExpression_ExponentiationAccess().getRule();
}
//Expression_Terminal returns Expression:
// Expression_Nil | Expression_True | Expression_False | Expression_Number | Expression_VarArgs | Expression_String |
// Expression_Function | Expression_TableConstructor | Expression_Functioncall;
public Expression_TerminalElements getExpression_TerminalAccess() {
return pExpression_Terminal;
}
public ParserRule getExpression_TerminalRule() {
return getExpression_TerminalAccess().getRule();
}
//Expression_Nil:
// "nil" {Expression_Nil};
public Expression_NilElements getExpression_NilAccess() {
return pExpression_Nil;
}
public ParserRule getExpression_NilRule() {
return getExpression_NilAccess().getRule();
}
//Expression_True:
// "true" {Expression_True};
public Expression_TrueElements getExpression_TrueAccess() {
return pExpression_True;
}
public ParserRule getExpression_TrueRule() {
return getExpression_TrueAccess().getRule();
}
//Expression_False:
// "false" {Expression_False};
public Expression_FalseElements getExpression_FalseAccess() {
return pExpression_False;
}
public ParserRule getExpression_FalseRule() {
return getExpression_FalseAccess().getRule();
}
//Expression_Number:
// value=LUA_NUMBER;
public Expression_NumberElements getExpression_NumberAccess() {
return pExpression_Number;
}
public ParserRule getExpression_NumberRule() {
return getExpression_NumberAccess().getRule();
}
//Expression_VarArgs:
// "..." {Expression_VarArgs};
public Expression_VarArgsElements getExpression_VarArgsAccess() {
return pExpression_VarArgs;
}
public ParserRule getExpression_VarArgsRule() {
return getExpression_VarArgsAccess().getRule();
}
//Expression_String:
// value=LUA_STRING;
public Expression_StringElements getExpression_StringAccess() {
return pExpression_String;
}
public ParserRule getExpression_StringRule() {
return getExpression_StringAccess().getRule();
}
//Expression_Function:
// "function" function=Function "end";
public Expression_FunctionElements getExpression_FunctionAccess() {
return pExpression_Function;
}
public ParserRule getExpression_FunctionRule() {
return getExpression_FunctionAccess().getRule();
}
//Expression_TableConstructor:
// "{" {Expression_TableConstructor} (fields+=Field (("," | ";") fields+=Field)* ("," | ";")?)? "}";
public Expression_TableConstructorElements getExpression_TableConstructorAccess() {
return pExpression_TableConstructor;
}
public ParserRule getExpression_TableConstructorRule() {
return getExpression_TableConstructorAccess().getRule();
}
//// Function calls, left associative, single call only, priority 9
//Expression_Functioncall returns Expression:
// Expression_AccessMemberOrArrayElement (":" {Expression_CallMemberFunction.object=current} memberFunctionName=LUA_NAME
// arguments=Functioncall_Arguments // Member-Funktionsaufruf
// // Aufruf eines Funktionspointer:
// | {Expression_CallFunction.object=current} arguments=Functioncall_Arguments)?;
public Expression_FunctioncallElements getExpression_FunctioncallAccess() {
return pExpression_Functioncall;
}
public ParserRule getExpression_FunctioncallRule() {
return getExpression_FunctioncallAccess().getRule();
}
//// Access a member or array element, left associative, chaining possible, priority 10
//Expression_AccessMemberOrArrayElement returns Expression:
// Expression_VariableName ("[" {Expression_AccessArray.array=current} index=Expression "]" // An expression accessing an element in a variable array
// // Access a member variable using multiple parts separated by "."
// | "." {Expression_AccessMember.object=current} memberName=LUA_NAME)*;
public Expression_AccessMemberOrArrayElementElements getExpression_AccessMemberOrArrayElementAccess() {
return pExpression_AccessMemberOrArrayElement;
}
public ParserRule getExpression_AccessMemberOrArrayElementRule() {
return getExpression_AccessMemberOrArrayElementAccess().getRule();
}
//// access a variable, terminal expression, priority 11
//// Delegate to top of expression rule chain for bracketed expressions
//Expression_VariableName returns Expression:
// "(" Expression ")" | {Expression_VariableName} variable=LUA_NAME;
public Expression_VariableNameElements getExpression_VariableNameAccess() {
return pExpression_VariableName;
}
public ParserRule getExpression_VariableNameRule() {
return getExpression_VariableNameAccess().getRule();
}
//// ****************************************************
//// FUNCTIONS
//// ****************************************************
//Function:
// "(" (parameters+=LUA_NAME ("," parameters+=LUA_NAME)* ","?)? varArgs?="..."? ")" body=Block;
public FunctionElements getFunctionAccess() {
return pFunction;
}
public ParserRule getFunctionRule() {
return getFunctionAccess().getRule();
}
//// Some syntactic sugar: strings and field can be passed as parameters without bracket
//Functioncall_Arguments:
// {Functioncall_Arguments} ("(" (arguments+=Expression ("," arguments+=Expression)*)? ")" |
// arguments+=Expression_TableConstructor | arguments+=Expression_String);
public Functioncall_ArgumentsElements getFunctioncall_ArgumentsAccess() {
return pFunctioncall_Arguments;
}
public ParserRule getFunctioncall_ArgumentsRule() {
return getFunctioncall_ArgumentsAccess().getRule();
}
//// ****************************************************
//// TABLES/FIELDS
//// ****************************************************
//Field:
// Field_AddEntryToTable_Brackets | Field_AddEntryToTable | Field_AppendEntryToTable;
public FieldElements getFieldAccess() {
return pField;
}
public ParserRule getFieldRule() {
return getFieldAccess().getRule();
}
//// Each field of the form "[exp1] = exp2" adds to the new table an entry with key exp1 and value exp2
//Field_AddEntryToTable_Brackets:
// "[" indexExpression=Expression "]" "=" value=Expression;
public Field_AddEntryToTable_BracketsElements getField_AddEntryToTable_BracketsAccess() {
return pField_AddEntryToTable_Brackets;
}
public ParserRule getField_AddEntryToTable_BracketsRule() {
return getField_AddEntryToTable_BracketsAccess().getRule();
}
//// A field of the form "name = exp" is equivalent to ["name"] = exp
//Field_AddEntryToTable:
// key=LUA_NAME "=" value=Expression;
public Field_AddEntryToTableElements getField_AddEntryToTableAccess() {
return pField_AddEntryToTable;
}
public ParserRule getField_AddEntryToTableRule() {
return getField_AddEntryToTableAccess().getRule();
}
//// fields of the form "exp" are equivalent to [i] = exp
//Field_AppendEntryToTable:
// value=Expression;
public Field_AppendEntryToTableElements getField_AppendEntryToTableAccess() {
return pField_AppendEntryToTable;
}
public ParserRule getField_AppendEntryToTableRule() {
return getField_AppendEntryToTableAccess().getRule();
}
//// ****************************************************
//// TERMINALS
//// ****************************************************
//terminal COMMENT:
// "--" ("[["->"]]" | !"[" !"\n"* "\n"?);
public TerminalRule getCOMMENTRule() {
return tCOMMENT;
}
//// Consume all white space, tabs and new line characters
//terminal WS:
// (" " | "\t" | "\r" | "\n")+;
public TerminalRule getWSRule() {
return tWS;
}
//// Identifiers can be any string of letters, digits, and underscores, but mustn't begin with a digit.
//terminal LUA_NAME:
// ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
public TerminalRule getLUA_NAMERule() {
return tLUA_NAME;
}
//terminal LUA_STRING:
// "\'" ("\\" ("a" | "b" | "f" | "n" | "r" | "t" | "v" | "\"" | "\'" | "\\" | "0".."9" ("0".."9" "0".."9")) | !("\\" |
// "\'"))* "\'" | "\"" ("\\" ("a" | "b" | "f" | "n" | "r" | "t" | "v" | "\"" | "\'" | "\\" | "0".."9" ("0".."9"
// "0".."9")) | !("\\" | "\""))* "\"" | "[["->"]]";
public TerminalRule getLUA_STRINGRule() {
return tLUA_STRING;
}
//terminal LUA_NUMBER returns ecore::EDouble:
// "0".."9"+ ("." "0".."9"+ (("E" | "e") "-"? "0".."9"+)?)? | "0x" ("0".."9" | "a".."f")+;
public TerminalRule getLUA_NUMBERRule() {
return tLUA_NUMBER;
}
//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 ANY_OTHER:
// .;
public TerminalRule getANY_OTHERRule() {
return gaTerminals.getANY_OTHERRule();
}
}