First spike, forking a new child for each statement. If the child fatally terminates, the parent remains the foreground process, otherwise control moves to the child... this is not ideal since the number of processes forever increases.
Second spike; this time using a 2-tier system with a worker and the REPL client.
Spike 3; perform a shallow parse on the input before executing it (one statement at a time)
Rename to boris and add some documentation
Fix an issue with lexing inside scope
Behaviour improvements
Fix issue with regex escaping
Correctly combine if..elseif..else and try..catch
Be more robust about exiting
Integrate readline history
Refactor to be OO
Fix issue that prevented PHP 5.3 closure syntax from working
Clear buffer on ctrl-c... this seems to have a nasty side-effect on the ctrl-d handling though
Disable the ctrl-c (clear buffer) signal trap until I can figure out why the sockets hang after use
Better support for heredoc
Refactor parser to make it easier to follow
Update readme
Add unset() to the list of non-returnables
Fix issue with regex for return statements
Improve parser expression combining logic