public function analyze()
{
// Integer
$this->atomIs('Integer')->codeIs(array(0, '-0'));
$this->prepareQuery();
// Real
$this->atomIs('Real')->regexIs('fullcode', '^[+-]?[0\\\\.]+');
$this->prepareQuery();
// Boolean
$this->atomIs('Boolean')->codeIs('false');
$this->prepareQuery();
// String
$this->atomIs('String')->codeIs(array("''", '""'));
$this->prepareQuery();
$this->atomIs('Heredoc')->is('count', 0);
$this->prepareQuery();
// array
$this->atomIs('Functioncall')->fullnspathIs('\\array')->outIs('ARGUMENTS')->outIs('ARGUMENT')->atomIs('Void')->back('first');
$this->prepareQuery();
// NULL
$this->atomIs('Null');
$this->prepareQuery();
// object
// How to test?
// resource
// resources are always true
}