hamlet/PARSER_DATA-sig.ss
(module PARSER_DATA-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: PARSER_DATA-sig)
       (SIGSigExp:
        (SEQSpec:
         (SHARINGTYPESpec:
          (SHARINGTYPESpec:
           (SHARINGTYPESpec:
            (SHARINGTYPESpec:
             (SHARINGTYPESpec:
              (SHARINGTYPESpec:
               (SEQSpec:
                (TYPESpec: (TypDec: (TyVarseq:) (TyCon: pos-type)))
                (SEQSpec:
                 (TYPESpec: (TypDec: (TyVarseq:) (TyCon: svalue-type)))
                 (SEQSpec:
                  (TYPESpec: (TypDec: (TyVarseq:) (TyCon: arg-type)))
                  (SEQSpec:
                   (TYPESpec: (TypDec: (TyVarseq:) (TyCon: result-type)))
                   (SEQSpec:
                    (STRUCTURESpec: (StrDesc: (StrId: LrTable-struct) (IDSigExp: (SigId: LR_TABLE-sig))))
                    (STRUCTURESpec: (StrDesc: (StrId: Token-struct) (IDSigExp: (SigId: TOKEN-sig)))))))))
               (LongTyCon: LrTable.pairlist-type)
               (LongTyCon: Token.LrTable.pairlist-type))
              (LongTyCon: LrTable.state-type)
              (LongTyCon: Token.LrTable.state-type))
             (LongTyCon: LrTable.term-type)
             (LongTyCon: Token.LrTable.term-type))
            (LongTyCon: LrTable.nonterm-type)
            (LongTyCon: Token.LrTable.nonterm-type))
           (LongTyCon: LrTable.action-type)
           (LongTyCon: Token.LrTable.action-type))
          (LongTyCon: LrTable.table-type)
          (LongTyCon: Token.LrTable.table-type))
         (SEQSpec:
          (STRUCTURESpec:
           (StrDesc:
            (StrId: Actions-struct)
            (SIGSigExp:
             (SEQSpec:
              (VALSpec:
               (ValDesc:
                (VId: actions)
                (ARROWTy:
                 (RECORDTy:
                  (TyRow:
                   (Lab: |1|)
                   (CONTy: (Tyseq:) (LongTyCon: int-type))
                   (TyRow:
                    (Lab: |2|)
                    (CONTy: (Tyseq:) (LongTyCon: pos-type))
                    (TyRow:
                     (Lab: |3|)
                     (CONTy:
                      (Tyseq:
                       (PARTy:
                        (RECORDTy:
                         (TyRow:
                          (Lab: |1|)
                          (CONTy: (Tyseq:) (LongTyCon: LrTable.state-type))
                          (TyRow:
                           (Lab: |2|)
                           (PARTy:
                            (RECORDTy:
                             (TyRow:
                              (Lab: |1|)
                              (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                              (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: pos-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: pos-type))))))))))))
                      (LongTyCon: list-type))
                     (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: arg-type)))))))
                 (RECORDTy:
                  (TyRow:
                   (Lab: |1|)
                   (CONTy: (Tyseq:) (LongTyCon: LrTable.nonterm-type))
                   (TyRow:
                    (Lab: |2|)
                    (PARTy:
                     (RECORDTy:
                      (TyRow:
                       (Lab: |1|)
                       (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                       (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: pos-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: pos-type)))))))
                    (TyRow:
                     (Lab: |3|)
                     (PARTy:
                      (CONTy:
                       (Tyseq:
                        (PARTy:
                         (RECORDTy:
                          (TyRow:
                           (Lab: |1|)
                           (CONTy: (Tyseq:) (LongTyCon: LrTable.state-type))
                           (TyRow:
                            (Lab: |2|)
                            (PARTy:
                             (RECORDTy:
                              (TyRow:
                               (Lab: |1|)
                               (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                               (TyRow:
                                (Lab: |2|)
                                (CONTy: (Tyseq:) (LongTyCon: pos-type))
                                (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: pos-type))))))))))))
                       (LongTyCon: list-type))))))))))
              (SEQSpec:
               (VALSpec: (ValDesc: (VId: void) (CONTy: (Tyseq:) (LongTyCon: svalue-type))))
               (VALSpec: (ValDesc: (VId: extract) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (CONTy: (Tyseq:) (LongTyCon: result-type))))))))))
          (SEQSpec:
           (STRUCTURESpec:
            (StrDesc:
             (StrId: EC-struct)
             (SIGSigExp:
              (SEQSpec:
               (VALSpec: (ValDesc: (VId: is_keyword) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))))
               (SEQSpec:
                (VALSpec: (ValDesc: (VId: noShift) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))))
                (SEQSpec:
                 (VALSpec:
                  (ValDesc:
                   (VId: preferred_change)
                   (CONTy:
                    (Tyseq:
                     (PARTy:
                      (RECORDTy:
                       (TyRow:
                        (Lab: |1|)
                        (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type))) (LongTyCon: list-type))
                        (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type))) (LongTyCon: list-type)))))))
                    (LongTyCon: list-type))))
                 (SEQSpec:
                  (VALSpec:
                   (ValDesc: (VId: errtermvalue) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type)) (CONTy: (Tyseq:) (LongTyCon: svalue-type)))))
                  (SEQSpec:
                   (VALSpec:
                    (ValDesc: (VId: showTerminal) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
                   (VALSpec: (ValDesc: (VId: terms) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type))) (LongTyCon: list-type))))))))))))
           (VALSpec: (ValDesc: (VId: table) (CONTy: (Tyseq:) (LongTyCon: LrTable.table-type))))))))))))))