diff --git a/wip-duuqnd/user-side-compiler/asm-function.lisp b/wip-duuqnd/user-side-compiler/asm-function.lisp index 90e8e23..f1aa905 100644 --- a/wip-duuqnd/user-side-compiler/asm-function.lisp +++ b/wip-duuqnd/user-side-compiler/asm-function.lisp @@ -27,6 +27,7 @@ asm-function (progn (cerror "Create dummy function with placeholder address." - "Tried to transform token into non-existent function ~A." - (name token)) + 'missing-function-error + :format-control "~A" + :format-arguments (list (name token))) (add-asm-function (name token) #xC0FE))))) diff --git a/wip-duuqnd/user-side-compiler/error-handling.lisp b/wip-duuqnd/user-side-compiler/error-handling.lisp index 4bfc669..ed4e95c 100644 --- a/wip-duuqnd/user-side-compiler/error-handling.lisp +++ b/wip-duuqnd/user-side-compiler/error-handling.lisp @@ -38,6 +38,9 @@ (define-condition tokenizer-error (usc-error) ((%context-string :initform "Tokenizing error:"))) +(define-condition missing-function-error (usc-error) + ((%context-string :initform "Non-existent function (TODO nicer error for this):"))) + (define-condition parser-error (usc-error) ((%context-string :initform "Syntax error:")))