external procedure queuemakenull(var q: queue);
external procedure queuenqueue(var q: queue; x: queuelement);
external procedure queuedequeue(var q: queue);
external function queuefront(q: queue): queuelement;
external function queuempty(q: queue): boolean;
external procedure queueprint(q: queue; var out: text);