buffer with the given function as its reading method.
   When the scanner needs more characters, it will call the given
   function, giving it a byte sequence <code class="code">s</code> and a byte
   count <code class="code">n</code>. The function should put <code class="code">n</code> bytes or fewer in <code class="code">s</code>,
   starting at index 0, and return the number of bytes
   provided. A return value of 0 means end of input.</p>
</div>
</div>
<h2 id="1_Functionsforlexersemanticactions">Functio