(module Join-functor (planet chongkai/sml) (#%module-begin (Program: (FUNDECTopDec: (FunDec: (FunBind: (FunId: Join-functor) (StrId: _id28-struct) (SIGSigExp: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SHARINGTYPESpec: (SEQSpec: (STRUCTURESpec: (StrDesc: (StrId: ParserData-struct) (IDSigExp: (SigId: PARSER_DATA-sig)))) (SEQSpec: (STRUCTURESpec: (StrDesc: (StrId: Lex-struct) (IDSigExp: (SigId: LEXER-sig)))) (STRUCTURESpec: (StrDesc: (StrId: LrParser-struct) (IDSigExp: (SigId: LR_PARSER-sig)))))) (LongTyCon: ParserData.LrTable.state-type) (LongTyCon: LrParser.LrTable.state-type)) (LongTyCon: ParserData.LrTable.term-type) (LongTyCon: LrParser.LrTable.term-type)) (LongTyCon: ParserData.LrTable.nonterm-type) (LongTyCon: LrParser.LrTable.nonterm-type)) (LongTyCon: ParserData.LrTable.table-type) (LongTyCon: LrParser.LrTable.table-type)) (LongTyCon: ParserData.Token.token-type) (LongTyCon: LrParser.Token.token-type)) (LongTyCon: Lex.UserDeclarations.svalue-type) (LongTyCon: ParserData.svalue-type)) (LongTyCon: Lex.UserDeclarations.pos-type) (LongTyCon: ParserData.pos-type)) (LongTyCon: Lex.UserDeclarations.token-type) (LongTyCon: ParserData.Token.token-type))) (LETStrExp: (DECStrDec: (OPENDec: (LongStrId: _id28-struct))) (COLONStrExp: (STRUCTStrExp: (SEQStrDec: (STRUCTUREStrDec: (StrBind: (StrId: Token-struct) (IDStrExp: (LongStrId: ParserData.Token-struct)))) (SEQStrDec: (STRUCTUREStrDec: (StrBind: (StrId: Stream-struct) (IDStrExp: (LongStrId: LrParser.Stream-struct)))) (SEQStrDec: (DECStrDec: (EXCEPTIONDec: (EQUALExBind: (VId: ParseError) (LongVId: LrParser.ParseError)))) (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: arg-type) (CONTy: (Tyseq:) (LongTyCon: ParserData.arg-type))))) (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: pos-type) (CONTy: (Tyseq:) (LongTyCon: ParserData.pos-type))))) (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: result-type) (CONTy: (Tyseq:) (LongTyCon: ParserData.result-type))))) (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: svalue-type) (CONTy: (Tyseq:) (LongTyCon: ParserData.svalue-type))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: makeLexer))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: o))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: LrParser.Stream.streamify))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: Lex.makeLexer)))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: parse))) (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: lookahead))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: lexer))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: error))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: arg))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: a))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: b))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ParserData.Actions.extract))) (IDAtExp: (LongVId: a))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: b)))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LrParser.parse))) (RECORDAtExp: (ExpRow: (Lab: table) (ATExp: (IDAtExp: (LongVId: ParserData.table))) (ExpRow: (Lab: lexer) (ATExp: (IDAtExp: (LongVId: lexer))) (ExpRow: (Lab: lookahead) (ATExp: (IDAtExp: (LongVId: lookahead))) (ExpRow: (Lab: saction) (ATExp: (IDAtExp: (LongVId: ParserData.Actions.actions))) (ExpRow: (Lab: arg) (ATExp: (IDAtExp: (LongVId: arg))) (ExpRow: (Lab: void) (ATExp: (IDAtExp: (LongVId: ParserData.Actions.void))) (ExpRow: (Lab: ec) (ATExp: (RECORDAtExp: (ExpRow: (Lab: is_keyword) (ATExp: (IDAtExp: (LongVId: ParserData.EC.is_keyword))) (ExpRow: (Lab: noShift) (ATExp: (IDAtExp: (LongVId: ParserData.EC.noShift))) (ExpRow: (Lab: preferred_change) (ATExp: (IDAtExp: (LongVId: ParserData.EC.preferred_change))) (ExpRow: (Lab: errtermvalue) (ATExp: (IDAtExp: (LongVId: ParserData.EC.errtermvalue))) (ExpRow: (Lab: error) (ATExp: (IDAtExp: (LongVId: error))) (ExpRow: (Lab: showTerminal) (ATExp: (IDAtExp: (LongVId: ParserData.EC.showTerminal))) (ExpRow: (Lab: terms) (ATExp: (IDAtExp: (LongVId: ParserData.EC.terms))))))))))))))))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: sameToken))) (ATExp: (IDAtExp: (LongVId: Token.sameToken)))))))))))))))) (IDSigExp: (SigId: PARSER-sig))))))))))