(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/parser/rlang#rlang::t
    (make-struct-type 'std/parser/rlang#rlang::t '#f '0 'rlang '() '#f '()))
  (define std/parser/rlang#rlang?
    (make-struct-predicate std/parser/rlang#rlang::t))
  (define std/parser/rlang#make-rlang
    (lambda _$args763_
      (apply make-struct-instance std/parser/rlang#rlang::t _$args763_)))
  (define std/parser/rlang#nul::t
    (make-struct-type
     'std/parser/rlang#nul::t
     std/parser/rlang#rlang::t
     '0
     'nul
     '((final: . #t))
     '#f
     '()))
  (define std/parser/rlang#nul?
    (make-struct-predicate std/parser/rlang#nul::t))
  (define std/parser/rlang#make-nul
    (lambda _$args760_
      (apply make-struct-instance std/parser/rlang#nul::t _$args760_)))
  (define std/parser/rlang#eps::t
    (make-struct-type
     'std/parser/rlang#eps::t
     std/parser/rlang#rlang::t
     '0
     'eps
     '((final: . #t))
     '#f
     '()))
  (define std/parser/rlang#eps?
    (make-struct-predicate std/parser/rlang#eps::t))
  (define std/parser/rlang#make-eps
    (lambda _$args757_
      (apply make-struct-instance std/parser/rlang#eps::t _$args757_)))
  (define std/parser/rlang#char::t
    (make-struct-type
     'std/parser/rlang#char::t
     std/parser/rlang#rlang::t
     '1
     'char
     '((final: . #t))
     '#f
     '(c)))
  (define std/parser/rlang#char?
    (make-struct-predicate std/parser/rlang#char::t))
  (define std/parser/rlang#make-char
    (lambda _$args754_
      (apply make-struct-instance std/parser/rlang#char::t _$args754_)))
  (define std/parser/rlang#char-c
    (make-struct-field-accessor std/parser/rlang#char::t '0))
  (define std/parser/rlang#char-c-set!
    (make-struct-field-mutator std/parser/rlang#char::t '0))
  (define std/parser/rlang#charset::t
    (make-struct-type
     'std/parser/rlang#charset::t
     std/parser/rlang#rlang::t
     '1
     'charset
     '((final: . #t))
     '#f
     '(chars)))
  (define std/parser/rlang#charset?
    (make-struct-predicate std/parser/rlang#charset::t))
  (define std/parser/rlang#make-charset
    (lambda _$args751_
      (apply make-struct-instance std/parser/rlang#charset::t _$args751_)))
  (define std/parser/rlang#charset-chars
    (make-struct-field-accessor std/parser/rlang#charset::t '0))
  (define std/parser/rlang#charset-chars-set!
    (make-struct-field-mutator std/parser/rlang#charset::t '0))
  (define std/parser/rlang#negset::t
    (make-struct-type
     'std/parser/rlang#negset::t
     std/parser/rlang#rlang::t
     '1
     'negset
     '((final: . #t))
     '#f
     '(chars)))
  (define std/parser/rlang#negset?
    (make-struct-predicate std/parser/rlang#negset::t))
  (define std/parser/rlang#make-negset
    (lambda _$args748_
      (apply make-struct-instance std/parser/rlang#negset::t _$args748_)))
  (define std/parser/rlang#negset-chars
    (make-struct-field-accessor std/parser/rlang#negset::t '0))
  (define std/parser/rlang#negset-chars-set!
    (make-struct-field-mutator std/parser/rlang#negset::t '0))
  (define std/parser/rlang#alt::t
    (make-struct-type
     'std/parser/rlang#alt::t
     std/parser/rlang#rlang::t
     '2
     'alt
     '((final: . #t))
     '#f
     '(L1 L2)))
  (define std/parser/rlang#alt?
    (make-struct-predicate std/parser/rlang#alt::t))
  (define std/parser/rlang#make-alt
    (lambda _$args745_
      (apply make-struct-instance std/parser/rlang#alt::t _$args745_)))
  (define std/parser/rlang#alt-L1
    (make-struct-field-accessor std/parser/rlang#alt::t '0))
  (define std/parser/rlang#alt-L2
    (make-struct-field-accessor std/parser/rlang#alt::t '1))
  (define std/parser/rlang#alt-L1-set!
    (make-struct-field-mutator std/parser/rlang#alt::t '0))
  (define std/parser/rlang#alt-L2-set!
    (make-struct-field-mutator std/parser/rlang#alt::t '1))
  (define std/parser/rlang#cat::t
    (make-struct-type
     'std/parser/rlang#cat::t
     std/parser/rlang#rlang::t
     '2
     'cat
     '((final: . #t))
     '#f
     '(L1 L2)))
  (define std/parser/rlang#cat?
    (make-struct-predicate std/parser/rlang#cat::t))
  (define std/parser/rlang#make-cat
    (lambda _$args742_
      (apply make-struct-instance std/parser/rlang#cat::t _$args742_)))
  (define std/parser/rlang#cat-L1
    (make-struct-field-accessor std/parser/rlang#cat::t '0))
  (define std/parser/rlang#cat-L2
    (make-struct-field-accessor std/parser/rlang#cat::t '1))
  (define std/parser/rlang#cat-L1-set!
    (make-struct-field-mutator std/parser/rlang#cat::t '0))
  (define std/parser/rlang#cat-L2-set!
    (make-struct-field-mutator std/parser/rlang#cat::t '1))
  (define std/parser/rlang#rep::t
    (make-struct-type
     'std/parser/rlang#rep::t
     std/parser/rlang#rlang::t
     '1
     'rep
     '((final: . #t))
     '#f
     '(L)))
  (define std/parser/rlang#rep?
    (make-struct-predicate std/parser/rlang#rep::t))
  (define std/parser/rlang#make-rep
    (lambda _$args739_
      (apply make-struct-instance std/parser/rlang#rep::t _$args739_)))
  (define std/parser/rlang#rep-L
    (make-struct-field-accessor std/parser/rlang#rep::t '0))
  (define std/parser/rlang#rep-L-set!
    (make-struct-field-mutator std/parser/rlang#rep::t '0))
  (define std/parser/rlang#@nul
    (let () (declare (not safe)) (##structure std/parser/rlang#nul::t)))
  (define std/parser/rlang#@eps
    (let () (declare (not safe)) (##structure std/parser/rlang#eps::t)))
  (define std/parser/rlang#@nul?
    (lambda (_L737_) (eq? std/parser/rlang#@nul _L737_)))
  (define std/parser/rlang#@eps?
    (lambda (_L735_) (eq? std/parser/rlang#@eps _L735_)))
  (define std/parser/rlang#@char
    (lambda (_c733_)
      (let ()
        (declare (not safe))
        (##structure std/parser/rlang#char::t _c733_))))
  (define std/parser/rlang#@charset
    (lambda (_chars727_)
      (if (null? _chars727_)
          std/parser/rlang#@nul
          (let ((__tmp4424
                 (list->table
                  (map (lambda (_g728730_) (cons _g728730_ '#t)) _chars727_)
                  'test:
                  eq?)))
            (declare (not safe))
            (##structure std/parser/rlang#charset::t __tmp4424)))))
  (define std/parser/rlang#@negset
    (lambda (_chars721_)
      (let ((__tmp4425
             (list->table
              (map (lambda (_g722724_) (cons _g722724_ '#t)) _chars721_)
              'test:
              eq?)))
        (declare (not safe))
        (##structure std/parser/rlang#negset::t __tmp4425))))
  (define std/parser/rlang#@dot (std/parser/rlang#@negset '()))
  (define std/parser/rlang#@alt__0 (lambda (_L712_) _L712_))
  (define std/parser/rlang#@alt__1
    (lambda (_L1714_ _L2715_)
      (if (std/parser/rlang#@nul? _L1714_)
          _L2715_
          (if (std/parser/rlang#@nul? _L2715_)
              _L1714_
              (let ()
                (declare (not safe))
                (##structure std/parser/rlang#alt::t _L1714_ _L2715_))))))
  (define std/parser/rlang#@alt__2
    (lambda (_L1717_ _L2718_ . _rest719_)
      (std/parser/rlang#@alt__1
       _L1717_
       (apply std/parser/rlang#@alt _L2718_ _rest719_))))
  (define std/parser/rlang#@alt
    (lambda _g4427_
      (let ((_g4426_ (let () (declare (not safe)) (##length _g4427_))))
        (cond ((let () (declare (not safe)) (##fx= _g4426_ 1))
               (apply std/parser/rlang#@alt__0 _g4427_))
              ((let () (declare (not safe)) (##fx= _g4426_ 2))
               (apply std/parser/rlang#@alt__1 _g4427_))
              ((let () (declare (not safe)) (##fx>= _g4426_ 2))
               (apply std/parser/rlang#@alt__2 _g4427_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/parser/rlang#@alt
                _g4427_))))))
  (define std/parser/rlang#@cat__0 (lambda (_L700_) _L700_))
  (define std/parser/rlang#@cat__1
    (lambda (_L1702_ _L2703_)
      (if (or (std/parser/rlang#@nul? _L1702_)
              (std/parser/rlang#@nul? _L2703_))
          std/parser/rlang#@nul
          (let ()
            (declare (not safe))
            (##structure std/parser/rlang#cat::t _L1702_ _L2703_)))))
  (define std/parser/rlang#@cat__2
    (lambda (_L1708_ _L2709_ . _rest710_)
      (std/parser/rlang#@cat__1
       _L1708_
       (apply std/parser/rlang#@cat _L2709_ _rest710_))))
  (define std/parser/rlang#@cat
    (lambda _g4429_
      (let ((_g4428_ (let () (declare (not safe)) (##length _g4429_))))
        (cond ((let () (declare (not safe)) (##fx= _g4428_ 1))
               (apply std/parser/rlang#@cat__0 _g4429_))
              ((let () (declare (not safe)) (##fx= _g4428_ 2))
               (apply std/parser/rlang#@cat__1 _g4429_))
              ((let () (declare (not safe)) (##fx>= _g4428_ 2))
               (apply std/parser/rlang#@cat__2 _g4429_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/parser/rlang#@cat
                _g4429_))))))
  (define std/parser/rlang#@rep*
    (lambda (_L698_)
      (if (std/parser/rlang#@nul? _L698_)
          std/parser/rlang#@eps
          (let ()
            (declare (not safe))
            (##structure std/parser/rlang#rep::t _L698_)))))
  (define std/parser/rlang#@rep+
    (lambda (_L696_)
      (std/parser/rlang#@cat__1 _L696_ (std/parser/rlang#@rep* _L696_))))
  (define std/parser/rlang#@maybe
    (lambda (_L694_) (std/parser/rlang#@alt__1 _L694_ std/parser/rlang#@eps)))
  (define std/parser/rlang#deriv
    (lambda (_L550_ _c551_)
      (let* ((_L552579_ _L550_)
             (_E561583_ (lambda () (error '"No clause matching" _L552579_))))
        (let ((_K577691_ (lambda () std/parser/rlang#@nul))
              (_K576684_ (lambda () std/parser/rlang#@nul))
              (_K574671_
               (lambda (_a669_)
                 (if (eq? _c551_ _a669_)
                     std/parser/rlang#@eps
                     std/parser/rlang#@nul)))
              (_K572657_
               (lambda (_chars655_)
                 (if (table-ref _chars655_ _c551_ '#f)
                     std/parser/rlang#@eps
                     std/parser/rlang#@nul)))
              (_K570643_
               (lambda (_chars641_)
                 (if (table-ref _chars641_ _c551_ '#f)
                     std/parser/rlang#@nul
                     std/parser/rlang#@eps)))
              (_K567624_
               (lambda (_L2621_ _L1622_)
                 (std/parser/rlang#@alt__1
                  (std/parser/rlang#deriv _L1622_ _c551_)
                  (std/parser/rlang#deriv _L2621_ _c551_))))
              (_K564604_
               (lambda (_L2601_ _L1602_)
                 (if (std/parser/rlang#delta _L1602_)
                     (std/parser/rlang#@alt__1
                      (std/parser/rlang#deriv _L2601_ _c551_)
                      (std/parser/rlang#@cat__1
                       (std/parser/rlang#deriv _L1602_ _c551_)
                       _L2601_))
                     (std/parser/rlang#@cat__1
                      (std/parser/rlang#deriv _L1602_ _c551_)
                      _L2601_))))
              (_K562589_
               (lambda (_Lc587_)
                 (std/parser/rlang#@cat__1
                  (std/parser/rlang#deriv _Lc587_ _c551_)
                  _L550_))))
          (let* ((_try-match560597_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#rep::t))
                        (let* ((_e563592_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_Lc595_ _e563592_))
                          (_K562589_ _Lc595_))
                        (_E561583_))))
                 (_try-match559617_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#cat::t))
                        (let* ((_e565607_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_e566612_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '2))))
                          (let ((_L1610_ _e565607_) (_L2615_ _e566612_))
                            (_K564604_ _L2615_ _L1610_)))
                        (_try-match560597_))))
                 (_try-match558637_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#alt::t))
                        (let* ((_e568627_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_e569632_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '2))))
                          (let ((_L1630_ _e568627_) (_L2635_ _e569632_))
                            (_K567624_ _L2635_ _L1630_)))
                        (_try-match559617_))))
                 (_try-match557651_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#negset::t))
                        (let* ((_e571646_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_chars649_ _e571646_))
                          (_K570643_ _chars649_))
                        (_try-match558637_))))
                 (_try-match556665_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#charset::t))
                        (let* ((_e573660_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_chars663_ _e573660_))
                          (_K572657_ _chars663_))
                        (_try-match557651_))))
                 (_try-match555679_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L552579_
                           'std/parser/rlang#char::t))
                        (let* ((_e575674_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L552579_ '1)))
                               (_a677_ _e575674_))
                          (_K574671_ _a677_))
                        (_try-match556665_))))
                 (_try-match554687_
                  (lambda ()
                    (if (std/parser/rlang#@eps? _L552579_)
                        (_K576684_)
                        (_try-match555679_)))))
            (if (std/parser/rlang#@nul? _L552579_)
                (_K577691_)
                (_try-match554687_)))))))
  (define std/parser/rlang#delta
    (lambda (_L425_)
      (let* ((_L426450_ _L425_)
             (_E435454_ (lambda () (error '"No clause matching" _L426450_))))
        (let ((_K448547_ (lambda () '#f))
              (_K447540_ (lambda () '#t))
              (_K446532_ (lambda () '#f))
              (_K445524_ (lambda () '#f))
              (_K444516_ (lambda () '#f))
              (_K441498_
               (lambda (_L2492_ _L1493_)
                 (let ((_$e495_ (std/parser/rlang#delta _L1493_)))
                   (if _$e495_ _$e495_ (std/parser/rlang#delta _L2492_)))))
              (_K438475_
               (lambda (_L2472_ _L1473_)
                 (if (std/parser/rlang#delta _L1473_)
                     (std/parser/rlang#delta _L2472_)
                     '#f)))
              (_K436460_ (lambda (_L458_) '#t)))
          (let* ((_try-match434468_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#rep::t))
                        (let* ((_e437463_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L426450_ '1)))
                               (_L466_ _e437463_))
                          (_K436460_ _L466_))
                        (_E435454_))))
                 (_try-match433488_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#cat::t))
                        (let* ((_e439478_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L426450_ '1)))
                               (_e440483_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L426450_ '2))))
                          (let ((_L1481_ _e439478_) (_L2486_ _e440483_))
                            (_K438475_ _L2486_ _L1481_)))
                        (_try-match434468_))))
                 (_try-match432511_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#alt::t))
                        (let* ((_e442501_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L426450_ '1)))
                               (_e443506_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _L426450_ '2))))
                          (let ((_L1504_ _e442501_) (_L2509_ _e443506_))
                            (_K441498_ _L2509_ _L1504_)))
                        (_try-match433488_))))
                 (_try-match431519_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#negset::t))
                        (_K444516_)
                        (_try-match432511_))))
                 (_try-match430527_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#charset::t))
                        (_K445524_)
                        (_try-match431519_))))
                 (_try-match429535_
                  (lambda ()
                    (if (let ()
                          (declare (not safe))
                          (##structure-direct-instance-of?
                           _L426450_
                           'std/parser/rlang#char::t))
                        (_K446532_)
                        (_try-match430527_))))
                 (_try-match428543_
                  (lambda ()
                    (if (std/parser/rlang#@eps? _L426450_)
                        (_K447540_)
                        (_try-match429535_)))))
            (if (std/parser/rlang#@nul? _L426450_)
                (_K448547_)
                (_try-match428543_)))))))
  (define std/parser/rlang#recognizes?
    (lambda (_L389_ _chars390_)
      (let* ((_chars391399_ _chars390_)
             (_else393407_ (lambda () (std/parser/rlang#delta _L389_)))
             (_K395413_
              (lambda (_rest410_ _char411_)
                (std/parser/rlang#recognizes?
                 (std/parser/rlang#deriv _L389_ _char411_)
                 _rest410_))))
        (if (let () (declare (not safe)) (##pair? _chars391399_))
            (let ((_hd396416_
                   (let () (declare (not safe)) (##car _chars391399_)))
                  (_tl397418_
                   (let () (declare (not safe)) (##cdr _chars391399_))))
              (let* ((_char421_ _hd396416_) (_rest423_ _tl397418_))
                (_K395413_ _rest423_ _char421_)))
            (_else393407_))))))
