Class AbstractRulesSyntacticSequencer

java.lang.Object
org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer
org.openhab.core.model.rule.serializer.AbstractRulesSyntacticSequencer
All Implemented Interfaces:
org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor, org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer
Direct Known Subclasses:
RulesSyntacticSequencer

public abstract class AbstractRulesSyntacticSequencer extends org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer

    org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer.SyntacticalContext

    Nested classes/interfaces inherited from interface org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer

    org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer.ISyntacticSequencerOwner
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     
    protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias
     

    Fields inherited from class org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer

    contexts, delegate, diagnosticProvider, errorAcceptor, pdaProvider, tokenUtil

    Fields inherited from interface org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor

    NO_INDEX
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    emit_Script_SemicolonKeyword_1_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: ';'? This ambiguous syntax occurs at: expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end) expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
    protected void
    emit_XBlockExpression_SemicolonKeyword_2_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: ';'? This ambiguous syntax occurs at: expressions+=XExpressionOrVarDeclaration (ambiguity) '}' ')' (rule end) expressions+=XExpressionOrVarDeclaration (ambiguity) '}' (rule end) expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
    protected void
    emit_XExpressionInClosure_SemicolonKeyword_1_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: ';'? This ambiguous syntax occurs at: expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end) expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
    protected void
    emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: ('(' ')')? This ambiguous syntax occurs at: (rule start) (ambiguity) '=>' returnType=JvmTypeReference
    protected void
    emit_XImportDeclaration_SemicolonKeyword_2_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: ';'? This ambiguous syntax occurs at: importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end) importedType=[JvmDeclaredType|QualifiedName] (ambiguity) (rule end) memberName=ValidID (ambiguity) (rule end) wildcard?='*' (ambiguity) (rule end)
    protected void
    emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: '('* This ambiguous syntax occurs at: (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter (rule start) (ambiguity) '[' explicitSyntax?='|' (rule start) (ambiguity) '[' expression=XExpressionInClosure (rule start) (ambiguity) 'do' body=XExpression (rule start) (ambiguity) 'false' (rule start) (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression (rule start) (ambiguity) 'for' '(' ';' expression=XExpression (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration (rule start) (ambiguity) 'if' '(' if=XExpression (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName] (rule start) (ambiguity) 'null' (rule start) (rule start) (ambiguity) 'return' (rule start) (rule start) (ambiguity) 'return' expression=XExpression (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'switch' switch=XExpression (rule start) (ambiguity) 'synchronized' '(' param=XExpression (rule start) (ambiguity) 'throw' expression=XExpression (rule start) (ambiguity) 'try' expression=XExpression (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName] (rule start) (ambiguity) 'while' '(' predicate=XExpression (rule start) (ambiguity) '{' '}' (rule start) (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID] (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper] (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary] (rule start) (ambiguity) isTrue?='true' (rule start) (ambiguity) value=Number (rule start) (ambiguity) value=STRING (rule start) (ambiguity) {XAssignment.assignable=} (rule start) (ambiguity) {XBinaryOperation.leftOperand=} (rule start) (ambiguity) {XCastedExpression.target=} (rule start) (ambiguity) {XInstanceOfExpression.expression=} (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=} (rule start) (ambiguity) {XPostfixOperation.operand=}
    protected void
    emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
    Ambiguous syntax: '('+ This ambiguous syntax occurs at: (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter (rule start) (ambiguity) '[' explicitSyntax?='|' (rule start) (ambiguity) '[' expression=XExpressionInClosure (rule start) (ambiguity) 'do' body=XExpression (rule start) (ambiguity) 'false' ')' (rule start) (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression (rule start) (ambiguity) 'for' '(' ';' expression=XExpression (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration (rule start) (ambiguity) 'if' '(' if=XExpression (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName] (rule start) (ambiguity) 'null' ')' (rule start) (rule start) (ambiguity) 'return' ')' (rule start) (rule start) (ambiguity) 'return' expression=XExpression (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter (rule start) (ambiguity) 'switch' switch=XExpression (rule start) (ambiguity) 'synchronized' '(' param=XExpression (rule start) (ambiguity) 'throw' expression=XExpression (rule start) (ambiguity) 'try' expression=XExpression (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName] (rule start) (ambiguity) 'while' '(' predicate=XExpression (rule start) (ambiguity) '{' '}' ')' (rule start) (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID] (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper] (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary] (rule start) (ambiguity) isTrue?='true' (rule start) (ambiguity) value=Number (rule start) (ambiguity) value=STRING (rule start) (ambiguity) {XAssignment.assignable=} (rule start) (ambiguity) {XBinaryOperation.leftOperand=} (rule start) (ambiguity) {XCastedExpression.target=} (rule start) (ambiguity) {XInstanceOfExpression.expression=} (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=} (rule start) (ambiguity) {XPostfixOperation.operand=}
    protected void
    emitUnassignedTokens(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition transition, org.eclipse.xtext.nodemodel.INode fromNode, org.eclipse.xtext.nodemodel.INode toNode)
     
    protected String
    getArrayBracketsToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
    ArrayBrackets : '[' ']' ;
    protected String
    getOpSingleAssignToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
    OpSingleAssign: '=' ;
    protected String
    getUnassignedRuleCallToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
     
    protected void
    init(org.eclipse.xtext.IGrammarAccess access)
     

    Methods inherited from class org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer

    accept, accept, acceptAssignedCrossRefDatatype, acceptAssignedCrossRefEnum, acceptAssignedCrossRefKeyword, acceptAssignedCrossRefTerminal, acceptAssignedDatatype, acceptAssignedEnum, acceptAssignedKeyword, acceptAssignedTerminal, acceptNode, acceptNodes, acceptNodes, acceptUnassignedAction, acceptUnassignedDatatype, acceptUnassignedEnum, acceptUnassignedKeyword, acceptUnassignedTerminal, collectAbstractElements, collectNodes, enterAssignedAction, enterAssignedParserRuleCall, findTransition, finish, getLastLeaf, getLastNavigableState, getNodesFor, getTokenText, getUnassignedRuleCallToken, init, init, leaveAssignedAction, leaveAssignedParserRuleCall, navigateToAbsorber, navigateToAbsorber, navigateToEmitter, navigateToEmitter

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • grammarAccess

      protected RulesGrammarAccess grammarAccess
    • match_Script_SemicolonKeyword_1_1_q

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_Script_SemicolonKeyword_1_1_q
    • match_XBlockExpression_SemicolonKeyword_2_1_q

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q
    • match_XExpressionInClosure_SemicolonKeyword_1_1_q

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q
    • match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q
    • match_XImportDeclaration_SemicolonKeyword_2_q

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q
    • match_XParenthesizedExpression_LeftParenthesisKeyword_0_a

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a
    • match_XParenthesizedExpression_LeftParenthesisKeyword_0_p

      protected org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p
  • Constructor Details

    • AbstractRulesSyntacticSequencer

      public AbstractRulesSyntacticSequencer()
  • Method Details

    • init

      @Inject protected void init(org.eclipse.xtext.IGrammarAccess access)
    • getUnassignedRuleCallToken

      protected String getUnassignedRuleCallToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
      Overrides:
      getUnassignedRuleCallToken in class org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer
    • getArrayBracketsToken

      protected String getArrayBracketsToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
      ArrayBrackets : '[' ']' ;
    • getOpSingleAssignToken

      protected String getOpSingleAssignToken(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.RuleCall ruleCall, org.eclipse.xtext.nodemodel.INode node)
      OpSingleAssign: '=' ;
    • emitUnassignedTokens

      protected void emitUnassignedTokens(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition transition, org.eclipse.xtext.nodemodel.INode fromNode, org.eclipse.xtext.nodemodel.INode toNode)
      Specified by:
      emitUnassignedTokens in class org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer
    • emit_Script_SemicolonKeyword_1_1_q

      protected void emit_Script_SemicolonKeyword_1_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           ';'?
      
       This ambiguous syntax occurs at:
           expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end)
           expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
               
       
    • emit_XBlockExpression_SemicolonKeyword_2_1_q

      protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           ';'?
      
       This ambiguous syntax occurs at:
           expressions+=XExpressionOrVarDeclaration (ambiguity) '}' ')' (rule end)
           expressions+=XExpressionOrVarDeclaration (ambiguity) '}' (rule end)
           expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
               
       
    • emit_XExpressionInClosure_SemicolonKeyword_1_1_q

      protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           ';'?
      
       This ambiguous syntax occurs at:
           expressions+=XExpressionOrVarDeclaration (ambiguity) (rule end)
           expressions+=XExpressionOrVarDeclaration (ambiguity) expressions+=XExpressionOrVarDeclaration
               
       
    • emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q

      protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           ('(' ')')?
      
       This ambiguous syntax occurs at:
           (rule start) (ambiguity) '=>' returnType=JvmTypeReference
               
       
    • emit_XImportDeclaration_SemicolonKeyword_2_q

      protected void emit_XImportDeclaration_SemicolonKeyword_2_q(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           ';'?
      
       This ambiguous syntax occurs at:
           importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end)
           importedType=[JvmDeclaredType|QualifiedName] (ambiguity) (rule end)
           memberName=ValidID (ambiguity) (rule end)
           wildcard?='*' (ambiguity) (rule end)
               
       
    • emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a

      protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           '('*
      
       This ambiguous syntax occurs at:
           (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
           (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
           (rule start) (ambiguity) '[' explicitSyntax?='|'
           (rule start) (ambiguity) '[' expression=XExpressionInClosure
           (rule start) (ambiguity) 'do' body=XExpression
           (rule start) (ambiguity) 'false' (rule start)
           (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
           (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
           (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
           (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
           (rule start) (ambiguity) 'if' '(' if=XExpression
           (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
           (rule start) (ambiguity) 'null' (rule start)
           (rule start) (ambiguity) 'return' (rule start)
           (rule start) (ambiguity) 'return' expression=XExpression
           (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'switch' switch=XExpression
           (rule start) (ambiguity) 'synchronized' '(' param=XExpression
           (rule start) (ambiguity) 'throw' expression=XExpression
           (rule start) (ambiguity) 'try' expression=XExpression
           (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
           (rule start) (ambiguity) 'while' '(' predicate=XExpression
           (rule start) (ambiguity) '{' '}' (rule start)
           (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
           (rule start) (ambiguity) isTrue?='true'
           (rule start) (ambiguity) value=Number
           (rule start) (ambiguity) value=STRING
           (rule start) (ambiguity) {XAssignment.assignable=}
           (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
           (rule start) (ambiguity) {XCastedExpression.target=}
           (rule start) (ambiguity) {XInstanceOfExpression.expression=}
           (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
           (rule start) (ambiguity) {XPostfixOperation.operand=}
               
       
    • emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p

      protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(org.eclipse.emf.ecore.EObject semanticObject, org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable transition, List<org.eclipse.xtext.nodemodel.INode> nodes)
       Ambiguous syntax:
           '('+
      
       This ambiguous syntax occurs at:
           (rule start) (ambiguity) '<' typeArguments+=JvmArgumentTypeReference
           (rule start) (ambiguity) '[' declaredFormalParameters+=JvmFormalParameter
           (rule start) (ambiguity) '[' explicitSyntax?='|'
           (rule start) (ambiguity) '[' expression=XExpressionInClosure
           (rule start) (ambiguity) 'do' body=XExpression
           (rule start) (ambiguity) 'false' ')' (rule start)
           (rule start) (ambiguity) 'for' '(' ';' ';' ')' eachExpression=XExpression
           (rule start) (ambiguity) 'for' '(' ';' ';' updateExpressions+=XExpression
           (rule start) (ambiguity) 'for' '(' ';' expression=XExpression
           (rule start) (ambiguity) 'for' '(' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'for' '(' initExpressions+=XExpressionOrVarDeclaration
           (rule start) (ambiguity) 'if' '(' if=XExpression
           (rule start) (ambiguity) 'new' constructor=[JvmConstructor|QualifiedName]
           (rule start) (ambiguity) 'null' ')' (rule start)
           (rule start) (ambiguity) 'return' ')' (rule start)
           (rule start) (ambiguity) 'return' expression=XExpression
           (rule start) (ambiguity) 'switch' '(' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'switch' declaredParam=JvmFormalParameter
           (rule start) (ambiguity) 'switch' switch=XExpression
           (rule start) (ambiguity) 'synchronized' '(' param=XExpression
           (rule start) (ambiguity) 'throw' expression=XExpression
           (rule start) (ambiguity) 'try' expression=XExpression
           (rule start) (ambiguity) 'typeof' '(' type=[JvmType|QualifiedName]
           (rule start) (ambiguity) 'while' '(' predicate=XExpression
           (rule start) (ambiguity) '{' '}' ')' (rule start)
           (rule start) (ambiguity) '{' expressions+=XExpressionOrVarDeclaration
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|FeatureCallID]
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|IdOrSuper]
           (rule start) (ambiguity) feature=[JvmIdentifiableElement|OpUnary]
           (rule start) (ambiguity) isTrue?='true'
           (rule start) (ambiguity) value=Number
           (rule start) (ambiguity) value=STRING
           (rule start) (ambiguity) {XAssignment.assignable=}
           (rule start) (ambiguity) {XBinaryOperation.leftOperand=}
           (rule start) (ambiguity) {XCastedExpression.target=}
           (rule start) (ambiguity) {XInstanceOfExpression.expression=}
           (rule start) (ambiguity) {XMemberFeatureCall.memberCallTarget=}
           (rule start) (ambiguity) {XPostfixOperation.operand=}