qpathparser.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:QTAF 作者: Tencent 项目源码 文件源码
def parse(self, qpath_string ):
        '''????????

        :param qpath_string: QPath???
        :type qpath_string: string
        :returns: list, list - ?????, ??????
        '''
        self._last_locator = None
        qpath_string = qpath_string.strip()
        self._lexer = QPathLexer()
        self.tokens = self._lexer.tokens
        self._parser = yacc.yacc(module=self, debuglog=self._logger, errorlog=self._logger, write_tables=0)
        self._qpath_string = qpath_string
        parsed_structs = []
        lex_structs = []
        for locator in self._parser.parse(qpath_string, self._lexer):
            parsed_structs.append(locator.dumps())
            lex_struct = {}
            for propname in locator:
                prop = locator[propname]
                lex_struct[prop.name.value] = [prop.name.lexpos, prop.operator.lexpos, prop.value.lexpos]
            lex_structs.append(lex_struct)
        return parsed_structs, lex_structs
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号