aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing/tok.ml
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-08-05 19:08:48 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-08-05 19:52:24 +0200
commit467db5040fe2f311f8f5493f89dc8f95647a9a0b (patch)
tree5ebbe4139abc44bbef7362aa860c57711d6dcfd9 /parsing/tok.ml
parent8e3c749e69649fb45750355e464ce7c16a4462c7 (diff)
Uncountably many bullets (+,-,*,++,--,**,+++,...).
Diffstat (limited to 'parsing/tok.ml')
-rw-r--r--parsing/tok.ml7
1 files changed, 7 insertions, 0 deletions
diff --git a/parsing/tok.ml b/parsing/tok.ml
index 0ff94d395..799baeb14 100644
--- a/parsing/tok.ml
+++ b/parsing/tok.ml
@@ -17,6 +17,7 @@ type t =
| INT of string
| STRING of string
| LEFTQMARK
+ | BULLET of string
| EOI
let equal t1 t2 = match t1, t2 with
@@ -28,6 +29,7 @@ let equal t1 t2 = match t1, t2 with
| INT s1, INT s2 -> CString.equal s1 s2
| STRING s1, STRING s2 -> CString.equal s1 s2
| LEFTQMARK, LEFTQMARK -> true
+| BULLET s1, BULLET s2 -> CString.equal s1 s2
| EOI, EOI -> true
| _ -> false
@@ -40,6 +42,7 @@ let extract_string = function
| FIELD s -> s
| INT s -> s
| LEFTQMARK -> "?"
+ | BULLET s -> s
| EOI -> ""
let to_string = function
@@ -51,6 +54,7 @@ let to_string = function
| INT s -> Format.sprintf "INT %s" s
| STRING s -> Format.sprintf "STRING %S" s
| LEFTQMARK -> "LEFTQMARK"
+ | BULLET s -> Format.sprintf "STRING %S" s
| EOI -> "EOI"
let match_keyword kwd = function
@@ -73,6 +77,7 @@ let of_pattern = function
| "INT", s -> INT s
| "STRING", s -> STRING s
| "LEFTQMARK", _ -> LEFTQMARK
+ | "BULLET", s -> BULLET s
| "EOI", _ -> EOI
| _ -> failwith "Tok.of_pattern: not a constructor"
@@ -85,6 +90,7 @@ let to_pattern = function
| INT s -> "INT", s
| STRING s -> "STRING", s
| LEFTQMARK -> "LEFTQMARK", ""
+ | BULLET s -> "BULLET", s
| EOI -> "EOI", ""
let match_pattern =
@@ -98,6 +104,7 @@ let match_pattern =
| "INT", "" -> (function INT s -> s | _ -> err ())
| "STRING", "" -> (function STRING s -> s | _ -> err ())
| "LEFTQMARK", "" -> (function LEFTQMARK -> "" | _ -> err ())
+ | "BULLET", "" -> (function BULLET s -> s | _ -> err ())
| "EOI", "" -> (function EOI -> "" | _ -> err ())
| pat ->
let tok = of_pattern pat in