equal
deleted
inserted
replaced
322 record cbody = decl + --{* class body *} |
322 record cbody = decl + --{* class body *} |
323 cfields:: "fdecl list" |
323 cfields:: "fdecl list" |
324 methods:: "mdecl list" |
324 methods:: "mdecl list" |
325 init :: "stmt" --{* initializer *} |
325 init :: "stmt" --{* initializer *} |
326 |
326 |
327 record class = cbody + --{* class *} |
327 record "class" = cbody + --{* class *} |
328 super :: "qtname" --{* superclass *} |
328 super :: "qtname" --{* superclass *} |
329 superIfs:: "qtname list" --{* implemented interfaces *} |
329 superIfs:: "qtname list" --{* implemented interfaces *} |
330 types |
330 types |
331 cdecl --{* class declaration, cf. 8.1 *} |
331 cdecl --{* class declaration, cf. 8.1 *} |
332 = "qtname \<times> class" |
332 = "qtname \<times> class" |
403 "prog"<= (type) "\<lparr>ifaces::idecl list,classes::cdecl list\<rparr>" |
403 "prog"<= (type) "\<lparr>ifaces::idecl list,classes::cdecl list\<rparr>" |
404 "prog"<= (type) "\<lparr>ifaces::idecl list,classes::cdecl list,\<dots>::'a\<rparr>" |
404 "prog"<= (type) "\<lparr>ifaces::idecl list,classes::cdecl list,\<dots>::'a\<rparr>" |
405 |
405 |
406 syntax |
406 syntax |
407 iface :: "prog \<Rightarrow> (qtname, iface) table" |
407 iface :: "prog \<Rightarrow> (qtname, iface) table" |
408 class :: "prog \<Rightarrow> (qtname, class) table" |
408 "class" :: "prog \<Rightarrow> (qtname, class) table" |
409 is_iface :: "prog \<Rightarrow> qtname \<Rightarrow> bool" |
409 is_iface :: "prog \<Rightarrow> qtname \<Rightarrow> bool" |
410 is_class :: "prog \<Rightarrow> qtname \<Rightarrow> bool" |
410 is_class :: "prog \<Rightarrow> qtname \<Rightarrow> bool" |
411 |
411 |
412 translations |
412 translations |
413 "iface G I" == "table_of (ifaces G) I" |
413 "iface G I" == "table_of (ifaces G) I" |