Какие символы могут быть операторами в JavaScript при использовании Esprima?

Из предыдущего вопроса я узнал, как расширить язык JavaScript для поддержки большего количества операторов (созданных мной).

Там @ Бенджамин использовал Esprima и создал # оператор. Используя Esprima, мы можем сделать следующее:

esprima.parse("10 # 2")

Это возвращает этот объект:

{
    "type": "Program",
    "body": [
        {
            "type": "ExpressionStatement",
            "expression": {
                "type": "BinaryExpression",
                "operator": "#",
                "left": {
                    "type": "Literal",
                    "value": 10,
                    "raw": "10"
                },
                "right": {
                    "type": "Literal",
                    "value": 2,
                    "raw": "2"
                }
            }
        }
    ]
}

Но если я заменю # с выдает эту ошибку:

Error: Line 1: Unexpected token ILLEGAL

Почему # поддерживается и не? Можно ли поддерживать символы Юникода при разборе строки, например "2 ∘ 3"?

Есть ли способ заставить Esprima принимать символы Unicode?

0 ответов

Другие вопросы по тегам