72 votes

Analyseur JavaScript en JavaScript

J'ai besoin d'ajouter un sucre syntaxique léger au code source JavaScript, et de le traiter à l'aide d'un système de construction basé sur JavaScript. Existe-t-il des analyseurs syntaxiques JavaScript open source écrits en JavaScript ? Sont-ils raisonnablement rapides lorsqu'ils sont exécutés avec V8 ou une implémentation JavaScript haute performance similaire ?

Merci pour tous les conseils que vous pourrez me donner !

3 votes

"J'ai besoin d'ajouter un peu de sucre syntaxique léger au code source JavaScript" Tu le fais ? Comme quoi ?

0 votes

Vous en avez besoin pour l'exposition du code ou pour l'éditeur ?

1 votes

C'est ce que fait Objective-J. Vous pourriez vouloir vérifier son code source ouvert. Mais il utilise une syntaxe totalement différente, similaire à celle de l'Objective-C, et interprète en Javascript au moment de l'exécution.

33voto

mishoo Points 1822

UglifyJS (JS compressor/beautifier en JavaScript) contient un analyseur syntaxique JavaScript complet qui expose une API simple. Il est fortement testé et utilisé dans certains grands projets (WebKit).

3 votes

UglifyJS est génial et je vous en remercie. Merci également pour HTMLArea, qui a été une grande référence pour moi lors du développement d'un éditeur WYSIWYG il y a environ 7 ou 8 ans. Je vous suggère cependant de mentionner votre intérêt lorsque vous créez un lien vers UglifyJS.

3 votes

Je voudrais juste signaler que ce parseur est prêt à fonctionner et qu'il semble fonctionner parfaitement. Il est contenu dans un fichier séparé, donc pas besoin de fouiller dans jslint.js pour enlever les parties dont vous n'avez pas besoin. +1

25voto

Johannes Gerer Points 5662

Le site le plus rapide L'analyseur syntaxique en Javascript était esprima .

Il vous donne également

Format sensible pour l'arbre syntaxique abstrait (AST), compatible avec l'API de l'analyseur Mozilla.

24voto

emk Points 27772

Crescent Fresh a répondu à cette question dans les commentaires :

JSLint contient un analyseur syntaxique JavaScript écrit en JavaScript. Voir JSlint par Douglas Crockford Autour de la ligne 2712 commence l'analyseur syntaxique. JSLint est écrit pour gérer aussi le html, donc il faut survoler ces parties.

0 votes

Crescent Fresh, si vous souhaitez reposter votre commentaire en tant que réponse, je l'accepterai et vous voterai en haut de page.

4 votes

Code source récent, le lien ci-dessus est allé 404 : github.com/douglascrockford/JSLint

0 votes

8voto

alunny Points 785

Ce n'est pas un analyseur JavaScript lui-même, mais il existe un projet appelé Jison (comme Bison) pour générer des analyseurs syntaxiques écrits en JS.

1 votes

Eh bien, la question était pour un analyseur JavaScript... ??

7voto

CMS Points 315406

Le seul interprète métacirculaire que j'ai vu implémenté en JavaScript est le Narcisse Moteur.

Il a été développé également par Brendan Eich, ils ont utilisé beaucoup d'extensions non standard qui sont spécifiques à SpiderMonkey je pense qu'il ne fonctionnera pas sur V8.

0 votes

Intéressant ! Je suppose qu'il y a un analyseur syntaxique caché quelque part :-) Malheureusement, je suis à la recherche de quelque chose qui fonctionne sous V8. Mais merci pour ce lien très intéressant !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X