%externalroutine Reads %alias "3L_IMP___read_s"(%integer Ad, Max)
   %string(255) S
   %integer Char, Delim
   Max = 255 %if Max = 0 {?????}
   S = ""
   %cycle
      Char = Nextsymbol
      %exit %if Char > ' '
      Skipsymbol
   %repeat
   %if Char = '"' %start
      Delim = '"'
      Skipsymbol
      Char = Nextsymbol
   %else
      Delim = 0
   %finish
   %cycle
      %signal 1,3,Max %if Length(S) = Max
      Skipsymbol
      %if Delim # 0 %and Char = '"' %start
         %exit %unless Nextsymbol = '"'
         Skipsymbol
      %finish
      S = S.Tostring(Char)
      Char = Nextsymbol
   %repeat %until Delim = 0 %and Char <= ' '
   String(Ad) = S
%end
