de.cau.cs.kieler.synccharts.labelparser.parseTreeConstruction
Class ActionLabelParsetreeConstructor

java.lang.Object
  extended by org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor
      extended by de.cau.cs.kieler.synccharts.labelparser.parseTreeConstruction.ActionLabelParsetreeConstructor
All Implemented Interfaces:
org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor

public class ActionLabelParsetreeConstructor
extends org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor

Rating red

Nested Class Summary
protected  class ActionLabelParsetreeConstructor.Action_DelayAssignment_1
           
protected  class ActionLabelParsetreeConstructor.Action_EffectsAssignment_3_1_0
           
protected  class ActionLabelParsetreeConstructor.Action_Group
          begin Rule Action **************** //import "synccharts" as synchcharts //============================================================================== // Basic Actions //============================================================================== Action returns synccharts::Action: isImmediate?="#"? delay=INT? trigger=BooleanExpression? ("/" (effects+=Effect ","?)*)?;
protected  class ActionLabelParsetreeConstructor.Action_Group_3
           
protected  class ActionLabelParsetreeConstructor.Action_Group_3_1
           
protected  class ActionLabelParsetreeConstructor.Action_IsImmediateAssignment_0
           
protected  class ActionLabelParsetreeConstructor.Action_SolidusKeyword_3_0
           
protected  class ActionLabelParsetreeConstructor.Action_TriggerAssignment_2
           
protected  class ActionLabelParsetreeConstructor.AndOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.AndOperation_Group
          begin Rule AndOperation **************** // Example: A and B, not C and 42 <= ?D AndOperation returns synccharts::Expression: UnaryOrNormalExpression ({synccharts::ComplexExpression.subExpressions+= current} operator=OperatorAnd subExpressions+=UnaryOrNormalExpression)*;
protected  class ActionLabelParsetreeConstructor.AndOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.AndOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.AndOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.AndOperation_UnaryOrNormalExpressionParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.Assignment_Alternatives_2
           
protected  class ActionLabelParsetreeConstructor.Assignment_ColonEqualsSignKeyword_1
           
protected  class ActionLabelParsetreeConstructor.Assignment_ExpressionAssignment_2_0
           
protected  class ActionLabelParsetreeConstructor.Assignment_ExpressionAssignment_2_1
           
protected  class ActionLabelParsetreeConstructor.Assignment_Group
          begin Rule Assignment **************** Assignment returns synccharts::Assignment: variable=[synccharts::Variable] ":=" (expression=ValueExpression| expression=BooleanExpression);
protected  class ActionLabelParsetreeConstructor.Assignment_VariableAssignment_0
           
protected  class ActionLabelParsetreeConstructor.BooleanExpression_OrOperationParserRuleCall
          begin Rule BooleanExpression **************** // Example: not D and C or ?E = 42 or not (A and (B or C)) BooleanExpression returns synccharts::Expression: OrOperation;
protected  class ActionLabelParsetreeConstructor.BooleanValue_ValueAssignment
          begin Rule BooleanValue **************** BooleanValue returns synccharts::BooleanValue: value=Boolean;
protected  class ActionLabelParsetreeConstructor.CompareOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.CompareOperation_Group
          begin Rule CompareOperation **************** //============================================================================== // Boolean Expressions //============================================================================== // Example: 42 <= ?A CompareOperation returns synccharts::Expression: ValueExpression ({synccharts::ComplexExpression.subExpressions+=current} operator=CompareOperator subExpressions+=ValueExpression);
protected  class ActionLabelParsetreeConstructor.CompareOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.CompareOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.CompareOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.CompareOperation_ValueExpressionParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.DivOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.DivOperation_Group
          begin Rule DivOperation **************** // Example: (2 / 4) // note: division has to have always parantheses because the '/' sign is also used for trigger/effect delimiter DivOperation returns synccharts::Expression: PreOrNormalValueExpression ({synccharts::ComplexExpression.subExpressions+= current} operator=DivOperator subExpressions+=PreOrNormalValueExpression)*;
protected  class ActionLabelParsetreeConstructor.DivOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.DivOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.DivOperation_PreOrNormalValueExpressionParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.DivOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.Effect_Alternatives
          begin Rule Effect **************** Effect returns synccharts::Effect: Emission|Assignment|HostCode;
