2017-07-02 10 views
2

Je travaille sur un outil de fusion pour les programmes JavaScript, et j'ai besoin d'écrire une grammaire pour JavaScript (> ES6) au format JavaCC. Pour cela, je veux utiliser une grammaire BNF ouverte pour ES6, donc j'écrirais la grammaire au format JavaCC à partir de celle-ci.Existe-t-il une grammaire BNF disponible pour JavaScript ES6?

j'ai pu trouver que ceux (de ce Stack Overflow post):

Cependant, ceux-ci sont très anciens INB (et le poste sur StackOverflow est également très vieux, d'il y a 9 ans). Ces grammaires fonctionnent uniquement - et de manière limitée - pour les versions < ES5.

Connaissez-vous une nouvelle grammaire accessible au public (BNF, fichier JavaCC, etc.)?

Des analyseurs sont disponibles pour ES6, tels que Esprima, mais comme je dois utiliser l'environnement JavaCC, j'ai besoin de la grammaire pour travailler.

+1

Je ne suis pas expert en langues, mais je ne pense pas que ES6 puisse être exprimé purement en termes de grammaire BNF. –

+0

Il peut être un EBNF –

+0

Vous pouvez avoir plus de chance sur Esdiscuss. –

Répondre

1

La dernière version entièrement approuvée ECMAScript (ES2017 = ES8) est à https://www.ecma-international.org/publications/standards/Ecma-262.htm

Le dernier projet de la prochaine version (ES2018) est à https://github.com/tc39/ecma262 (source repo) et https://tc39.github.io/ecma262/ (Prononcée).

Tous ceux-ci sont ouvertement disponibles et contiennent une grammaire pour la langue. La notation de grammaire est principalement BNF avec quelques extensions.

+0

Belle référence! Cette section (https://www.ecma-international.org/ecma-262/8.0/index.html#sec-grammar-summary), résumant la grammaire, est fondamentalement un EBNF, ce qui pourrait bien convenir à mes besoins! J'y travaillerai. Merci d'avoir répondu! –