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
35
36
37
38
39
40
41
42
*)
open Sexplib.Std
module NumTok = Ser_numTok
type t =
[%import: Tok.t]
[@@deriving sexp]
type 'c p =
[%import: 'c Tok.p]
[@@deriving sexp_of]
(** GADTS... *)
type 'c _p =
| PKEYWORD of string
| PPATTERNIDENT of string option
| PIDENT of string option
| PFIELD of string option
| PNUMERAL of NumTok.Unsigned.t option
| PSTRING of string option
| PLEFTQMARK
| PBULLET of string option
| PQUOTATION of string
| PEOI
[@@deriving of_sexp]
let p_of_sexp f x = Obj.magic (_p_of_sexp f x)