protected function identifierQuotes($str) {
		#for every word
		return preg_replace_callback('/(?<![\.a-zA-Z0-9_'.$this->quote.'\(\)])[a-z_][a-zA-Z0-9._]*/', function($matches) {
			$res = [];
			foreach(explode('.', $matches[0]) as $substr) {
				if(preg_match('/^[a-z_][a-zA-Z0-9_]*$/', $substr))
					$res[] = $this->quote.$substr.$this->quote;
				else
					$res[] = $substr;
			}
			return implode('.', $res);
		}, $str);
	}