Какие символы могут быть операторами в 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?