Due to the mathematical foundation of ASMs,
all constants with a type (Type
) can have besides the
type-specified (domain) content, an undefined value (undef
).
All type-specific content together with the undef
value is represented in the following Extended Backus–Naur Form (EBNF) definition as Value
.
Constant ::= "@" identifier "=" Type Value
Furthermore, we directly include in the CASM-IR the notion of symbolic (sym
)
values that enable a clear definition of numeric as well as symbolic execution,
whereas the symbolic values are its own domain.
The Listing given below depicts three constant examples –
an integer, a string, and a rule reference constant:
;; integer constant of value ’123’ @c0 = i 123 ;; string constant of value ’foobar’ @c1 = s "foobar" ;; rule reference constant of value ’undef’ @c2 = r < -> v > undef