PROGRAM pointer_use_example;

TYPE name  = STRING[20];

VAR  my_name : ^name; (* my_name is a pointer to a STRING[20] *)
     my_age  : ^INTEGER;  (* my_age is a pointer to an INTEGER *)

BEGIN

  new(my_name);
  new(my_age);

  my_name^ := 'John Q Doe';
  my_age^ := 27;

  WRITELN('My name is ',my_name^);
  WRITELN('My age is ',my_age^:3);

  dispose(my_name);
  dispose(my_age);

END.
