package jasmin
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
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.SyntaxSource
Source
val string_of_swsize_op :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
stringSource
val string_of_swsize_ty :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
stringSource
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 ] ] ->
stringmodule W = WsizeSource
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 ] ] ->
stringSource
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)"
>