J'apprends le LISP commun en ce moment et j'ai rencontré un énorme barrage routier. J'ai eu une mission que nous devions apprendre à créer un analyseur dans Common LISP. J'ai réussi à tout mettre en œuvre des règles de grammaire à la lexer avec beaucoup d'aide de différentes sources en ligne. Je ne peux d'autre part sembler comprendre comment implémenter une table de symboles.Comment simuler une table de symboles en Common Lisp
C'est ce que j'ai jusqu'ici en ce qui concerne la table de symboles.
(defun symtab-add (state id)
;; *** add symbols to symbol table ***
)
(defun symtab-member (state id)
;; *** look up symbols in symbol table ***
)
(defun symtab-display (state)
(format t "------------------------------------------------------~%")
(format t "Symbol Table is: ~S ~%" (pstate-symtab state))
(format t "------------------------------------------------------~%")
)
Comme vous pouvez le voir ive seulement réussi avec la partie d'affichage, si quelqu'un pouvait me lier un tutoriel ou me donner un exemple de code ou tout simplement me aider avec ce que je serais super reconnaissant.
Tout le code source pour mon affectation: http://www.cs.kau.se/cs/education/courses/dvgc01/LISP/newstart.lsp
Le code est d'ici: http://www.cs.kau.se/cs/education/courses/dvgc01/LISP/newstart.lsp –
"Comment simuler une table de symboles dans le LISP commun" 1) C'est " Common Lisp ", pas" Common LISP "(pas besoin de crier). 2) Comme le souligne Rainer, ce code provient d'ailleurs.Vous devez fournir l'attribution pour le code que vous publiez, et * certainement * ne devrait pas prétendre que c'est le vôtre. 3) Pourquoi "simuler" une table de symboles? Ne voudriez-vous pas en implanter un? Cette formulation suggère qu'une table de symboles n'a pas pu être implémentée dans Common Lisp, ce qui est stupide. –
Oui, c'est effectivement mon devoir, je suis désolé si ce n'était pas clair. Ok donc je veux implémenter une table de symboles (l'affectation est d'analyser un simple programme pascal). Pouvez-vous me donner des indications ou me diriger dans la bonne direction? Comme vous pouvez le voir sur le lien, vous avez envoyé son code inachevé. C'est mon devoir de le finir. Tout est fait sauf pour la table des symboles. – Joo223