Est-il possible de créer un AST pour n'importe quel langage de programmation arbitraire ou IR en utilisant C ou C++ seul (sans l'aide d'outils comme YACC et LEX)?AST pour tout langage de programmation arbitraire ou IR
Si oui, comment implémenter l'analyse lexicale et syntaxique? Si ce n'est pas le cas, quels sont les outils qui doivent être augmentés en C ou C++ pour réussir à créer un AST? J'espère que j'ai fait mon doute clair. Si Ma question semble vague ou hors contexte, veuillez indiquer le besoin.
P.S: Je suis actuellement en train de créer l'AST pour le format .ll de la représentation IR du LLVM. Je sais que .ll est dérivé de AST. Mais j'essaie des pratiques d'analyse statique. Donc, je cherche à créer l'AST.
Votre question est plutôt vague. Vous pouvez créer un programme qui crée une arborescence de syntaxe abstraite pour n'importe quel langage de programmation dans n'importe quel langage de programmation. Comment cela est fait exactement est un énorme domaine d'étude en informatique. –
Bien sûr, c'est possible ... C++ est un langage idéal pour implémenter des compilateurs, un AST est un premier pas simple dans cette direction. La question devrait vraiment être sur les bibliothèques disponibles pour démarrer le processus pour vous, mais ce qui convient dépend beaucoup de vos besoins exacts. Voulez-vous implémenter un langage particulier, ou disposez-vous d'un cadre flexible pour définir plusieurs langues? Avez-vous regardé l'esprit de boost? –
@In Silico: Je suis en train de créer l'AST pour le format .ll de la représentation IR du LLVM. Je sais que .ll est dérivé de AST. Mais j'essaie des pratiques d'analyse statique. Donc, je cherche à créer l'AST. – bsoundra