docs: public final EObject ruleEOF() throws RecognitionException {
          EObject current = null;
  
          Token otherlv_1=null;
  
  
          	enterRule();
  
          try {
              // InternalXtext.g:3450:2: ( ( () otherlv_1= 'EOF' ) )
              // InternalXtext.g:3451:2: ( () otherlv_1= 'EOF' )
              {
              // InternalXtext.g:3451:2: ( () otherlv_1= 'EOF' )
              // InternalXtext.g:3452:3: () otherlv_1= 'EOF'
              {
              // InternalXtext.g:3452:3: ()
              // InternalXtext.g:3453:4: 
              {
  
              				current = forceCreateModelElement(
              					grammarAccess.getEOFAccess().getEOFAction_0(),
              					current);
              			
  
              }
  
              otherlv_1=(Token)match(input,48,FollowSets000.FOLLOW_2); 
  
              			newLeafNode(otherlv_1, grammarAccess.getEOFAccess().getEOFKeyword_1());
              		
  
              }
  
  
              }
  
  
              	leaveRule();
  
          }
  
              catch (RecognitionException re) {
                  recover(input,re);
                  appendSkippedTokens();
              }
          finally {
          }
          return current;
      }