package jasmin
Compiler for High-Assurance and High-Speed Cryptography
Install
dune-project
Dependency
Authors
Maintainers
Sources
jasmin-compiler-v2025.06.1.tar.bz2
sha256=e92b42fa69da7c730b0c26dacf842a72b4febcaf4f2157a1dc18b3cce1f859fa
doc/jasmin.jasmin/Jasmin/Syntax/index.html
Module Jasmin.Syntax
Source
Source
val string_of_swsize_op :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
string
Source
val string_of_swsize_ty :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
string
Source
type peop2 = [
| `And
| `Or
| `Add of castop
| `Sub of castop
| `Mul of castop
| `Div of sign option * castop
| `Mod of sign option * castop
| `BAnd of castop
| `BOr of castop
| `BXOr of castop
| `ShR of sign option * castop
| `ROR of castop
| `ROL of castop
| `ShL of castop
| `Eq of castop
| `Neq of castop
| `Lt of sign option * castop
| `Le of sign option * castop
| `Gt of sign option * castop
| `Ge of sign option * castop
]
Source
val string_of_cast :
[< `ToInt of sign option
| `ToWord of Annotations.wsize * [< `WInt of sign | `Word of sign option ] ] ->
string
module W = Wsize
Source
type pexpr_r =
| PEParens of pexpr
| PEVar of Annotations.pident
| PEGet of [ `Aligned | `Unaligned ] option * arr_access * swsize L.located option * Annotations.pident * pexpr * pexpr option
| PEFetch of mem_access
| PEpack of svsize * pexpr list
| PEBool of bool
| PEInt of int_representation
| PECall of Annotations.pident * pexpr list
| PECombF of Annotations.pident * pexpr list
| PEPrim of Annotations.pident * pexpr list
| PEOp1 of peop1 * pexpr
| PEOp2 of peop2 * pexpr * pexpr
| PEIf of pexpr * pexpr * pexpr
Source
and ptype_r =
| TBool
| TInt
| TWord of swsize
| TArray of psizetype * pexpr
| TAlias of Annotations.pident
Source
type plvalue_r =
| PLIgnore
| PLVar of Annotations.pident
| PLArray of [ `Aligned | `Unaligned ] option * arr_access * swsize L.located option * Annotations.pident * pexpr * pexpr option
| PLMem of mem_access
Source
type pinstr_r =
| PIArrayInit of Annotations.pident
(*ArrayInit(x);
*)| PIAssign of plvals * peqop * pexpr * pexpr option
(*x, y += z >> 4 if c;
*)| PIIf of pexpr * pblock * pblock option
(*if e
*)…
else…
| PIFor of Annotations.pident * fordir * pexpr * pexpr * pblock
(*for i = 0 to N
*)…
| PIWhile of pblock option * pexpr * pblock option
(*while
*)…
(x > 0)…
| PIdecl of vardecls
(*reg u32 x y z;
*)
Source
val pp_storage :
[< `Global
| `Inline
| `Reg of [< `Direct | `Pointer of [< `Constant | `Writable ] option ]
| `Stack of [< `Direct | `Pointer of [< `Constant | `Writable ] option ] ] ->
string
Source
type pfundef = {
pdf_annot : Annotations.annotations;
pdf_cc : pcall_conv option;
pdf_name : Annotations.pident;
pdf_args : (Annotations.annotations * paramdecls) list;
pdf_rty : (Annotations.annotations * pstotype) list option;
pdf_body : pfunbody;
}
Source
type pexec = {
pex_name : Annotations.pident;
pex_mem : (int_representation * int_representation) list;
}
Source
type pitem =
| PFundef of pfundef
| PParam of pparam
| PGlobal of pglobal
| Pexec of pexec
| Prequire of Annotations.pident option * prequire list
| PNamespace of Annotations.pident * pitem L.located list
| PTypeAlias of Annotations.pident * ptype
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>