code: public final EObject ruleXExpression() throws RecognitionException {
          EObject current = null;
  
          EObject this_XAssignment_0 = null;
  
  
  
          	enterRule();
  
          try {
              // InternalPureXbase.g:894:2: (this_XAssignment_0= ruleXAssignment )
              // InternalPureXbase.g:895:2: this_XAssignment_0= ruleXAssignment
              {
              if ( state.backtracking==0 ) {
  
                		newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
                	
              }
              pushFollow(FOLLOW_2);
              this_XAssignment_0=ruleXAssignment();
  
              state._fsp--;
              if (state.failed) return current;
              if ( state.backtracking==0 ) {
  
                		current = this_XAssignment_0;
                		afterParserOrEnumRuleCall();
                	
              }
  
              }
  
              if ( state.backtracking==0 ) {
  
                	leaveRule();
  
              }
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }
docs: InternalPureXbase.g:888:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;