aboutsummaryrefslogtreecommitdiff
path: root/lib/qparser/lexer.mli
blob: 299fa46db3f7fc971dafcee3cee7c08965bc56f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(** Provide a lexer for the langage. The function [main] read the source and
    identify the next to token to give to the parser.

    Personal note: parsing the QSP is really complicated. The language was
    designed for regex and I have to twist the lexer in order to get something
    working. *)

exception EOF
exception UnclosedQuote
exception LexError of string

val discard : Lexbuf.t -> unit
(** Discard the remaining element in the location until the end of this one.
    Used in case of unrecoverable error *)

val main : Lexbuf.t -> Tokens.token
(** Main entry point. This function is called after each token returned *)