十六进制数的LARK解析错误

时间:2018-03-31 03:40:23

标签: parsing python-3.6 lark-parser

我尝试用以下方法解析十六进制数: hex_number:" 0x" HEXDIGIT +和0xA作为输入,它总是抛出一个错误,A是意外的令牌。

1 个答案:

答案 0 :(得分:1)

这是一个不会引发任何错误的小例子:

from lark import Lark


if __name__ == "__main__":
    grammar = """
        start: hex_number
        hex_number : "0x" HEXDIGIT+
        %import common.HEXDIGIT
        %import common.WS
        %ignore WS
    """

    parser = Lark(grammar, start='start')
    tree = parser.parse("    0xA    ")