equal
deleted
inserted
replaced
5 header {* Java names *} |
5 header {* Java names *} |
6 |
6 |
7 theory Name imports Basis begin |
7 theory Name imports Basis begin |
8 |
8 |
9 (* cf. 6.5 *) |
9 (* cf. 6.5 *) |
10 typedecl tnam --{* ordinary type name, i.e. class or interface name *} |
10 typedecl tnam --{* ordinary type name, i.e. class or interface name *} |
11 typedecl pname --{* package name *} |
11 typedecl pname --{* package name *} |
12 typedecl mname --{* method name *} |
12 typedecl mname --{* method name *} |
13 typedecl vname --{* variable or field name *} |
13 typedecl vname --{* variable or field name *} |
14 typedecl label --{* label as destination of break or continue *} |
14 typedecl label --{* label as destination of break or continue *} |
15 |
15 |
26 |
26 |
27 translations |
27 translations |
28 "VName n" == "EName (VNam n)" |
28 "VName n" == "EName (VNam n)" |
29 "Result" == "EName Res" |
29 "Result" == "EName Res" |
30 |
30 |
31 datatype xname --{* names of standard exceptions *} |
31 datatype xname --{* names of standard exceptions *} |
32 = Throwable |
32 = Throwable |
33 | NullPointer | OutOfMemory | ClassCast |
33 | NullPointer | OutOfMemory | ClassCast |
34 | NegArrSize | IndOutBound | ArrStore |
34 | NegArrSize | IndOutBound | ArrStore |
35 |
35 |
36 lemma xn_cases: |
36 lemma xn_cases: |
37 "xn = Throwable \<or> xn = NullPointer \<or> |
37 "xn = Throwable \<or> xn = NullPointer \<or> |
38 xn = OutOfMemory \<or> xn = ClassCast \<or> |
38 xn = OutOfMemory \<or> xn = ClassCast \<or> |
39 xn = NegArrSize \<or> xn = IndOutBound \<or> xn = ArrStore" |
39 xn = NegArrSize \<or> xn = IndOutBound \<or> xn = ArrStore" |
40 apply (induct xn) |
40 apply (induct xn) |
41 apply auto |
41 apply auto |
42 done |
42 done |
43 |
43 |
44 |
44 |
45 datatype tname --{* type names for standard classes and other type names *} |
45 datatype tname --{* type names for standard classes and other type names *} |
46 = Object' |
46 = Object' |
47 | SXcpt' xname |
47 | SXcpt' xname |
48 | TName tnam |
48 | TName tnam |
49 |
49 |
50 record qtname = --{* qualified tname cf. 6.5.3, 6.5.4*} |
50 record qtname = --{* qualified tname cf. 6.5.3, 6.5.4*} |
51 pid :: pname |
51 pid :: pname |
52 tid :: tname |
52 tid :: tname |
53 |
53 |