equal
deleted
inserted
replaced
103 "xcpt_eff i G pc s et == |
103 "xcpt_eff i G pc s et == |
104 map (\<lambda>C. (the (match_exception_table G C pc et), case s of None \<Rightarrow> None | Some s' \<Rightarrow> Some ([Class C], snd s'))) |
104 map (\<lambda>C. (the (match_exception_table G C pc et), case s of None \<Rightarrow> None | Some s' \<Rightarrow> Some ([Class C], snd s'))) |
105 (xcpt_names (i,G,pc,et))" |
105 (xcpt_names (i,G,pc,et))" |
106 |
106 |
107 norm_eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> state_type option \<Rightarrow> state_type option" |
107 norm_eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> state_type option \<Rightarrow> state_type option" |
108 "norm_eff i G == option_map (\<lambda>s. eff' (i,G,s))" |
108 "norm_eff i G == Option.map (\<lambda>s. eff' (i,G,s))" |
109 |
109 |
110 eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> p_count \<Rightarrow> exception_table \<Rightarrow> state_type option \<Rightarrow> succ_type" |
110 eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> p_count \<Rightarrow> exception_table \<Rightarrow> state_type option \<Rightarrow> succ_type" |
111 "eff i G pc et s == (map (\<lambda>pc'. (pc',norm_eff i G s)) (succs i pc)) @ (xcpt_eff i G pc s et)" |
111 "eff i G pc et s == (map (\<lambda>pc'. (pc',norm_eff i G s)) (succs i pc)) @ (xcpt_eff i G pc s et)" |
112 |
112 |
113 constdefs |
113 constdefs |