diff --git a/wip-duuqnd/user-side-compiler/symbol-table.lisp b/wip-duuqnd/user-side-compiler/symbol-table.lisp new file mode 100644 index 0000000..d2feced --- /dev/null +++ b/wip-duuqnd/user-side-compiler/symbol-table.lisp @@ -0,0 +1,13 @@ +(in-package #:user-side-compiler) + +(defparameter *symbol-table* (make-hash-table :test #'equalp)) + +(defun find-reference-by-symbol (name) + (gethash name *symbol-table*)) + +(defun add-reference-symbol (name ref) + (declare (type reference ref)) + (setf (gethash name *symbol-table*) ref)) + +(defun clear-symbol-table () + (clrhash *symbol-table*)) diff --git a/wip-duuqnd/user-side-compiler/user-side-compiler.asd b/wip-duuqnd/user-side-compiler/user-side-compiler.asd index 8f4bb76..7e1f7fe 100644 --- a/wip-duuqnd/user-side-compiler/user-side-compiler.asd +++ b/wip-duuqnd/user-side-compiler/user-side-compiler.asd @@ -5,6 +5,7 @@ :components ((:file "package") (:file "reference") + (:file "symbol-table") (:file "transform") (:file "tokenizer") (:file "label")