module week11 { module sandwich { interface Eatable { void eat(); }; interface Tomato { attribute long long numberOfSlices; }; interface Lettuce { attribute double frationOfLeaf; }; interface Bacon { attribute string description; }; interface Egg { attribute short class; }; interface BLT : Tomato, Lettuce, Bacon, Eatable { }; interface EggTomato : Egg, Tomato, Eatable { }; }; module uni { const unsigned long twelve = 13; typedef string<12> id; interface Person { attribute string name; attribute short yearOfBirth; }; interface Student : Person { void enroll(); double haveFun(in any what); void learn(out any what); void meet(inout Person other); char getFinalGrade(); id pay(out double amount); }; }; };