Я создаю синтаксический анализатор JavaScript и получил ошибку при тестировании его на jQuery в строке 496:
isArray: Array.isArray || function( obj ) {
return jQuery.type(obj) === "array";
},
Я уменьшил его до этого:
a = b || function() {}
Isэто действительный ECMA-262 или это функция, которая была добавлена с тех пор?В любом случае, как мне выразить это в виде синтаксического анализатора?
Мое абстрактное синтаксическое дерево для выражения присваивания:
data Assignment
= CondExpr CondExpr
| Assign LeftExpr AssignOp Assignment
| AssignFuncDecl FuncDecl
Это не поддерживает назначения в вышеуказанном формате.
Я могу объяснить мой AST больше, если это необходимо.Спасибо за любую помощь, вы можете дать!