File: struct.sail

package info (click to toggle)
sail-ocaml 0.19.1%2Bdfsg5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,008 kB
  • sloc: ml: 75,941; ansic: 8,848; python: 1,342; exp: 560; sh: 474; makefile: 218; cpp: 36
file content (19 lines) | stat: -rw-r--r-- 478 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
default Order dec

$[sv_module { stdout = true }]
val "print_bits" : forall 'n. (string, bitvector('n, dec)) -> unit

struct test = {
  A : bitvector(4, dec),
  B : bitvector(2, dec),
}

$[jib_debug]
function main (() : unit) -> unit = {
  x : test = struct { A = 0b1010, B = 0b11 };
  x.A = 0b1000;
  print_bits("x.A = ", x.A);
  x.A = 0b1111;
  print_bits("x.A = ", x.A);
  print_bits("(struct {A = 0b1111, B = 0b11} : test).B = ", (struct {A = 0b1111, B = 0b11} : test).B);
}