Ошибка разбора LARK для шестнадцатеричного числа

Я пытаюсь проанализировать шестнадцатеричное число с помощью: hex_number: "0x" HEXDIGIT+ и с 0xA в качестве ввода, и это всегда выдает мне ошибку, A является неожиданным токеном.

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    ")
Другие вопросы по тегам