aboutsummaryrefslogtreecommitdiff
path: root/gramlib/plexing.ml
blob: fce5445ad8c24bf6b8bdb4cdcdd2766dbf213894 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(* camlp5r *)
(* plexing.ml,v *)
(* Copyright (c) INRIA 2007-2017 *)

type pattern = string * string

type location_function = int -> Loc.t
type 'te lexer_func = char Stream.t -> 'te Stream.t * location_function

type 'te lexer =
  { tok_func : 'te lexer_func;
    tok_using : pattern -> unit;
    tok_removing : pattern -> unit;
    tok_match : pattern -> 'te -> string;
    tok_text : pattern -> string;
  }