de.cau.cs.kieler.synccharts.text.actions.parseTreeConstruction
Class ActionsParsetreeConstructor

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

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

Rating red

Nested Class Summary
protected  class ActionsParsetreeConstructor.Action_ActionAction_0
           
protected  class ActionsParsetreeConstructor.Action_DelayAssignment_2
           
protected  class ActionsParsetreeConstructor.Action_EffectsAssignment_4_1_0
           
protected  class ActionsParsetreeConstructor.Action_Group
          begin Rule Action **************** Action returns synccharts::Action: {synccharts::Action} isImmediate?="#"? delay=INT? trigger=BooleanExpression? ("/" (effects+=Effect ","?)*)?;
protected  class ActionsParsetreeConstructor.Action_Group_4
           
protected  class ActionsParsetreeConstructor.Action_Group_4_1
           
protected  class ActionsParsetreeConstructor.Action_IsImmediateAssignment_1
           
protected  class ActionsParsetreeConstructor.Action_SolidusKeyword_4_0
           
protected  class ActionsParsetreeConstructor.Action_TriggerAssignment_3
           
protected  class ActionsParsetreeConstructor.AddExpression_Group
          begin Rule AddExpression **************** // Example: 1 + 2 AddExpression returns Expression: SubExpression ({OperatorExpression.subExpressions+=current} operator=AddOperator subExpressions+=SubExpression)*;
protected  class ActionsParsetreeConstructor.AddExpression_Group_1
           
protected  class ActionsParsetreeConstructor.AddExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.AddExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.AddExpression_SubExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.AddExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.AndExpression_CompareOperationParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.AndExpression_Group
          begin Rule AndExpression **************** // Example: A and B, not C and 42 <= ?D AndExpression returns Expression: CompareOperation ({OperatorExpression.subExpressions+=current} operator=AndOperator subExpressions+=CompareOperation)*;
protected  class ActionsParsetreeConstructor.AndExpression_Group_1
           
protected  class ActionsParsetreeConstructor.AndExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.AndExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.AndExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.Assignment_ColonEqualsSignKeyword_1
           
protected  class ActionsParsetreeConstructor.Assignment_ExpressionAssignment_2
           
protected  class ActionsParsetreeConstructor.Assignment_Group
          begin Rule Assignment **************** Assignment returns synccharts::Assignment: variable=[expressions::Variable] ":=" expression=Expression;
protected  class ActionsParsetreeConstructor.Assignment_VariableAssignment_0
           
protected  class ActionsParsetreeConstructor.AtomicExpression_Alternatives
          begin Rule AtomicExpression **************** AtomicExpression returns Expression: BooleanValue | ValuedObjectTestExpression | "(" BooleanExpression ")" | TextExpression;
protected  class ActionsParsetreeConstructor.AtomicExpression_BooleanExpressionParserRuleCall_2_1
           
protected  class ActionsParsetreeConstructor.AtomicExpression_BooleanValueParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.AtomicExpression_Group_2
           
protected  class ActionsParsetreeConstructor.AtomicExpression_LeftParenthesisKeyword_2_0
           
protected  class ActionsParsetreeConstructor.AtomicExpression_RightParenthesisKeyword_2_2
           
protected  class ActionsParsetreeConstructor.AtomicExpression_TextExpressionParserRuleCall_3
           
protected  class ActionsParsetreeConstructor.AtomicExpression_ValuedObjectTestExpressionParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_Alternatives
          begin Rule AtomicValuedExpression **************** AtomicValuedExpression returns Expression: IntValue | FloatValue | "(" DivExpression ")" | "(" ValuedExpression ")" | AtomicExpression;
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_AtomicExpressionParserRuleCall_4
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_DivExpressionParserRuleCall_2_1
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_FloatValueParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_Group_2
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_Group_3
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_IntValueParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_LeftParenthesisKeyword_2_0
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_LeftParenthesisKeyword_3_0
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_RightParenthesisKeyword_2_2
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_RightParenthesisKeyword_3_2
           
protected  class ActionsParsetreeConstructor.AtomicValuedExpression_ValuedExpressionParserRuleCall_3_1
           
