code: public final EObject ruleXNullLiteral() throws RecognitionException {
          EObject current = null;
  
          Token otherlv_1=null;
  
  
          	enterRule();
  
          try {
              // InternalPureXbase.g:5338:2: ( ( () otherlv_1= 'null' ) )
              // InternalPureXbase.g:5339:2: ( () otherlv_1= 'null' )
              {
              // InternalPureXbase.g:5339:2: ( () otherlv_1= 'null' )
              // InternalPureXbase.g:5340:3: () otherlv_1= 'null'
              {
              // InternalPureXbase.g:5340:3: ()
              // InternalPureXbase.g:5341:4: 
              {
              if ( state.backtracking==0 ) {
  
                				current = forceCreateModelElement(
                					grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
                					current);
                			
              }
  
              }
  
              otherlv_1=(Token)match(input,76,FOLLOW_2); if (state.failed) return current;
              if ( state.backtracking==0 ) {
  
                			newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
                		
              }
  
              }
  
  
              }
  
              if ( state.backtracking==0 ) {
  
                	leaveRule();
  
              }
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }
docs: InternalPureXbase.g:5332:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;