19 l1_nam :: vnam |
19 l1_nam :: vnam |
20 l2_nam :: vnam |
20 l2_nam :: vnam |
21 l3_nam :: vnam |
21 l3_nam :: vnam |
22 l4_nam :: vnam |
22 l4_nam :: vnam |
23 |
23 |
24 constdefs |
24 definition val_name :: vname where |
25 val_name :: vname |
|
26 "val_name == VName val_nam" |
25 "val_name == VName val_nam" |
27 |
26 |
28 next_name :: vname |
27 definition next_name :: vname where |
29 "next_name == VName next_nam" |
28 "next_name == VName next_nam" |
30 |
29 |
31 l_name :: vname |
30 definition l_name :: vname where |
32 "l_name == VName l_nam" |
31 "l_name == VName l_nam" |
33 |
32 |
34 l1_name :: vname |
33 definition l1_name :: vname where |
35 "l1_name == VName l1_nam" |
34 "l1_name == VName l1_nam" |
36 |
35 |
37 l2_name :: vname |
36 definition l2_name :: vname where |
38 "l2_name == VName l2_nam" |
37 "l2_name == VName l2_nam" |
39 |
38 |
40 l3_name :: vname |
39 definition l3_name :: vname where |
41 "l3_name == VName l3_nam" |
40 "l3_name == VName l3_nam" |
42 |
41 |
43 l4_name :: vname |
42 definition l4_name :: vname where |
44 "l4_name == VName l4_nam" |
43 "l4_name == VName l4_nam" |
45 |
44 |
46 list_class :: "java_mb class" |
45 definition list_class :: "java_mb class" where |
47 "list_class == |
46 "list_class == |
48 (Object, |
47 (Object, |
49 [(val_name, PrimT Integer), (next_name, RefT (ClassT list_name))], |
48 [(val_name, PrimT Integer), (next_name, RefT (ClassT list_name))], |
50 [((append_name, [RefT (ClassT list_name)]), PrimT Void, |
49 [((append_name, [RefT (ClassT list_name)]), PrimT Void, |
51 ([l_name], [], |
50 ([l_name], [], |
54 Else |
53 Else |
55 Expr ({list_name}({list_name}(LAcc This)..next_name).. |
54 Expr ({list_name}({list_name}(LAcc This)..next_name).. |
56 append_name({[RefT (ClassT list_name)]}[LAcc l_name])), |
55 append_name({[RefT (ClassT list_name)]}[LAcc l_name])), |
57 Lit Unit))])" |
56 Lit Unit))])" |
58 |
57 |
59 example_prg :: "java_mb prog" |
58 definition example_prg :: "java_mb prog" where |
60 "example_prg == [ObjectC, (list_name, list_class)]" |
59 "example_prg == [ObjectC, (list_name, list_class)]" |
61 |
60 |
62 types_code |
61 types_code |
63 cname ("string") |
62 cname ("string") |
64 vnam ("string") |
63 vnam ("string") |