protected  class ActionsParsetreeConstructor.BooleanExpression_OrExpressionParserRuleCall
          begin Rule BooleanExpression **************** // Example: not D and C or ?E = 42 or not (A and (B or C)) BooleanExpression returns Expression: OrExpression;
protected  class ActionsParsetreeConstructor.BooleanValue_ValueAssignment
          begin Rule BooleanValue **************** BooleanValue: value=Boolean;
protected  class ActionsParsetreeConstructor.CommentAnnotation_ValueAssignment
          begin Rule CommentAnnotation **************** // e.g.: / ** semantic comment * / CommentAnnotation returns StringAnnotation: value=COMMENT_ANNOTATION;
protected  class ActionsParsetreeConstructor.CompareOperation_Alternatives
          begin Rule CompareOperation **************** // Example: 42 <= ?A CompareOperation returns Expression: NotOrValuedExpression ({OperatorExpression.subExpressions+=current} operator=CompareOperator subExpressions+=NotOrValuedExpression) | NotExpression;
protected  class ActionsParsetreeConstructor.CompareOperation_Group_0
           
protected  class ActionsParsetreeConstructor.CompareOperation_Group_0_1
           
protected  class ActionsParsetreeConstructor.CompareOperation_NotExpressionParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.CompareOperation_NotOrValuedExpressionParserRuleCall_0_0
           
protected  class ActionsParsetreeConstructor.CompareOperation_OperatorAssignment_0_1_1
           
protected  class ActionsParsetreeConstructor.CompareOperation_OperatorExpressionSubExpressionsAction_0_1_0
           
protected  class ActionsParsetreeConstructor.CompareOperation_SubExpressionsAssignment_0_1_2
           
protected  class ActionsParsetreeConstructor.DivExpression_AtomicValuedExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.DivExpression_Group
          begin Rule DivExpression **************** // Example: (2 / 4) // note: division always has to have parantheses because the '/' sign is also used for trigger/effect delimiter DivExpression returns Expression: AtomicValuedExpression {OperatorExpression.subExpressions+=current} operator=DivOperator subExpressions+=AtomicValuedExpression;
protected  class ActionsParsetreeConstructor.DivExpression_OperatorAssignment_2
           
protected  class ActionsParsetreeConstructor.DivExpression_OperatorExpressionSubExpressionsAction_1
           
protected  class ActionsParsetreeConstructor.DivExpression_SubExpressionsAssignment_3
           
protected  class ActionsParsetreeConstructor.Effect_Alternatives
          begin Rule Effect **************** Effect returns synccharts::Effect: Emission | Assignment | TextEffect;
protected  class ActionsParsetreeConstructor.Effect_AssignmentParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.Effect_EmissionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.Effect_TextEffectParserRuleCall_2
           
protected  class ActionsParsetreeConstructor.Emission_Group
          begin Rule Emission **************** Emission returns synccharts::Emission: signal=[expressions::Signal] ("(" newValue=Expression ")")?;
protected  class ActionsParsetreeConstructor.Emission_Group_1
           
protected  class ActionsParsetreeConstructor.Emission_LeftParenthesisKeyword_1_0
           
protected  class ActionsParsetreeConstructor.Emission_NewValueAssignment_1_1
           
protected  class ActionsParsetreeConstructor.Emission_RightParenthesisKeyword_1_2
           
protected  class ActionsParsetreeConstructor.Emission_SignalAssignment_0
           
protected  class ActionsParsetreeConstructor.Expression_Alternatives
          begin Rule Expression **************** // -------------------------- // // EXPRESSIONS // // -------------------------- Expression: BooleanExpression | ValuedExpression;
protected  class ActionsParsetreeConstructor.Expression_BooleanExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.Expression_ValuedExpressionParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.FloatValue_ValueAssignment
          begin Rule FloatValue **************** FloatValue: value=Float;
protected  class ActionsParsetreeConstructor.IntValue_ValueAssignment
          begin Rule IntValue **************** IntValue: value=INT;
protected  class ActionsParsetreeConstructor.KeyValueAnnotation_CommercialAtKeyword_0
           
protected  class ActionsParsetreeConstructor.KeyValueAnnotation_Group
          begin Rule KeyValueAnnotation **************** // e.g.: @layouter dot; @layoutOptions "margin 5, dir top-down"; KeyValueAnnotation returns StringAnnotation: "@" name=ID value=EString;
