The init_scan function must be called each time a new expression has to be evaluated (and thus read). The argument is just a string (full of whitespaces and carriage returns perhaps!) to be transformed to tokens.