package lustre-v6

  1. Overview
  2. Docs

Time-stamp: <modified the 10/07/2017 (at 15:57) by Erwan Jahier>

An action is an intermediary data type that is used to translate expressions into Soc.gao. It is basically a clocked Soc.atomic_operation with arguments.

The idea is that each expression is translated into one or several actions. And those clocks are then translated into guards, so that each action is translated into a gao.

A more natural Module to define that type in would have been Soc, but that module could be shared with other front-ends (e.g., heptagon or lucid), and I prefer that module not to depend on

  • such a cutting (expr -> action -> gao)
  • The Eff.clock name (could have been a module parameter though).
type rhs = Soc.var_expr list
type lhs = Soc.var_expr list
val to_string : t -> string
val to_string_msg : t -> string