public function analyze()
{
$authorizedAtoms = array('Integer', 'String', 'Real', 'Boolean', 'Void', 'Staticconstant', 'Null', 'Identifier');
// in constants
$this->atomIs('Const')->outIs('CONST')->outIs('VALUE')->atomIsNot($authorizedAtoms)->back('first');
$this->prepareQuery();
// in argument's default value
$this->atomIs('Function')->outIs('ARGUMENTS')->outIs('ARGUMENT')->outIs('DEFAULT')->atomIsNot($authorizedAtoms)->back('first');
$this->prepareQuery();
// in property's default value
$this->atomIs(array('Class', 'Trait'))->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->outIs('PPP')->outIs('RIGHT')->atomIsNot($authorizedAtoms)->inIs('RIGHT');
$this->prepareQuery();
}