Error Handling for Parsing and Validation #
This file implements error handling for the parsers and the validator.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
The type of errors used in the certificate parser and checker.
- invalidId
(T : IndexType)
(Eᵢ : ℕ)
: Error
The certificate is invalid because there is no identifier
Eᵢfor typeT. - invalidIds
(T : IndexType)
(ids : List ℕ)
: Error
The certificate is invalid because the given identifers are invalid for type
T. - unexpectedId
(T : IndexType)
(expected found : ℕ)
: Error
The certificate is invalid because some id in the certificat did not match the expected id.
- unexpected
(T : IndexType)
(Eᵢ : ℕ)
(expected found : String)
: Error
The certificate is invalid because the expression with
Eᵢwas used when an expression with a different format was expected. - notSubset (T : IndexType) (E1ᵢ E2ᵢ : ℕ) : Error
- unsupportedB4 (R R' : StateSetFormalism) : Error
- noUnsolvability : Error
- bddError
(path : System.FilePath)
(e : IO.Error)
: Error
An error occured while parsing the given bdd file.
- parseUnexpected
(s : String)
(pos : String.Pos.Raw)
: Error
An unexpected character was found at the given position while parsing the string
s. - addMessage
(e : Error)
(pos : Option (String × String.Pos.Raw))
(msg : String)
: Error
Add an error message to the error
e, with the possibility of specifiying the position in case of a parsing error.
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- Validator.Error.instToFormat = { format := Validator.Error.format✝ }
@[reducible, inline]
Equations
- Validator.Result α p = Except Validator.Error { a : α // p a }
Instances For
@[reducible, inline]
Equations
- Validator.ResultProp p = Validator.Result Unit fun (x : Unit) => p
Instances For
Equations
- Validator.withErrorMessage none x✝ = x✝
- Validator.withErrorMessage (some msg) x✝ = tryCatch x✝ fun (e : Validator.Error) => throw (e.addMessage none msg)