File: conditions.lisp

package info (click to toggle)
acl2 8.6%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: trixie
  • size: 1,111,420 kB
  • sloc: lisp: 17,818,294; java: 125,359; python: 28,122; javascript: 23,458; cpp: 18,851; ansic: 11,569; perl: 7,678; xml: 5,591; sh: 3,976; makefile: 3,833; ruby: 2,633; yacc: 1,126; ml: 763; awk: 295; csh: 233; lex: 197; php: 178; tcl: 49; asm: 23; haskell: 17
file content (126 lines) | stat: -rw-r--r-- 4,957 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
;;;; conditions.lisp -- errors that can be thrown by chipz

(in-package :chipz)

(define-condition chipz-error (simple-error)
  ()
  (:documentation "The base condition of the CHIPZ library.  All
other conditions inherit from this error."))

(define-condition decompression-error (chipz-error)
  ()
  (:documentation "The base condition of all conditions signaled during
decompression."))

(define-condition invalid-format-error (chipz-error)
  ((format :initarg :format :reader invalid-format))
  (:report (lambda (condition stream)
             (format stream "Invalid format ~S"
                     (invalid-format condition))))
  (:documentation "Signaled when an invalid format name is passed to
MAKE-DSTATE, MAKE-INFLATE-STATE, or DECOMPRESS."))

(define-condition invalid-checksum-error (decompression-error)
  ((expected-checksum :initarg :stored :reader expected-checksum)
   (actual-checksum :initarg :computed :reader actual-checksum)
   (kind :initarg :kind :reader checksum-kind))
  (:report (lambda (condition stream)
             (format stream "Invalid ~A checksum, expected ~X, got ~X"
                     (checksum-kind condition)
                     (expected-checksum condition)
                     (actual-checksum condition))))
  (:documentation "Signaled when the checksum of decompressed data does
not match the expected value."))

(define-condition premature-end-of-stream (decompression-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Unexpected EOF")))
  (:documentation "Signaled when FINISH-DSTATE is called on a state that
has not actually reached the end of the input being decompressed."))


;;; Errors related to inflate

(define-condition inflate-error (decompression-error)
  ()
  (:documentation "The base condition of conditions signaled when
decompressing DEFLATE-related formats."))

(define-condition invalid-zlib-header-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Invalid zlib header")))
  (:documentation "Signaled when a zlib header does not pass the
consistency check."))

(define-condition invalid-gzip-header-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Invalid gzip header")))
  (:documentation "Signaled when a gzip header does not have the proper ID."))

(define-condition reserved-block-type-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Invalid deflate block")))
  (:documentation "Signaled when an invalid deflate block is found."))

(define-condition invalid-stored-block-length-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Invalid stored block length")))
  (:documentation "Signaled when a stored block's length does not pass
the consistency check."))

(define-condition code-lengths-bounds-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Code lengths expand out of bounds")))
  (:documentation "Signaled when the code length section of a dynamic block would produce more
code lengths than declared."))

(define-condition code-lengths-start-with-repetition-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Code lengths start with a repetition")))
  (:documentation "Signaled when the code length section of a dynamic block begins with \"repeat
last code\"."))

(define-condition unassigned-huffman-code-error (inflate-error)
  ()
  (:report (lambda (condition stream)
             (declare (ignore condition))
             (format stream "Unassigned Huffman code")))
  (:documentation "Signaled when an unassigned Huffman code is referenced."))

(define-condition illegal-length-code-error (inflate-error)
  ((code :initarg :code :reader illegal-code))
  (:report (lambda (condition stream)
             (format stream "Illegal length code: ~d" (illegal-code condition))))
  (:documentation "Signaled when the illegal length codes 286 or 287 are used."))

(define-condition illegal-distance-code-error (inflate-error)
  ((code :initarg :code :reader illegal-code))
  (:report (lambda (condition stream)
             (format stream "Illegal distance code: ~d" (illegal-code condition))))
  (:documentation "Signaled when the illegal distance codes 30 or 31 are used."))


;;; Errors related to bzip2

(define-condition bzip2-error (decompression-error)
  ()
  (:documentation "The base condition of conditions signaled when
decompressing BZIP2-related formats."))

(define-condition invalid-bzip2-data (bzip2-error)
  ()
  (:documentation "Signaled when invalid bzip2 data is found."))