odin_validate {odin} | R Documentation |
Validate an odin model
Description
Validate an odin model. This function is closer to odin_parse_ than odin_parse because it does not do any quoting of the code. It is primarily intended for use within other applications.
Usage
odin_validate(x, type = NULL, options = NULL)
Arguments
x |
An expression, character vector or filename with the odin code |
type |
An optional string indicating the the type of input -
must be one of |
options |
odin options; see odin_options. The
primary options that affect the parse stage are |
Details
odin_validate
will always return a list with the same
elements:
- success
A boolean,
TRUE
if validation was successful- result
The intermediate representation, as returned by odin_parse_, if the validation was successful, otherwise
NULL
- error
An error object if the validation was unsuccessful, otherwise
NULL
. This may be a classed odin error, in which case it will contain source location information - see the examples for details.- messages
A list of messages, if the validation returned any. At present this is only non-fatal information about unused variables.
Author(s)
Rich FitzJohn
Examples
# A successful validation:
odin::odin_validate(c("deriv(x) <- 1", "initial(x) <- 1"))
# A complete failure:
odin::odin_validate("")
# A more interesting failure
code <- c("deriv(x) <- a", "initial(x) <- 1")
res <- odin::odin_validate(code)
res
# The object 'res$error' is an 'odin_error' object:
res$error
# It contains information that might be used to display to a
# user information about the error:
unclass(res$error)
# Notes are raised in a similar way:
code <- c("deriv(x) <- 1", "initial(x) <- 1", "a <- 1")
res <- odin::odin_validate(code)
res$messages[[1]]