protected  class ActionLabelParsetreeConstructor.Effect_AssignmentParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.Effect_EmissionParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.Effect_HostCodeParserRuleCall_2
           
protected  class ActionLabelParsetreeConstructor.Emission_Alternatives_1
           
protected  class ActionLabelParsetreeConstructor.Emission_Group
          begin Rule Emission **************** Emission returns synccharts::Emission: signal=[synccharts::Signal] ("(" newValue=ValueExpression ")"|"(" newValue=BooleanExpression ")")?;
protected  class ActionLabelParsetreeConstructor.Emission_Group_1_0
           
protected  class ActionLabelParsetreeConstructor.Emission_Group_1_1
           
protected  class ActionLabelParsetreeConstructor.Emission_LeftParenthesisKeyword_1_0_0
           
protected  class ActionLabelParsetreeConstructor.Emission_LeftParenthesisKeyword_1_1_0
           
protected  class ActionLabelParsetreeConstructor.Emission_NewValueAssignment_1_0_1
           
protected  class ActionLabelParsetreeConstructor.Emission_NewValueAssignment_1_1_1
           
protected  class ActionLabelParsetreeConstructor.Emission_RightParenthesisKeyword_1_0_2
           
protected  class ActionLabelParsetreeConstructor.Emission_RightParenthesisKeyword_1_1_2
           
protected  class ActionLabelParsetreeConstructor.Emission_SignalAssignment_0
           
protected  class ActionLabelParsetreeConstructor.FloatValue_ValueAssignment
          begin Rule FloatValue **************** FloatValue returns synccharts::FloatValue: value=Float;
protected  class ActionLabelParsetreeConstructor.HostCode_CodeAssignment_0
           
protected  class ActionLabelParsetreeConstructor.HostCode_Group
          begin Rule HostCode **************** //============================================================================== // Misc //============================================================================== HostCode returns synccharts::HostCode: //"'"code=STRING"'"; code=STRING ("(" type=ID ")")?;
protected  class ActionLabelParsetreeConstructor.HostCode_Group_1
           
protected  class ActionLabelParsetreeConstructor.HostCode_LeftParenthesisKeyword_1_0
           
protected  class ActionLabelParsetreeConstructor.HostCode_RightParenthesisKeyword_1_2
           
protected  class ActionLabelParsetreeConstructor.HostCode_TypeAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.IntValue_ValueAssignment
          begin Rule IntValue **************** IntValue returns synccharts::IntValue: value=INT;
protected  class ActionLabelParsetreeConstructor.MultOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.MultOperation_Group
          begin Rule MultOperation **************** // Example: 2 * 4, varA mod ?B MultOperation returns synccharts::Expression: PreOrNormalValueExpression ({synccharts::ComplexExpression.subExpressions+= current} operator=MultOperator subExpressions+=PreOrNormalValueExpression)*;
protected  class ActionLabelParsetreeConstructor.MultOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.MultOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.MultOperation_PreOrNormalValueExpressionParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.MultOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_Alternatives
          begin Rule MultOrDivOperation **************** MultOrDivOperation returns synccharts::Expression: MultOperation|"(" DivOperation ")";
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_DivOperationParserRuleCall_1_1
           
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_LeftParenthesisKeyword_1_0
           
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_MultOperationParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.MultOrDivOperation_RightParenthesisKeyword_1_2
           
protected  class ActionLabelParsetreeConstructor.OrOperation_AndOperationParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.OrOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.OrOperation_Group
          begin Rule OrOperation **************** // Example: A or B, C and B or D and not E OrOperation returns synccharts::Expression: AndOperation ({synccharts::ComplexExpression.subExpressions+=current} operator=OperatorOr subExpressions+=AndOperation)*;
