src/Tools/isac/Interpret/script.sml
branchdecompose-isar
changeset 42133 f9a7294e6cd6
parent 42092 1a6d6089e594
child 42248 ac50595ffe6b
     1.1 --- a/src/Tools/isac/Interpret/script.sml	Wed Jul 20 13:05:48 2011 +0200
     1.2 +++ b/src/Tools/isac/Interpret/script.sml	Wed Jul 20 14:55:29 2011 +0200
     1.3 @@ -1015,41 +1015,35 @@
     1.4  		             )
     1.5             end);
     1.6  
     1.7 -fun ass_up (ys as (y,s,Script sc,d)) (is as (E,l,a,v,S,b),ss) 
     1.8 -	   (Const ("HOL.Let",_) $ _) =
     1.9 -    let (*val _= tracing("### ass_up1 Let$e: is=")
    1.10 -	val _= tracing(istate2str (ScrState is))*)
    1.11 -	val l = drop_last l; (*comes from e, goes to Abs*)
    1.12 -      val (Const ("HOL.Let",_) $ e $ (Abs (i,T,body))) = go l sc;
    1.13 -      val i = mk_Free (i, T);
    1.14 -      val E = upd_env E (i, v);
    1.15 -      (*val _=tracing("### ass_up2 Let$e: E="^(subst2str E));*)
    1.16 -    in case assy (((y,s),d),Aundef) ((E, l@[R,D], a,v,S,b),ss) body of
    1.17 -	   Assoc iss => Assoc iss
    1.18 -	 | NasApp iss => astep_up ys iss 
    1.19 -	 | NasNap (v, E) => astep_up ys ((E,l,a,v,S,b),ss) end
    1.20 +fun ass_up (ys as (y,s,Script sc,d)) (is as (E,l,a,v,S,b),ss) (Const ("HOL.Let",_) $ _) =
    1.21 +      let 
    1.22 +        (*val _= tracing("### ass_up1 Let$e: is=")
    1.23 +	      val _= tracing(istate2str (ScrState is))*)
    1.24 +	      val l = drop_last l; (*comes from e, goes to Abs*)
    1.25 +        val (Const ("HOL.Let",_) $ e $ (Abs (i,T,body))) = go l sc;
    1.26 +        val i = mk_Free (i, T);
    1.27 +        val E = upd_env E (i, v);
    1.28 +        (*val _=tracing("### ass_up2 Let$e: E="^(subst2str E));*)
    1.29 +       in case assy (((y,s),d),Aundef) ((E, l@[R,D], a,v,S,b),ss) body of
    1.30 +	          Assoc iss => Assoc iss
    1.31 +	        | NasApp iss => astep_up ys iss 
    1.32 +	        | NasNap (v, E) => astep_up ys ((E,l,a,v,S,b),ss) end
    1.33  
    1.34    | ass_up ys (iss as (is,_)) (Abs (_,_,_)) = 
    1.35 -    ((*tracing("### ass_up  Abs: is=");
    1.36 -     tracing(istate2str (ScrState is));*)
    1.37 -     astep_up ys iss) (*TODO 5.9.00: env ?*)
    1.38 +      ((*tracing("### ass_up  Abs: is=");
    1.39 +      tracing(istate2str (ScrState is));*)
    1.40 +      astep_up ys iss) (*TODO 5.9.00: env ?*)
    1.41  
    1.42    | ass_up ys (iss as (is,_)) (Const ("HOL.Let",_) $ e $ (Abs (i,T,b)))=
    1.43 -    ((*tracing("### ass_up Let $ e $ Abs: is=");
    1.44 -     tracing(istate2str (ScrState is));*)
    1.45 -     astep_up ys iss) (*TODO 5.9.00: env ?*)
    1.46 +      ((*tracing("### ass_up Let $ e $ Abs: is=");
    1.47 +      tracing(istate2str (ScrState is));*)
    1.48 +      astep_up ys iss) (*TODO 5.9.00: env ?*)
    1.49  
    1.50 -    (* val (ysa, iss,                 (Const ("Script.Seq",_) $ _ $ _ $ _)) =
    1.51 -	   (ys,  ((E,up,a,v,S,b),ss), (go up sc));
    1.52 -       *)
    1.53    | ass_up ysa iss (Const ("Script.Seq",_) $ _ $ _ $ _) =
    1.54 -    astep_up ysa iss (*all has been done in (*2*) below*)
    1.55 +      astep_up ysa iss (*all has been done in (*2*) below*)
    1.56  
    1.57    | ass_up ysa iss (Const ("Script.Seq",_) $ _ $ _) =
    1.58 -    (* val (ysa, iss,                 (Const ("Script.Seq",_) $ _ $ _)) =
    1.59 -	   (ys,  ((E,up,a,v,S,b),ss), (go up sc));
    1.60 -       *)
    1.61 -    astep_up ysa iss (*2*: comes from e2*)
    1.62 +      astep_up ysa iss (*2*: comes from e2*)
    1.63  
    1.64    | ass_up (ysa as (y,s,Script sc,d)) (is as (E,l,a,v,S,b),ss)
    1.65  	   (Const ("Script.Seq",_) $ _ ) = (*2*: comes from e1, goes to e2*)