protected  class ActionsParsetreeConstructor.KeyValueAnnotation_NameAssignment_1
           
protected  class ActionsParsetreeConstructor.KeyValueAnnotation_ValueAssignment_2
           
protected  class ActionsParsetreeConstructor.ModExpression_AtomicValuedExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.ModExpression_Group
          begin Rule ModExpression **************** // Example: varA mod ?B ModExpression returns Expression: AtomicValuedExpression ({OperatorExpression.subExpressions+=current} operator=ModOperator subExpressions+=AtomicValuedExpression)?;
protected  class ActionsParsetreeConstructor.ModExpression_Group_1
           
protected  class ActionsParsetreeConstructor.ModExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.ModExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.ModExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.MultExpression_Group
          begin Rule MultExpression **************** // Example: 2 * 4 MultExpression returns Expression: ModExpression ({OperatorExpression.subExpressions+=current} operator=MultOperator subExpressions+=ModExpression)*;
protected  class ActionsParsetreeConstructor.MultExpression_Group_1
           
protected  class ActionsParsetreeConstructor.MultExpression_ModExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.MultExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.MultExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.MultExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.NotExpression_Alternatives
          begin Rule NotExpression **************** // Example: not A, not false, not (A or B) // at the latter we need the parans to indicate the right binding NotExpression returns Expression: {OperatorExpression} operator=NotOperator subExpressions+=NotExpression | AtomicExpression;
protected  class ActionsParsetreeConstructor.NotExpression_AtomicExpressionParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.NotExpression_Group_0
           
protected  class ActionsParsetreeConstructor.NotExpression_OperatorAssignment_0_1
           
protected  class ActionsParsetreeConstructor.NotExpression_OperatorExpressionAction_0_0
           
protected  class ActionsParsetreeConstructor.NotExpression_SubExpressionsAssignment_0_2
           
protected  class ActionsParsetreeConstructor.NotOrValuedExpression_Alternatives
          begin Rule NotOrValuedExpression **************** // order IS IMPORTANT NotOrValuedExpression returns Expression: ValuedExpression | NotExpression;
protected  class ActionsParsetreeConstructor.NotOrValuedExpression_NotExpressionParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.NotOrValuedExpression_ValuedExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.OrExpression_AndExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.OrExpression_Group
          begin Rule OrExpression **************** // Example: A or B, A and B and C, C and B or D and not E, A and B and C OrExpression returns Expression: AndExpression ({OperatorExpression.subExpressions+=current} operator=OrOperator subExpressions+=AndExpression)*;
protected  class ActionsParsetreeConstructor.OrExpression_Group_1
           
protected  class ActionsParsetreeConstructor.OrExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.OrExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.OrExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.StringAnnotation_Alternatives
          begin Rule StringAnnotation **************** // -------------------------- // // EXPRESSIONS // // -------------------------- // introduction of parsing rules for annotations // are to be moved into Annotations.xtext in the future!! StringAnnotation returns Annotation: CommentAnnotation | KeyValueAnnotation;
protected  class ActionsParsetreeConstructor.StringAnnotation_CommentAnnotationParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.StringAnnotation_KeyValueAnnotationParserRuleCall_1
           
protected  class ActionsParsetreeConstructor.SubExpression_Group
          begin Rule SubExpression **************** // Example: varA - ?B SubExpression returns Expression: MultExpression ({OperatorExpression.subExpressions+=current} operator=SubOperator subExpressions+=MultExpression)*;
protected  class ActionsParsetreeConstructor.SubExpression_Group_1
           
protected  class ActionsParsetreeConstructor.SubExpression_MultExpressionParserRuleCall_0
           
protected  class ActionsParsetreeConstructor.SubExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.SubExpression_OperatorExpressionSubExpressionsAction_1_0
           
protected  class ActionsParsetreeConstructor.SubExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.TextEffect_CodeAssignment_0
           
protected  class ActionsParsetreeConstructor.TextEffect_Group
          begin Rule TextEffect **************** TextEffect returns synccharts::TextEffect: code=STRING ("(" type=ID ")")?;
protected  class ActionsParsetreeConstructor.TextEffect_Group_1
           
