Ok, thanks... so this thing is monkey rigged? it actually works...
so in the doparse() below where they call
$this->q->add($c, &$this);
the ampersand is redundant and that just calling
$this->q->add($c, $this); would be the same?
class Parser {
function doparse()
{
//
// +-------> are you saying they dont need the &$this here?
// | and that $this would pass by reference anyway?
// v
$this->q->add($c, &$this);
}
class Q extends N {
var $t;
var $s;
var $st;
function add($x, & $parser) {
if ($x == '_'&&$this->t!='b') {
$d = $parser->readahead();
if ($d == '_') {
$this->t = 'b';
}
}
return $parser->setstate('c', $this);
}
} // end class q