(parse st (? filename))
  st: a str
  filename: a str (optional)
  returns an arr

Incrementally parses values from a string.

st must contain valid GameLisp source text. The function parses zero or one values from the start of the string, returning a three-element array, (tag val chars-read).

filename can be used to specify a nominal filename for error-reporting. It does not need to refer to an actual file.

It's usually more convenient to call parse-all or parse-1, rather than using this function.