Input loop is part of Short Circuit's Console Program Basics selection.
Task

Read from a text stream either word-by-word or line-by-line until the stream runs out of data.

The stream will have an unknown amount of data on it.




MODULE Output EXPORTS Main;
 
IMPORT Rd, Wr, Stdio;
 
VAR buf: TEXT;
 
<*FATAL ANY*>
 
BEGIN
  WHILE NOT Rd.EOF(Stdio.stdin) DO
    buf := Rd.GetLine(Stdio.stdin);
    Wr.PutText(Stdio.stdout, buf);
  END;
END Output.