Je suis en train de concevoir un compilateur en C. Je veux savoir quelle technique je devrais utiliser, de haut en bas ou de bas en haut? J'ai seulement mis en application la priorité d'opérateur en utilisant bottom-up. J'ai appliqué les règles suivantes: Comment implémenter l'analyse?
E:=E+E
E:=E-E
E:=E/E
E:=E*E
E:=E^E
Je veux savoir que je vais le tout de suite? Si je veux inclure if-else, boucles, tableaux, fonctions, ai-je besoin d'implémenter l'analyse syntaxique? Si oui, comment l'implémenter? Tout le monde peut J'ai seulement implémenté la collection de jetons et la priorité des opérateurs. Quelles sont les prochaines étapes?
"Je veux savoir quelle technique utiliser, de haut en bas ou de bas en haut" Cela dépend de votre grammaire. Dans quelle langue implémentez-vous un compilateur? Est-ce que vous écrivez l'analyseur à partir de zéro, ou en utilisant un générateur d'analyseur (dans ce cas, cela déterminera l'approche)? –
peut-être pas la meilleure question jamais, mais j'aime ce que j'ai appris en lisant les réponses – Andrey
La question principale pour la technique générale de compilateur est [Apprendre à écrire un compilateur] (http://stackoverflow.com/q/1669/2509).Vous y trouverez de nombreuses ressources d'introduction. Vous pourriez regarder le tutoriel de Crenshaw. – dmckee