protected  class ActionLabelParsetreeConstructor.OrOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.OrOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.OrOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_Alternatives
          begin Rule ParanthesedBooleanExpression **************** // Example: true, A, 42>var1, (A or B), (not D and C or ?E = 42) // note that the order of CompareOperation and SignalReference is important.
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_BooleanValueParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_CompareOperationParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_Group_5
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_HostCodeParserRuleCall_4
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_LeftParenthesisKeyword_5_0
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_OrOperationParserRuleCall_5_1
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_RightParenthesisKeyword_5_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_SignalReferenceParserRuleCall_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedBooleanExpression_ValOperationParserRuleCall_3
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_Alternatives
          begin Rule ParanthesedValueExpression **************** // Example: 42, 42.2, ?A, var1, (1+2*3) ParanthesedValueExpression returns synccharts::Expression: IntValue|FloatValue|ValOperation|VariableReference|HostCode|"(" PlusOperation ")"|"(" DivOperation ")";
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_DivOperationParserRuleCall_6_1
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_FloatValueParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_Group_5
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_Group_6
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_HostCodeParserRuleCall_4
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_IntValueParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_LeftParenthesisKeyword_5_0
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_LeftParenthesisKeyword_6_0
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_PlusOperationParserRuleCall_5_1
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_RightParenthesisKeyword_5_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_RightParenthesisKeyword_6_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_ValOperationParserRuleCall_2
           
protected  class ActionLabelParsetreeConstructor.ParanthesedValueExpression_VariableReferenceParserRuleCall_3
           
protected  class ActionLabelParsetreeConstructor.PlusOperation_ComplexExpressionSubExpressionsAction_1_0
           
protected  class ActionLabelParsetreeConstructor.PlusOperation_Group
          begin Rule PlusOperation **************** // Example: 1 + 2, varA - ?B PlusOperation returns synccharts::Expression: MultOrDivOperation ({synccharts::ComplexExpression.subExpressions+=current} operator=PlusOperator subExpressions+=MultOrDivOperation)*;
protected  class ActionLabelParsetreeConstructor.PlusOperation_Group_1
           
protected  class ActionLabelParsetreeConstructor.PlusOperation_MultOrDivOperationParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.PlusOperation_OperatorAssignment_1_1
           
protected  class ActionLabelParsetreeConstructor.PlusOperation_SubExpressionsAssignment_1_2
           
protected  class ActionLabelParsetreeConstructor.PreArithmOperation_Group
          begin Rule PreArithmOperation **************** // Example: pre (? A) PreArithmOperation returns synccharts::ComplexExpression: operator=UnaryParanthesedOperator "(" subExpressions+=ValOperation ")";
protected  class ActionLabelParsetreeConstructor.PreArithmOperation_LeftParenthesisKeyword_1
           
protected  class ActionLabelParsetreeConstructor.PreArithmOperation_OperatorAssignment_0
           
protected  class ActionLabelParsetreeConstructor.PreArithmOperation_RightParenthesisKeyword_3
           
protected  class ActionLabelParsetreeConstructor.PreArithmOperation_SubExpressionsAssignment_2
           
protected  class ActionLabelParsetreeConstructor.PreOrNormalValueExpression_Alternatives
          begin Rule PreOrNormalValueExpression **************** PreOrNormalValueExpression returns synccharts::Expression: PreArithmOperation|ParanthesedValueExpression;
protected  class ActionLabelParsetreeConstructor.PreOrNormalValueExpression_ParanthesedValueExpressionParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.PreOrNormalValueExpression_PreArithmOperationParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.Signal_NameAssignment
          begin Rule Signal **************** Signal returns synccharts::Signal: name=ID;
protected  class ActionLabelParsetreeConstructor.SignalReference_SignalAssignment
          begin Rule SignalReference **************** SignalReference returns synccharts::SignalReference: signal=[synccharts::Signal];
protected  class ActionLabelParsetreeConstructor.ThisRootNode
           
protected  class ActionLabelParsetreeConstructor.UnaryOperation_Group
          begin Rule UnaryOperation **************** // Example: not A, not false, not (A or B) // at the latter we need the parans to indicate the right binding UnaryOperation returns synccharts::ComplexExpression: operator=UnaryOperator subExpressions+=( ParanthesedBooleanExpression | UnaryParanthesedOperation );
protected  class ActionLabelParsetreeConstructor.UnaryOperation_OperatorAssignment_0
           
protected  class ActionLabelParsetreeConstructor.UnaryOperation_SubExpressionsAssignment_1
           
