-1

私は Lisp を初めて使用するので、ここで何か単純なものが欠けていると思います。試してみたいコードをオンラインで見つけましたが、defgrammar マクロを使用しています。それを自分のコード ファイルに書き込んで、Web から正確にコピーして、保存、読み込みを開始すると、次のように表示されます (ファイル名は省略されています)。

;; Loading file ...
*** - EVAL: undefined function DEFGRAMMAR

循環リストを印刷したり、アドオンやインストールする必要があるものなど、反転する必要がある変数があると思いますが、何を探しているのかよくわかりません。助言がありますか?

ちなみにGNU CLisp 2.49を使っています。

私が使用しようとしているコードは次のとおりです。

(load "rdp")
(use-package "COM.INFORMATIMAGO.RDP")
(defgrammar binary-tree
:terminals ((label   "[^(),][^(),]*"))
:start tree
:rules ((--> tree
             (opt node)
             :action (if (null $1)
                         (make-empty-binary-tree)
                         $1)) ; it's identity, but make-empty-binary-tree
                                    ; could be defined otherwise.
        (--> node
             label (opt children)
             :action (make-binary-tree :label (read-from-string (second $1))
                                       :left (first $2) :right (second $2)))
        (--> children
             "(" tree "," tree ")"
             :action (list $2 $4))))


(defun binary-tree-from-string (string)
  (parse-binary-tree string))

それを見ると、「rdp」が必要だと思いますか?

4

1 に答える 1

0

遊びたいコードは何ですか、ここに貼り付けてもらえますか? defgrammar組み込み関数ではありません。関数の定義を見つける必要がありdefgrammarます。最初にロードしてから、例を再評価してください。

于 2013-06-28T02:25:19.183 に答える