小编Joh*_*ohn的帖子

用boost :: spirit解析python语法 - 问题

我正在尝试用boost :: spirit库编写一个python解析器.这是代码:

template <typename Iterator>
class Parser : public qi::grammar<Iterator, space_type>
{
public:
    Parser() : Parser::base_type(small_stmt)
    {
        NEWLINE = lit("<NEWLINE>");
        INDENT = lit("<INDENT>");
        DEDENT = lit("<DEDENT>");
        ENDMARKER = lit("<EOT>");
        NAME = identifier.alias();
        NUMBER = integer|longinteger|floatnumber|imagnumber;
        STRING = stringliteral.alias();

        identifier = (alpha | '_') >> *(alpha | digit | '_');

        stringliteral = -stringprefix  >> (shortstring | longstring);
        stringprefix = lit("r") | lit("u") | lit("ur") | lit("R") | lit("U") | lit("UR") | lit("Ur") | lit("uR") | lit("b") | lit("B") | lit("br") …
Run Code Online (Sandbox Code Playgroud)

c++ python parsing boost-spirit

8
推荐指数
1
解决办法
1736
查看次数

标签 统计

boost-spirit ×1

c++ ×1

parsing ×1

python ×1