protected  class ActionLabelParsetreeConstructor.UnaryOrNormalExpression_Alternatives
          begin Rule UnaryOrNormalExpression **************** // Example: either negated or normal expression (with parantheses) UnaryOrNormalExpression returns synccharts::Expression: UnaryOperation|UnaryParanthesedOperation|ParanthesedBooleanExpression;
protected  class ActionLabelParsetreeConstructor.UnaryOrNormalExpression_ParanthesedBooleanExpressionParserRuleCall_2
           
protected  class ActionLabelParsetreeConstructor.UnaryOrNormalExpression_UnaryOperationParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.UnaryOrNormalExpression_UnaryParanthesedOperationParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.UnaryParanthesedOperation_Group
          begin Rule UnaryParanthesedOperation **************** UnaryParanthesedOperation returns synccharts::ComplexExpression: operator=UnaryParanthesedOperator "(" subExpressions+=BooleanExpression ")";
protected  class ActionLabelParsetreeConstructor.UnaryParanthesedOperation_LeftParenthesisKeyword_1
           
protected  class ActionLabelParsetreeConstructor.UnaryParanthesedOperation_OperatorAssignment_0
           
protected  class ActionLabelParsetreeConstructor.UnaryParanthesedOperation_RightParenthesisKeyword_3
           
protected  class ActionLabelParsetreeConstructor.UnaryParanthesedOperation_SubExpressionsAssignment_2
           
protected  class ActionLabelParsetreeConstructor.ValOperation_Group
          begin Rule ValOperation **************** //============================================================================== // Arithmetic Expressions //============================================================================== // Example: ?A ValOperation returns synccharts::ComplexExpression: operator=ValOperator subExpressions+=SignalReference;
protected  class ActionLabelParsetreeConstructor.ValOperation_OperatorAssignment_0
           
protected  class ActionLabelParsetreeConstructor.ValOperation_SubExpressionsAssignment_1
           
protected  class ActionLabelParsetreeConstructor.Value_Alternatives
          begin Rule Value **************** Value returns synccharts::Value: IntValue|FloatValue|BooleanValue;
protected  class ActionLabelParsetreeConstructor.Value_BooleanValueParserRuleCall_2
           
protected  class ActionLabelParsetreeConstructor.Value_FloatValueParserRuleCall_1
           
protected  class ActionLabelParsetreeConstructor.Value_IntValueParserRuleCall_0
           
protected  class ActionLabelParsetreeConstructor.ValueExpression_PlusOperationParserRuleCall
          begin Rule ValueExpression **************** // everything that evaluates to a primitive number value ValueExpression returns synccharts::Expression: PlusOperation;
protected  class ActionLabelParsetreeConstructor.Variable_NameAssignment
          begin Rule Variable **************** Variable returns synccharts::Variable: name=ID;
protected  class ActionLabelParsetreeConstructor.VariableReference_VariableAssignment
          begin Rule VariableReference **************** VariableReference returns synccharts::VariableReference: variable=[synccharts::Variable];
 
Nested classes/interfaces inherited from class org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor
org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AbstractToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.ActionToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AlternativesToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AssignmentToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AssignmentType, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.CommentToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.GroupToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.KeywordToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.RootToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.RuleCallToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.UnassignedTextToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.UnorderedGroupToken, org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.WsMergerStream
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor
org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.TreeConstructionDiagnostic, org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.TreeConstructionReport
 
Field Summary
 
Fields inherited from class org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor
commentAssociater, crossRefSerializer, enumLitSerializer, hiddenTokenHelper, keywordSerializer, tokenUtil, tvService, valueSerializer
 
Constructor Summary
ActionLabelParsetreeConstructor()
           
 
Method Summary
protected  org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AbstractToken getRootToken(org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer inst)
           
 
Methods inherited from class org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor
assignComment, assignNodesByMatching, assignTokenByMatcher, assignTokenByMatcher, assignTokenDirect, collectRootsAndEObjects, containsNodeOrAnyParent, createEObjectConsumer, createReport, debug, dump, dumpNode, serialize, serialize, serializeSubtree, write, writeComments
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActionLabelParsetreeConstructor

public ActionLabelParsetreeConstructor()
Method Detail

getRootToken

protected org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AbstractToken getRootToken(org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer inst)
Specified by:
getRootToken in class org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor