We currently uses pegjs with phpegjs to generate the php parser which parses TQL queries to its AST.
But phpegjs is no longer maintained since 2021 and recommend to use phpeggy instead.
phpeggy is a plugin of peggy which is described as the successor of pegjs.
Fortunately both libraries are compatible with peg syntax so we don't have to rewrite full grammar specification.