4.3BSD/usr/contrib/icon/libtest/t-patterns.icn

link "../ilib/patterns"

global literal

procedure main()
   Mode := Anchor
   while line := read() do
      if Apply(line,Hlit) then
          write(literal)
      else write("failed")
   Mode := Float
   if Apply(line,Hlit) then write(literal) else write("float failed")
end

procedure Hlit()
   local n
   suspend (n <- Span('0912345678')) || ="H" || (literal <- Len(n))
end