Я изучаю Common LISP в данный момент, и я столкнулся с огромным препятствием. У меня было задание, чтобы мы научились создавать парсер в Common LISP. Мне удалось реализовать все, начиная с грамматических правил и заканчивая лексером, с помощью помощи из разных источников в Интернете. С другой стороны, я не могу понять, как реализовать таблицу символов.Как имитировать таблицу символов в Common Lisp
Это то, что я имею в отношении таблицы символов.
(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 "------------------------------------------------------~%")
)
Как вы можете видеть ив удалось только со стороны дисплея, если кто-то может связать меня учебник или дать мне пример кода, или просто помочь мне с этим я был бы очень благодарен.
Весь исходный код для моего назначения: http://www.cs.kau.se/cs/education/courses/dvgc01/LISP/newstart.lsp
Код отсюда: http://www.cs.kau.se/cs/education/courses/dvgc01/LISP/newstart.lsp –
«Как имитировать таблицу символов в Common LISP» 1) Common Lisp ", а не" Common LISP "(не нужно кричать). 2) Как указывает Райнер, этот код взят из другого места.Вы должны указать атрибут для кода, который вы публикуете, и * обязательно * не должны утверждать, что он принадлежит вам. 3) Зачем «имитировать» таблицу символов? Разве вы не хотели бы его реализовать? Эта фразировка предполагает, что таблица символов не может быть реализована в Common Lisp, что является глупым. –
Да, это действительно мое задание, извините, если это неясно. Хорошо, поэтому я хочу реализовать таблицу символов (назначение - проанализировать простую программу pascal). Можете ли вы дать мне несколько указателей или указать мне в правильном направлении? Как вы можете видеть по ссылке, вы отправили незавершенный код. Это мое задание закончить. Все делается за исключением таблицы символов. – Joo223