Eliminated "query" syntax.
authorberghofe
Thu, 20 Dec 2001 17:08:55 +0100
changeset 125659df4b3934487
parent 12564 226873bffa3a
child 12566 fe20540bcf93
Eliminated "query" syntax.
src/HOL/MicroJava/J/JListExample.thy
src/HOL/Tools/inductive_codegen.ML
     1.1 --- a/src/HOL/MicroJava/J/JListExample.thy	Thu Dec 20 16:53:51 2001 +0100
     1.2 +++ b/src/HOL/MicroJava/J/JListExample.thy	Thu Dec 20 17:08:55 2001 +0100
     1.3 @@ -91,7 +91,7 @@
     1.4  *}
     1.5  
     1.6  generate_code
     1.7 -  test = "query (example_prg\<turnstile>Norm (Map.empty, Map.empty)
     1.8 +  test = "example_prg\<turnstile>Norm (Map.empty, Map.empty)
     1.9      -(Expr (l1_name::=NewC list_name);;
    1.10        Expr ({list_name}(LAcc l1_name)..val_name:=Lit (Intg 1));;
    1.11        Expr (l2_name::=NewC list_name);;
    1.12 @@ -105,7 +105,7 @@
    1.13        Expr ({list_name}(LAcc l1_name)..
    1.14          append_name({[RefT (ClassT list_name)]}[LAcc l3_name]));;
    1.15        Expr ({list_name}(LAcc l1_name)..
    1.16 -        append_name({[RefT (ClassT list_name)]}[LAcc l4_name])))-> s1)"
    1.17 +        append_name({[RefT (ClassT list_name)]}[LAcc l4_name])))-> _"
    1.18  
    1.19  subsection {* Big step execution *}
    1.20  
     2.1 --- a/src/HOL/Tools/inductive_codegen.ML	Thu Dec 20 16:53:51 2001 +0100
     2.2 +++ b/src/HOL/Tools/inductive_codegen.ML	Thu Dec 20 17:08:55 2001 +0100
     2.3 @@ -482,8 +482,8 @@
     2.4         None => None
     2.5       | Some (names, intrs) =>
     2.6           let
     2.7 -          fun mk_mode (((ts, mode), i), Var _) = ((ts, mode), i+1)
     2.8 -            | mk_mode (((ts, mode), i), Free _) = ((ts, mode), i+1)
     2.9 +          fun mk_mode (((ts, mode), i), Const ("dummy_pattern", _)) =
    2.10 +                ((ts, mode), i+1)
    2.11              | mk_mode (((ts, mode), i), t) = ((ts @ [t], mode @ [i]), i+1);
    2.12  
    2.13             val gr1 = mk_extra_defs thy
    2.14 @@ -508,12 +508,11 @@
    2.15    | _ => None);
    2.16  
    2.17  fun inductive_codegen thy gr dep brack (Const ("op :", _) $ t $ u) =
    2.18 -      (case mk_ind_call thy gr dep t u false of
    2.19 +      ((case mk_ind_call thy gr dep (Term.no_dummy_patterns t) u false of
    2.20           None => None
    2.21         | Some (gr', call_p) => Some (gr', (if brack then parens else I)
    2.22             (Pretty.block [Pretty.str "?! (", call_p, Pretty.str ")"])))
    2.23 -  | inductive_codegen thy gr dep brack (Free ("query", _) $ (Const ("op :", _) $ t $ u)) =
    2.24 -      mk_ind_call thy gr dep t u true
    2.25 +        handle TERM _ => mk_ind_call thy gr dep t u true)
    2.26    | inductive_codegen thy gr dep brack _ = None;
    2.27  
    2.28  val setup =