blob: 7ece1ad851b21ae59adbb7c7dd7614e77a002d77 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/**************************************************************************/
/* */
/* OCaml */
/* */
/* KC Sivaramakrishnan, Indian Institute of Technology, Madras */
/* Stephen Dolan, University of Cambridge */
/* */
/* Copyright 2019 Indian Institute of Technology, Madras */
/* Copyright 2019 University of Cambridge */
/* */
/* All rights reserved. This file is distributed under the terms of */
/* the GNU Lesser General Public License version 2.1, with the */
/* special exception on linking described in the file LICENSE. */
/* */
/**************************************************************************/
type t =
#define DOMAIN_STATE(type, name) | Domain_##name
#include "domain_state.tbl"
#undef DOMAIN_STATE
let idx_of_field =
let curr = 0 in
#define DOMAIN_STATE(type, name) \
let idx__##name = curr in \
let curr = curr + 1 in
#include "domain_state.tbl"
#undef DOMAIN_STATE
let _ = curr in
function
#define DOMAIN_STATE(type, name) \
| Domain_##name -> idx__##name
#include "domain_state.tbl"
#undef DOMAIN_STATE
|