docs: public final void mRULE_DECIMAL() throws RecognitionException {
          try {
              int _type = RULE_DECIMAL;
              int _channel = DEFAULT_TOKEN_CHANNEL;
              // InternalSARL.g:48793:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
              // InternalSARL.g:48793:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
              {
              mRULE_INT(); 
              // InternalSARL.g:48793:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
              int alt42=2;
              int LA42_0 = input.LA(1);
  
              if ( (LA42_0=='E'||LA42_0=='e') ) {
                  alt42=1;
              }
              switch (alt42) {
                  case 1 :
                      // InternalSARL.g:48793:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                      {
                      if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
                      // InternalSARL.g:48793:36: ( '+' | '-' )?
                      int alt41=2;
                      int LA41_0 = input.LA(1);
  
                      if ( (LA41_0=='+'||LA41_0=='-') ) {
                          alt41=1;
                      }
                      switch (alt41) {
                          case 1 :
                              // InternalSARL.g:
                              {
                              if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                                  input.consume();
  
                              }
                              else {
                                  MismatchedSetException mse = new MismatchedSetException(null,input);
                                  recover(mse);
                                  throw mse;}
  
  
                              }
                              break;
  
                      }
  
                      mRULE_INT(); 
  
                      }
                      break;
  
              }
  
              // InternalSARL.g:48793:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
              int alt43=3;
              int LA43_0 = input.LA(1);
  
              if ( (LA43_0=='B'||LA43_0=='b') ) {
                  alt43=1;
              }
              else if ( (LA43_0=='D'||LA43_0=='F'||LA43_0=='L'||LA43_0=='d'||LA43_0=='f'||LA43_0=='l') ) {
                  alt43=2;
              }
              switch (alt43) {
                  case 1 :
                      // InternalSARL.g:48793:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                      {
                      if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
                      if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
  
                      }
                      break;
                  case 2 :
                      // InternalSARL.g:48793:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                      {
                      if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                          input.consume();
  
                      }
                      else {
                          MismatchedSetException mse = new MismatchedSetException(null,input);
                          recover(mse);
                          throw mse;}
  
  
                      }
                      break;
  
              }
  
  
              }
  
              state.type = _type;
              state.channel = _channel;
          }
          finally {
          }
      }