Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/Semant/pickle/unpickmod-new.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/Semant/pickle/unpickmod-new.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1173, Sat Mar 23 04:18:51 2002 UTC revision 1174, Sat Mar 23 21:14:40 2002 UTC
# Line 132  Line 132 
132            P.SUBSCRIPT_REC,            P.SUBSCRIPT_REC,
133            P.SUBSCRIPT_RAW64,            P.SUBSCRIPT_RAW64,
134            P.UNBOXEDASSIGN,            P.UNBOXEDASSIGN,
135            P.RAW_CCALL NONE]            P.RAW_CCALL NONE
136            ]
137    
138      val cmpop_table =      val cmpop_table =
139          #[P.>, P.>=, P.<, P.<=, P.LEU, P.LTU, P.GEU, P.GTU, P.EQL, P.NEQ]          #[P.>, P.>=, P.<, P.<=, P.LEU, P.LTU, P.GEU, P.GTU, P.EQL, P.NEQ]
# Line 200  Line 201 
201          val tkindListM = UU.mkMap ()          val tkindListM = UU.mkMap ()
202          val ctypeM = UU.mkMap ()          val ctypeM = UU.mkMap ()
203          val ctypeListM = UU.mkMap ()          val ctypeListM = UU.mkMap ()
204            val ccalltypeListM = UU.mkMap ()
205            val ccalltypeOptionM = UU.mkMap ()
206          val cciM = UU.mkMap ()          val cciM = UU.mkMap ()
207    
208          val boollist = list boolListM bool          val boollist = list boolListM bool
# Line 290  Line 293 
293    
294          and ctypelist () = list ctypeListM ctype ()          and ctypelist () = list ctypeListM ctype ()
295    
296            fun ccalltype() = let
297                fun ct #"\000" = P.CCALL_INT32
298                  | ct #"\001" = P.CCALL_REAL64
299                  | ct #"\002" = P.CCALL_ML_PTR
300                  | ct _       = raise Format
301            in  nonshare ct
302            end
303    
304            and ccalltypelist () = list ccalltypeListM ccalltype ()
305            and ccalltypeoption () = option ccalltypeOptionM ccalltype ()
306    
307          fun ccall_info () = let          fun ccall_info () = let
308              fun cp #"C" =              fun cp #"C" =
309                  { c_proto = { conv = string (),                  { c_proto = { conv = string (),
310                                retTy = ctype (),                                retTy = ctype (),
311                                paramTys = ctypelist () },                                paramTys = ctypelist () },
312                    ml_flt_args = boollist (),                    ml_args = ccalltypelist (),
313                    ml_flt_res_opt = booloption () }                    ml_res_opt = ccalltypeoption (),
314                      reentrant = bool () }
315                | cp _ = raise Format                | cp _ = raise Format
316          in          in
317              share cciM cp              share cciM cp
# Line 328  Line 343 
343                | po #"\116" = P.RAW_LOAD (numkind ())                | po #"\116" = P.RAW_LOAD (numkind ())
344                | po #"\117" = P.RAW_STORE (numkind ())                | po #"\117" = P.RAW_STORE (numkind ())
345                | po #"\118" = P.RAW_CCALL (SOME (ccall_info ()))                | po #"\118" = P.RAW_CCALL (SOME (ccall_info ()))
346                  | po #"\119" = P.RAW_RECORD{tag=bool (),sz=int ()}
347                | po c =                | po c =
348                  Vector.sub (primop_table, Char.ord c)                  Vector.sub (primop_table, Char.ord c)
349                  handle General.Subscript => raise Format                  handle General.Subscript => raise Format
350          in          in
351              share poM po              share poM po
352          end          end
353    
354      in      in
355          { pid = pid, string = string, symbol = symbol,          { pid = pid, string = string, symbol = symbol,
356            access = access, conrep = conrep, consig = consig,            access = access, conrep = conrep, consig = consig,

Legend:
Removed from v.1173  
changed lines
  Added in v.1174

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0