Jasmin.SyntaxSourceval string_of_swsize_op :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
stringval string_of_swsize_ty :
(Annotations.wsize * [< `WInt of sign | `Word of sign option ]) ->
stringtype 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 ]val string_of_cast :
[< `ToInt of sign option
| `ToWord of Annotations.wsize * [< `WInt of sign | `Word of sign option ] ] ->
stringmodule W = Wsizetype 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 * pexprand ptype_r = | TBool| TInt| TWord of swsize| TArray of psizetype * pexpr| TAlias of Annotations.pidenttype 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_accesstype pinstr_r = | PIArrayInit of Annotations.pidentArrayInit(x);
*)| PIAssign of plvals * peqop * pexpr * pexpr optionx, y += z >> 4 if c;
*)| PIIf of pexpr * pblock * pblock optionif e … else …
| PIFor of Annotations.pident * fordir * pexpr * pexpr * pblockfor i = 0 to N …
| PIWhile of pblock option * pexpr * pblock optionwhile … (x > 0) …
| PIdecl of vardeclsreg u32 x y z;
*)val pp_storage :
[< `Global
| `Inline
| `Reg of [< `Direct | `Pointer of [< `Constant | `Writable ] option ]
| `Stack of [< `Direct | `Pointer of [< `Constant | `Writable ] option ] ] ->
stringtype 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;}type pexec = {pex_name : Annotations.pident;pex_mem : (int_representation * int_representation) list;}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