Acorn :
Un parseur JavaScript écrit en JavaScript

Le , par vermine, Responsable JavaScript & AJAX
Acorn : un parseur JavaScript écrit en JavaScript

Acorn est un parseur JavaScript lui-même écrit en JavaScript.

Fort de son expérience dans le domaine du JavaScript, Marijn Haverbeke (auteur de parse-js) a décidé d'écrire ce nouveau parseur qu'il estime plus rapide que les autres (UglifyJS, ZeParser, The Narcissus project's parser ou Esprima). Son autre point fort est sa taille minuscule par rapport aux autres parseurs cités ci-dessus.

C'est plus dans l'optique d'un challenge que l'auteur s'est lancé dans ce projet car il trouve que Esprima est un très bon parseur JavaScript. D'après ses tests, Acorn serait plus rapide sur Chrome, FireFox et Opéra, les autres navigateurs n'ayant pas été testés.

L'interface principale exportée (après window.acorn) est la fonction parse qui prend une chaîne de code et retourne une syntaxe d'arborescence abstraite, comme spécifié par l'API Mozilla parser. Cependant, la syntaxe spécifique à SpiderMonkey n'est pas reconnue.

Le but ici n'est pas de sortir le meilleur parseur pour devancer les autres mais la réflexion nécessaire pour la création de Acorn a levé quelques remarques qui pourraient être bénéfiques aux autres projets du genre.

Page de présentation.
Documentation.
Téléchargez le code source sur github.

Source : d'après un article sur BadAss JavaScript.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de SpaceFrog SpaceFrog - Rédacteur/Modérateur https://www.developpez.com
le 09/10/2012 à 10:16
Traduction de Acorn :

gland ...

Offres d'emploi IT
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique JavaScript : Xavier Lecomte -