protected  class ActionsParsetreeConstructor.TextEffect_LeftParenthesisKeyword_1_0
           
protected  class ActionsParsetreeConstructor.TextEffect_RightParenthesisKeyword_1_2
           
protected  class ActionsParsetreeConstructor.TextEffect_TypeAssignment_1_1
           
protected  class ActionsParsetreeConstructor.TextExpression_CodeAssignment_0
           
protected  class ActionsParsetreeConstructor.TextExpression_Group
          begin Rule TextExpression **************** // Taken from haf's kits grammar TextExpression: code=STRING ("(" type=ID ")")?;
protected  class ActionsParsetreeConstructor.TextExpression_Group_1
           
protected  class ActionsParsetreeConstructor.TextExpression_LeftParenthesisKeyword_1_0
           
protected  class ActionsParsetreeConstructor.TextExpression_RightParenthesisKeyword_1_2
           
protected  class ActionsParsetreeConstructor.TextExpression_TypeAssignment_1_1
           
protected  class ActionsParsetreeConstructor.ThisRootNode
           
protected  class ActionsParsetreeConstructor.Transition_CommaKeyword_4_2_0
           
protected  class ActionsParsetreeConstructor.Transition_DelayAssignment_2
           
protected  class ActionsParsetreeConstructor.Transition_EffectsAssignment_4_1
           
protected  class ActionsParsetreeConstructor.Transition_EffectsAssignment_4_2_1
           
protected  class ActionsParsetreeConstructor.Transition_Group
          begin Rule Transition **************** // haf: We need a Rule for transitions in order to serialize them // here we only want to have the features isImmediate, delay, trigger and effects // the features type, targetState, priority, isHistory are ignored and set as transient // you need to override the rule to support transitions properly //Transition returns synccharts::Transition: // {synccharts::Transition} // (isImmediate?='#')? (delay=INT)? (trigger=BooleanExpression)? ("/" (effects+=Effect (',')? )*)?; Transition returns synccharts::Transition: {synccharts::Transition} isImmediate?="#"? delay=INT? trigger=BooleanExpression? ("/" effects+=Effect ("," effects+=Effect)*)?;
protected  class ActionsParsetreeConstructor.Transition_Group_4
           
protected  class ActionsParsetreeConstructor.Transition_Group_4_2
           
protected  class ActionsParsetreeConstructor.Transition_IsImmediateAssignment_1
           
protected  class ActionsParsetreeConstructor.Transition_SolidusKeyword_4_0
           
protected  class ActionsParsetreeConstructor.Transition_TransitionAction_0
           
protected  class ActionsParsetreeConstructor.Transition_TriggerAssignment_3
           
protected  class ActionsParsetreeConstructor.ValuedExpression_AddExpressionParserRuleCall
          begin Rule ValuedExpression **************** // everything that evaluates to a primitive number value ValuedExpression returns Expression: AddExpression;
protected  class ActionsParsetreeConstructor.ValuedObjectReference_ValuedObjectAssignment
          begin Rule ValuedObjectReference **************** // Example: A, varB ValuedObjectReference: valuedObject=[ValuedObject];
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_Alternatives
          begin Rule ValuedObjectTestExpression **************** // Example: pre(pre(?A)), pre(pre(A)), ?A, A varX ValuedObjectTestExpression returns Expression: {OperatorExpression} operator=PreOperator "(" subExpressions+=ValuedObjectTestExpression ")" | {OperatorExpression} operator=ValueTestOperator subExpressions+=ValuedObjectReference | ValuedObjectReference;
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_Group_0
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_Group_1
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_LeftParenthesisKeyword_0_2
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_OperatorAssignment_0_1
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_OperatorAssignment_1_1
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_OperatorExpressionAction_0_0
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_OperatorExpressionAction_1_0
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_RightParenthesisKeyword_0_4
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_SubExpressionsAssignment_0_3
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_SubExpressionsAssignment_1_2
           
protected  class ActionsParsetreeConstructor.ValuedObjectTestExpression_ValuedObjectReferenceParserRuleCall_2
           
 
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, treeConstructionReportProvider, tvService, valueSerializer
 
Constructor Summary
ActionsParsetreeConstructor()
           
 
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

ActionsParsetreeConstructor

public ActionsParsetreeConstructor()
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