diff -r 66b62cbeaab3 -r 6539627881e8 src/HOL/NanoJava/Decl.thy --- a/src/HOL/NanoJava/Decl.thy Mon Sep 10 13:57:57 2001 +0200 +++ b/src/HOL/NanoJava/Decl.thy Mon Sep 10 17:35:22 2001 +0200 @@ -9,34 +9,37 @@ theory Decl = Term: datatype ty - = NT (* null type *) - | Class cname (* class type *) + = NT --{* null type *} + | Class cname --{* class type *} -types fdecl (* field declaration *) - = "vnam \ ty" +text{* field declaration *} +types fdecl + = "fname \ ty" -record methd (* method declaration *) +record methd = par :: ty res :: ty lcl ::"(vname \ ty) list" bdy :: stmt -types mdecl (* method declaration *) +text{* method declaration *} +types mdecl = "mname \ methd" -record class (* class *) +record class = super :: cname fields ::"fdecl list" methods ::"mdecl list" -types cdecl (* class declaration *) +text{* class declaration *} +types cdecl = "cname \ class" types prog = "cdecl list" translations - "fdecl" \ (type)"vname \ ty" + "fdecl" \ (type)"fname \ ty" "mdecl" \ (type)"mname \ ty \ ty \ stmt" "class" \ (type)"cname \ fdecl list \ mdecl list" "cdecl" \ (type)"cname \ class" @@ -44,8 +47,8 @@ consts - Prog :: prog (* program as a global value *) - Object :: cname (* name of root class *) + Prog :: prog --{* program as a global value *} + Object :: cname --{* name of root class *} constdefs