Annotation of researchv10no/cmd/sml/src/absyn/bareabsyn.sig, revision 1.1.1.1

1.1       root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
                      2: (* bareabsyn.sig *)
                      3: 
                      4: signature BAREABSYN = sig
                      5: 
                      6: structure Basics : BASICS
                      7: structure Access : ACCESS
                      8: type linenum
                      9: 
                     10: datatype numberedLabel = LABEL of {name : Basics.Symbol.symbol, number: int};
                     11: 
                     12: datatype exp   = VARexp of Basics.var ref
                     13:                | CONexp of Basics.datacon
                     14:                | INTexp of int
                     15:                | REALexp of string
                     16:                | STRINGexp of string
                     17:                | RECORDexp of (numberedLabel * exp) list
                     18:                | SEQexp of exp list            
                     19:                | APPexp of exp * exp           
                     20:                | CONSTRAINTexp of exp * Basics.ty
                     21:                | HANDLEexp of exp * handler
                     22:                | RAISEexp of exp
                     23:                | LETexp of dec * exp
                     24:                | CASEexp of exp * rule list
                     25:                | FNexp of rule list
                     26:                | MARKexp of exp * linenum * linenum
                     27: 
                     28: and rule       = RULE of pat * exp
                     29: 
                     30: and handler    = HANDLER of exp
                     31: 
                     32: and pat                = WILDpat
                     33:                | VARpat of Basics.var
                     34:                | INTpat of int
                     35:                | REALpat of string
                     36:                | STRINGpat of string
                     37:                | CONpat of Basics.datacon
                     38:                | RECORDpat of
                     39:                    {fields : (Basics.label * pat) list,
                     40:                     flex : bool,
                     41:                     typ : Basics.ty ref,
                     42:                     pats : pat list ref}
                     43:                | APPpat of Basics.datacon * pat
                     44:                | CONSTRAINTpat of pat * Basics.ty
                     45:                | LAYEREDpat of pat * pat
                     46: 
                     47: and strexp     = VARstr of Basics.structureVar
                     48:                | STRUCTstr of
                     49:                    {body: dec list,
                     50:                     locations: Basics.trans list}  (* component paths *)
                     51:                | APPstr of
                     52:                    {oper: Basics.functorVar,
                     53:                     argexp: strexp,
                     54:                     argthin: Basics.thinning}
                     55:                | LETstr of dec * strexp
                     56: 
                     57: and dec                = VALdec of vb list
                     58:                | VALRECdec of rvb list
                     59:                | TYPEdec of tb list
                     60:                | DATATYPEdec of
                     61:                    {datatycs: Basics.tycon ref list,
                     62:                     withtycs: tb list}
                     63:                | ABSTYPEdec of
                     64:                    {abstycs: Basics.tycon ref list,
                     65:                     withtycs: tb list,
                     66:                     body: dec}
                     67:                | EXCEPTIONdec of eb list
                     68:                | STRdec of strb list
                     69:                | ABSdec of strb list
                     70:                | FCTdec of fctb list
                     71:                | SIGdec of Basics.signatureVar list
                     72:                | OPENdec of Basics.structureVar list
                     73:                | LOCALdec of dec * dec
                     74:                | SEQdec of dec list
                     75:                 | IMPORTdec of string list
                     76:                | MARKdec of dec * linenum * linenum
                     77: 
                     78: and vb         = VB of
                     79:                    {pat:pat,
                     80:                     exp:exp,
                     81:                     tyvars: Basics.tyvar list}
                     82: and rvb                = RVB of
                     83:                    {var:Basics.var,
                     84:                     exp:exp,
                     85:                     resultty: Basics.ty option,
                     86:                     tyvars: Basics.tyvar list}
                     87: and fb         = FB of
                     88:                    {var:Basics.var,
                     89:                     clauses: clause list,
                     90:                     tyvars: Basics.tyvar list}
                     91: and clause     = CLAUSE of
                     92:                    {pats: pat list,
                     93:                     resultty: Basics.ty option,
                     94:                     exp:exp}
                     95: and tb         = TB of
                     96:                    {tyc : Basics.tycon ref,
                     97:                     def : Basics.ty}
                     98: and eb         = EBgen of
                     99:                    {exn: Basics.datacon,
                    100:                     etype: Basics.ty option}
                    101:                | EBdef of
                    102:                    {exn: Basics.datacon,
                    103:                     edef: Basics.datacon}
                    104: and strb       = STRB of 
                    105:                    {strvar: Basics.structureVar,
                    106:                     def: strexp,
                    107:                     thin: Basics.thinning,
                    108:                     constraint: Basics.Structure option}  (* info only *)
                    109: and fctb       = FCTB of
                    110:                    {fctvar: Basics.functorVar,
                    111:                     param: Basics.structureVar,
                    112:                     def: strexp,
                    113:                     thin: Basics.thinning,
                    114:                     constraint: Basics.Structure option}  (* info only *)
                    115: 
                    116: end (* signature BAREABSYN *)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.