ORIGIN '~beta/basiclib/betaenv'; --- lib: Attributes --- (* Stack minta amely most megfelel egy osztalynak ami vermet valosit meg *) Stack: (# Top: @integer; (* a Top mondja meg a legfelso elem indexet *) A: [100] @integer; (* az A tombben vannak az elemek *) Push: (* a szokasos Push muvelet *) (# e: @integer enter e do Top+1 -> Top; e -> A[Top]; #); Pop: (* a szokasos Pop muvelet *) (# e: @integer do A[Top] -> e; Top-1 -> Top; exit e #); New: (* a verem inicializalasa (uritese) *) (# do 0 -> Top #); isEmpty: (* a szokasos isEmpty muvelet *) (# Result: @boolean do (0 = Top) -> Result; exit Result #) #) --- program: Descriptor --- (# S: @Stack (* a verem peldanyositasa *) do S.New; (* a verem inicializalasa *) (for i: 12 repeat i -> S.Push for); (* elemek berakasa *) (for i: 12 repeat S.pop -> putint; newline; for) (* elemek kivetele es kiirasa *) #)