EBNF для ECMAScript?

Я пытаюсь найти хорошее описание ECMAScript EBNF, но до сих пор я не нашел ничего полного.

Любые идеи?

Ответы

Ответ 1

Как насчет стандарт ECMAScript? По определению: -}

РЕДАКТИРОВАТЬ: Если вы хотите использовать существующую грамматику, попробуйте один из сайтов инструментов генератора грамматики. Для ANTLR, здесь грамматика ECMAScript. Я ничего не знаю о его качестве, но ANTLR может создавать хорошие парсеры, если грамм построен с осторожностью. Вероятно, вы обнаружите, что грамматика также переплетается с множеством материалов ANTLR, поэтому она может страдать от той же проблемы, что и стандарт с вашей точки зрения. По крайней мере, вы можете удалить все эти материалы.

Ответ 3

Я работаю над - основанный на анализаторе ECMAScript. Вот моя грамматика:

См. также Tom Copeland BNF для EcmaScript:

Также как и "Еще один переводчик JavaScript":

Также как Dojo грамматика инструментария (возможно, основанная на YAJI):

С моей точки зрения, YAJI или Dojo Toolkit являются лучшими и наиболее полными (насколько мне известно). Я основываюсь на них, но хочу сделать его еще более полным (5.1/6) и стандартным, но практичным.

ECMAScript-грамматика очень сложная. У этого есть несколько огромных оговорок:

  • Литералы регулярных выражений и разделения (вы не можете различать их на уровне лексера)
  • Автоматическая точка с запятой (ASI)

Поэтому, пожалуйста, имейте это в виду. Реализация этих программ очень сложная.

Если ваша целевая платформа Java и вы не возражаете против JavaCC, я был бы рад, если вы присоединитесь к моему проекту. Моя грамматика фактически готова (строит/компилирует без предупреждений). Сейчас я работаю над наборами тестов, чтобы покрыть каждую функцию и продукцию. Я предвижу некоторые проблемы с регулярными выражениями и ASI, хотя.

пс. Я только что заметил, что вопрос с 09, поэтому мое приглашение, вероятно, слишком поздно.:)

Ответ 4

попробуйте эту ссылку ecmascriptA3 у нее есть BNF ecmascript