package bap-std

  1. Overview
  2. Docs
On This Page
  1. Error conditions
Legend:
Library
Module
Module type
Parameter
Class
Class type

Expression interpreter

  • deprecated

    Use the Primus Framework

constraint 'a = Expi.context

Interaction with environment

method empty : Bil.storage

creates an empty storage. If you want to provide your own implementation of storage, then it is definitely the right place.

method lookup : var -> 'a Expi.r

a variable is looked up in a context

method update : var -> Bil.result -> 'a Expi.u

a variable is bind to a value.

method load : Bil.storage -> addr -> 'a Expi.r

a byte is loaded from a given address

method store : Bil.storage -> addr -> word -> 'a Expi.r

a byte is stored to a a given address

Error conditions

method type_error : type_error -> 'a Expi.r

a given typing error has occurred

method division_by_zero : unit -> 'a Expi.r

we can't do this!

method undefined_addr : addr -> 'a Expi.r

called when storage doesn't contain the addr

method undefined_var : var -> 'a Expi.r

called when context doesn't know the variable