package asli
Install
Dune Dependency
Authors
Maintainers
Sources
md5=f4581fd209256823fa4d569ac96c8cee
sha512=fd4a74294beb9eeeafa80c9224b5dc30f5e5ebde4d53fa601929d283b6ca72154de313874321774914f738ac6f0d640e59452f7d03cb1db7b3a019b48b82e0d4
doc/asli.libASL/LibASL/Eval/index.html
Module LibASL.Eval
Source
ASL evaluator
It is an error to have multiple function definitions with conflicting types. * But, for historical reasons, we still allow multiple definitions and later * definitions override earlier definitions.
Lookup table for IMPLEMENTATION_DEFINED values
Scopes
Basically just a mutable binding
Mutable bindings
Evaluation functions
Evaluate bitslice of instruction opcode
Evaluate instruction decode pattern match
Evaluate list of expressions
Create uninitialized value at given type
- For any scalar type, this is the value VUninitialized.
- For any composite type, all elements are set to uninitialized values
todo: bitvectors are currently set to UNKNOWN because the bitvector representation currently in use cannot track uninitialized bits
Evaluate UNKNOWN at given type
Evaluate pattern match
Evaluate bitslice bounds
Evaluate expression
Evaluate L-expression in write-mode (i.e., this is not a read-modify-write)
Evaluate L-expression in read-modify-write mode.
1. The old value of the L-expression is read. 2. The function 'modify' is applied to the old value 3. The result is written back to the L-expression.
Evaluate list of statements
Evaluate statement
Evaluate call to function or procedure
val eval_funcall :
AST.l ->
Env.t ->
AST.ident ->
Value.value list ->
Value.value list ->
Value.value
Evaluate call to function
val eval_proccall :
AST.l ->
Env.t ->
AST.ident ->
Value.value list ->
Value.value list ->
unit
Evaluate call to procedure
Evaluate instruction decode case
val eval_decode_alt :
AST.l ->
Env.t ->
AST.decode_alt ->
Value.value list ->
Value.value ->
bool
Evaluate instruction decode case alternative
Evaluate instruction encoding
Creating environment from global declarations
Construct environment from global declarations