blob: 412dfffdf65fc88188d264fe421dd12121b80f09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
(ns cljcc.core.exception)
(defn lex-error [{line :line col :col :as data}]
(throw (ex-info
(format "Invalid token at line: %s, col: %s." line col)
(merge {:error/type :lexer} data))))
(defn parser-error [msg data]
(throw (ex-info msg (merge {:error/type :parser} data))))
(defn analyzer-error [msg data]
(throw (ex-info msg (merge {:error/type :analyzer} data))))
(defn tacky-error [msg data]
(throw (ex-info msg (merge {:error/type :tacky} data))))
(defn compiler-error [msg data]
(throw (ex-info msg (merge {:error/type :compiler} data))))
(defn emit-error [msg data]
(throw (ex-info msg (merge {:error/type :emit} data))))
|