package p4spectec

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Lang.Sl

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'
type atom = Il.atom
val atom_to_yojson : atom -> Yojson.Safe.t
type atom' = Il.atom'
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'
type nottyp = Il.nottyp
val nottyp_to_yojson : nottyp -> Yojson.Safe.t
type nottyp' = Il.nottyp'
type deftyp = Il.deftyp
val deftyp_to_yojson : deftyp -> Yojson.Safe.t
type deftyp' = Il.deftyp'
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
type value = Il.value
val value_to_yojson : value -> Yojson.Safe.t
type value' = Il.value'
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'
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'
type tparam = Il.tparam
val tparam_to_yojson : tparam -> Yojson.Safe.t
type tparam' = Il.tparam'
and param' =
  1. | ExpP of typ * exp
  2. | DefP of id * tparam list * param list * typ
val param_to_yojson : param -> Yojson.Safe.t
val param'_to_yojson : param' -> Yojson.Safe.t
type targ = Il.targ
val targ_to_yojson : targ -> Yojson.Safe.t
type targ' = Il.targ'
type arg = Il.arg
val arg_to_yojson : arg -> Yojson.Safe.t
type arg' = Il.arg'
and dangle = bool
and holdcase =
  1. | BothH of block * block
  2. | HoldH of block * dangle
  3. | NotHoldH of block * dangle
and case = guard * block
and guard =
  1. | BoolG of bool
  2. | CmpG of cmpop * optyp * exp
  3. | SubG of typ
  4. | MatchG of pattern
  5. | MemG of exp
and iid = int
and inote = {
  1. iid : iid;
}
and instr' =
  1. | IfI of exp * iterexp list * block * dangle
  2. | HoldI of id * notexp * iterexp list * holdcase
  3. | CaseI of exp * case list * dangle
  4. | GroupI of id * rel_signature * exp list * block
  5. | LetI of exp * exp * iterinstr list * block
  6. | RuleI of id * notexp * Hints.Input.t * iterinstr list * block
  7. | ResultI of rel_signature * exp list
  8. | ReturnI of exp
  9. | DebugI of exp * instr
and block = instr list
and elseblock = instr list
and iterinstr = Il.iterprem
and hint = El.hint
and rel_signature = nottyp * Hints.Input.t
val arg'_to_yojson : arg' -> Yojson.Safe.t
val dangle_to_yojson : dangle -> Yojson.Safe.t
val holdcase_to_yojson : holdcase -> Yojson.Safe.t
val case_to_yojson : case -> Yojson.Safe.t
val guard_to_yojson : guard -> Yojson.Safe.t
val iid_to_yojson : iid -> Yojson.Safe.t
val inote_to_yojson : inote -> Yojson.Safe.t
val instr_to_yojson : instr -> Yojson.Safe.t
val instr'_to_yojson : instr' -> Yojson.Safe.t
val block_to_yojson : block -> Yojson.Safe.t
val elseblock_to_yojson : elseblock -> Yojson.Safe.t
val iterinstr_to_yojson : iterinstr -> Yojson.Safe.t
val hint_to_yojson : hint -> Yojson.Safe.t
val rel_signature_to_yojson : rel_signature -> Yojson.Safe.t
type externrel = id * rel_signature * exp list * hint list
val externrel_to_yojson : externrel -> Yojson.Safe.t
type rel = id * rel_signature * exp list * block * elseblock option * hint list
val rel_to_yojson : rel -> Yojson.Safe.t
type externfunc = id * tparam list * param list * typ * hint list
val externfunc_to_yojson : externfunc -> Yojson.Safe.t
type builtinfunc = id * tparam list * param list * typ * hint list
val builtinfunc_to_yojson : builtinfunc -> Yojson.Safe.t
type tablerow = exp list * exp * block
val tablerow_to_yojson : tablerow -> Yojson.Safe.t
type tablefunc = id * param list * typ * tablerow list * hint list
val tablefunc_to_yojson : tablefunc -> Yojson.Safe.t
type definedfunc = id * tparam list * param list * typ * block * elseblock option * hint list
val definedfunc_to_yojson : definedfunc -> Yojson.Safe.t
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 externrel
  5. | RelD of rel
  6. | ExternDecD of externfunc
  7. | BuiltinDecD of builtinfunc
  8. | TableDecD of tablefunc
  9. | FuncDecD of definedfunc
val def_to_yojson : def -> Yojson.Safe.t
val def'_to_yojson : def' -> Yojson.Safe.t
type spec = def list
val spec_to_yojson : spec -> Yojson.Safe.t
module Eq : sig ... end
module Free : sig ... end
module Print : sig ... end