7
votes

LISP PARSER C ++

Y a-t-il un analyseur LISP existant écrit en C ++? Je veux juste que l'analyseur, pas un interprète complet, mais un interprète pour y aller avec ce serait un avantage.


3 commentaires

Voulez-vous un analyseur pour S-expressions ou pour LISP? Quel lisp? Schème? Lisp commun?


Je cherche un analyseur pour une syntaxe de type LISP, alors je suppose qu'un analyseur pour S-expressions est vraiment ce que je cherche.


Droite, S-Expressions est la syntaxe des données LISP. Les programmes LISP sont écrits en utilisant S-Expressions. Mais toutes les expressions S ne sont pas un programme LISP valide. Donc, LISP a plus de syntaxe sur les expressions s. Voir les définitions de syntaxe dans les normes de LISP et de Scheme communes.


4 Réponses :


6
votes

Lisp est juste une structure d'arbres, n'importe quel analyseur d'arbre parsa Lisp facilement ... vous pouvez essayer celui-ci que Google m'a donné.


4 commentaires

En fait, le LISP que j'ai écrit semble presque exactement comme les arbres d'analyse que j'ai construits dans la classe Compilers.


Vous pouvez analyser facilement un sous-ensemble. Mais la vraie chose implique plus de structures de données que de simples symboles et listes.


Il a mentionné qu'il voulait un parser, pas un interprète complet


@Davidthornley en effet. :) On pourrait dire que LISP est essentiellement un processeur AST qui a des opérations à se modifier. Découvrez les célèbres vidéos 6.001 (SAICP): OCW.MIT.EDU/COURSE/ELLECTRIQUE-Enfrineering-and-Computer-Scie NCE / ...



1
votes

Schéma de poulet est écrit en C, assez proche?


0 commentaires

2
votes

BigLoo pourrait être utile ici.


0 commentaires

1
votes

XCL est une implémentation de LISP commun dont l'exécution est écrite en C ++. Le compilateur est écrit dans Lisp mais il possède un interprète écrit en C ++ utilisé pour la bootstress.


0 commentaires