//clone to yzf's parser