char * gets(char * s)
{ int len = 0;
  while (1)
  { char c = getchar();
    if (c == EOF)
    { if (len == 0)
        return NULL;
      else
        break; }
    if (c == '\n')
      break;
    s[len] = c;
    len += 1; }
  s[len] = 0;
  return s; }

let gets(s) be
{ let len = 0;
  while true do
  { let c = inch();
    if c = EOF then
      test len = 0 then
        resultis nil
      else
        break;
    if c = '\n' then
      break;
    byte len of s := c;
    len +:= 1 }
  byte len of s := 0;
  resultis s }