changed project name from cl-forth to kurt
This commit is contained in:
26
errors.lisp
Normal file
26
errors.lisp
Normal file
@@ -0,0 +1,26 @@
|
||||
(in-package :kurt)
|
||||
|
||||
(defun report-line (line-num line col? &optional (stream t))
|
||||
(format stream "~5a:~a~%" line-num line)
|
||||
(iter (for i from 0 below (+ 6 (if (consp col?)
|
||||
(getf (cdr col?) :col) ;; if token get col
|
||||
col?)))
|
||||
(write-char #\Space stream))
|
||||
(format stream "^~%"))
|
||||
|
||||
(define-condition char-not-closed ()
|
||||
((line :initarg :line :reader line)
|
||||
(col :initarg :col :reader col)
|
||||
(line-num :initarg :line-num :reader line-num))
|
||||
(:report (lambda (condition stream)
|
||||
(format stream "Karakterin kapanış sembolü ' eksik.~%")
|
||||
(report-line (line-num condition) (line condition) (col condition) stream))))
|
||||
|
||||
(defun handle-char-not-closed (line-num line token-or-col)
|
||||
(make-condition 'char-not-closed :line-num line-num :line line :col token-or-col))
|
||||
|
||||
;; (define-condition op-not-implemented (style-warning)
|
||||
;; ((undef-ops :initarg :ops :reader undef-ops))
|
||||
;; (:report (lambda (condition stream)
|
||||
;; (format stream "These ops are not defined in op-case: ~s"
|
||||
;; (undef-ops condition)))))
|
||||
Reference in New Issue
Block a user