Vous devez:
- Connaître la spécification ECMAScript 6 dans les moindres détails;
- Construire un lexer
- construire un analyseur
Vous devez en savoir plus sur lexing classique et l'analyse syntaxique, d'une bonne source de la théorie. Avec cet arrière-plan, vous pouvez penser à construire le lexeur et l'analyseur pour ECMAScript 6, qui est ce que fait la vérification de la syntaxe de base.
Voir https://en.wikipedia.org/wiki/Parsing, en particulier les références. Idéal est le livre Aho/Ullman/Sethi sur la compilation.
Ne vous attendez pas à ce que ce soit facile (la plupart des parser-newbies font cette erreur); l'analyse est en fait un sujet assez complexe. Attendez-vous à beaucoup d'efforts pour apprendre à bien faire les choses. Vous aurez également besoin d'apprendre comment construire la récupération d'erreur de syntaxe dans votre analyseur si vous allez vérifier la syntaxe et vous plaindre; les techniques pour ce faire ne sont pas aussi bien documentées/enseignées.
Indice fort: la construction de lexers et de parseurs est beaucoup plus facile si vous utilisez des outils générateurs lexer et parser. Vous avez toujours besoin des bases du compilateur pour comprendre ce que cela fait.
Voici une liste des lexer (« expression régulière ») et générateurs d'analyseur à choisir: http://en.wikipedia.org/wiki/Comparison_of_parser_generators
JavaScript a des caractéristiques (« insertion de virgule ») qui rendent singulièrement difficile à analyser par la plupart des méthodes conventionnelles. Donc, ce que vous devrez faire est d'apprendre la théorie pour obtenir les bases correctes, et ensuite apprendre à plier les analyseurs pour gérer des cas étranges comme JavaScript.
Vous aurez également besoin de cet analyseur spécial pour extraire le JavaScript des pages HTML qui composent votre "projet web".
J'ai trouvé une série d'articles intéressants sur le sujet il y a quelque temps, je pense que cela vous sera utile. Bien qu'il implémente un sous-ensemble de C dans F #, les concepts pourraient être applicables à pratiquement toutes les langues: http://timjones.tw/blog/archive/2014/04/13/writing-a-minic-to-msil -Acompiler-in-fsharp-part-0-introduction – Alejandro
@Alejandro: il est à noter que l'auteur de cet article tente seulement d'expliquer son compilateur spécifique, et cet auteur admet qu'il a déjà lu plusieurs livres techniques sur la compilation avant de commencer. –