sample.a68 409 B

12345678910111213141516171819
  1. MODE ELEMENT = STRING;
  2. MODE NODE =
  3. STRUCT ( ELEMENT value, REF NODE next );
  4. MODE LIST = REF NODE;
  5. LIST empty = NIL;
  6. PROC append = ( REF LIST list, ELEMENT val ) VOID:
  7. BEGIN
  8. IF list IS empty
  9. THEN
  10. list := HEAP NODE := ( val, empty )
  11. ELSE
  12. REF LIST tail := list;
  13. WHILE next OF tail ISNT empty
  14. DO
  15. tail := next OF tail
  16. OD;
  17. next OF tail := HEAP NODE := ( val, empty )
  18. FI
  19. END;