aboutsummaryrefslogtreecommitdiff
path: root/src/cljcc/exception.clj
blob: 9ea5f31fb19c6207b0122d1d8a48aea2e1863943 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
(ns cljcc.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))))