package p4spectec

  1. Overview
  2. Docs
P4-SpecTec: A mechanization toolchain for the P4 Programming Language

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.1.2.tar.gz
md5=1a3bc0a385fe1ecf403c019f49aa6de6
sha512=5d20b5821f33e2a3a5419b208606f27c01511994c2b3b1e1cdf4c077056dfd0aa81682af0720e1060ee2bfb0341918fcc4c53159820205a2bc32b725e5c1a714

doc/p4spectec.lang/Lang/Al/index.html

Module Lang.Al

type num = Il.num
val num_to_yojson : num -> Yojson.Safe.t
type text = Il.text
val text_to_yojson : text -> Yojson.Safe.t
type id = Il.id
val id_to_yojson : id -> Yojson.Safe.t
type id' = Il.id'
val id'_to_yojson : id' -> Yojson.Safe.t
type atom = Il.atom
val atom_to_yojson : atom -> Yojson.Safe.t
type atom' = Il.atom'
val atom'_to_yojson : atom' -> Yojson.Safe.t
type mixop = Il.mixop
val mixop_to_yojson : mixop -> Yojson.Safe.t
type iter = Il.iter
val iter_to_yojson : iter -> Yojson.Safe.t
type var = Il.var
val var_to_yojson : var -> Yojson.Safe.t
type typ = Il.typ
val typ_to_yojson : typ -> Yojson.Safe.t
type typ' = Il.typ'
val typ'_to_yojson : typ' -> Yojson.Safe.t
type nottyp = Il.nottyp
val nottyp_to_yojson : nottyp -> Yojson.Safe.t
type nottyp' = Il.nottyp'
val nottyp'_to_yojson : nottyp' -> Yojson.Safe.t
type deftyp = Il.deftyp
val deftyp_to_yojson : deftyp -> Yojson.Safe.t
type deftyp' = Il.deftyp'
val deftyp'_to_yojson : deftyp' -> Yojson.Safe.t
type typfield = Il.typfield
val typfield_to_yojson : typfield -> Yojson.Safe.t
type typcase = Il.typcase
val typcase_to_yojson : typcase -> Yojson.Safe.t
type vid = Il.vid
type vnote = Il.vnote
val vnote_to_yojson : vnote -> Yojson.Safe.t
type value = Il.value
val value_to_yojson : value -> Yojson.Safe.t
type value' = Il.value'
val value'_to_yojson : value' -> Yojson.Safe.t
type valuefield = Il.valuefield
val valuefield_to_yojson : valuefield -> Yojson.Safe.t
type valuecase = Il.valuecase
val valuecase_to_yojson : valuecase -> Yojson.Safe.t
type numop = Il.numop
val numop_to_yojson : numop -> Yojson.Safe.t
type unop = Il.unop
val unop_to_yojson : unop -> Yojson.Safe.t
type binop = Il.binop
val binop_to_yojson : binop -> Yojson.Safe.t
type cmpop = Il.cmpop
val cmpop_to_yojson : cmpop -> Yojson.Safe.t
type optyp = Il.optyp
val optyp_to_yojson : optyp -> Yojson.Safe.t
type exp = Il.exp
val exp_to_yojson : exp -> Yojson.Safe.t
type exp' = Il.exp'
val exp'_to_yojson : exp' -> Yojson.Safe.t
type notexp = Il.notexp
val notexp_to_yojson : notexp -> Yojson.Safe.t
type iterexp = Il.iterexp
val iterexp_to_yojson : iterexp -> Yojson.Safe.t
type pattern = Il.pattern
val pattern_to_yojson : pattern -> Yojson.Safe.t
type path = Il.path
val path_to_yojson : path -> Yojson.Safe.t
type path' = Il.path'
val path'_to_yojson : path' -> Yojson.Safe.t
type param = Il.param
val param_to_yojson : param -> Yojson.Safe.t
type param' = Il.param'
val param'_to_yojson : param' -> Yojson.Safe.t
type tparam = Il.tparam
val tparam_to_yojson : tparam -> Yojson.Safe.t
type tparam' = Il.tparam'
val tparam'_to_yojson : tparam' -> Yojson.Safe.t
type arg = Il.arg
val arg_to_yojson : arg -> Yojson.Safe.t
type arg' = Il.arg'
val arg'_to_yojson : arg' -> Yojson.Safe.t
type targ = Il.targ
val targ_to_yojson : targ -> Yojson.Safe.t
type targ' = Il.targ'
val targ'_to_yojson : targ' -> Yojson.Safe.t
type prem = Il.prem
val prem_to_yojson : prem -> Yojson.Safe.t
type prem' = Il.prem'
val prem'_to_yojson : prem' -> Yojson.Safe.t
type iterprem = Il.iterprem
and rulematch = exp list * exp list * prem list
and rulepath = id * prem list * exp list
and rulegroup' = id * rulematch * rulepath list
and elsegroup' = id * rulematch * rulepath
val iterprem_to_yojson : iterprem -> Yojson.Safe.t
val rulematch_to_yojson : rulematch -> Yojson.Safe.t
val rulepath_to_yojson : rulepath -> Yojson.Safe.t
val rulegroup_to_yojson : rulegroup -> Yojson.Safe.t
val rulegroup'_to_yojson : rulegroup' -> Yojson.Safe.t
val elsegroup_to_yojson : elsegroup -> Yojson.Safe.t
val elsegroup'_to_yojson : elsegroup' -> Yojson.Safe.t
type clause = Il.clause
type clause' = Il.clause'
type elseclause = Il.elseclause
type elseclause' = Il.elseclause'
and tablerow' = exp list * arg list * exp * prem list
type hint = El.hint
and def' =
  1. | ExternTypD of id * hint list
  2. | TypD of id * tparam list * deftyp * hint list
  3. | VarD of id * typ * hint list
  4. | ExternRelD of id * nottyp * Hints.Input.t * hint list
  5. | RelD of id * nottyp * Hints.Input.t * rulegroup list * elsegroup option * hint list
  6. | ExternDecD of id * tparam list * param list * typ * hint list
  7. | BuiltinDecD of id * tparam list * param list * typ * hint list
  8. | TableDecD of id * param list * typ * tablerow list * hint list
  9. | FuncDecD of id * tparam list * param list * typ * clause list * elseclause option * hint list
type spec = def list
module Eq : sig ... end
module Free : sig ... end
module Fresh : sig ... end
module Var : sig ... end
module Print : sig ... end
module Walk : sig ... end