diff --git a/sedlex/Sedlex_ppx/.dummy b/sedlex/Sedlex_ppx/.dummy deleted file mode 100644 index e69de29..0000000 diff --git a/sedlex/Sedlex_ppx/Iso/index.html b/sedlex/Sedlex_ppx/Iso/index.html index 6acd601..0ae555d 100644 --- a/sedlex/Sedlex_ppx/Iso/index.html +++ b/sedlex/Sedlex_ppx/Iso/index.html @@ -1,2 +1,2 @@ -Iso (sedlex.Sedlex_ppx.Iso)

Module Sedlex_ppx.Iso

Letters to be used in identifiers, as specified by ISO ....

val tr8876_ident_char : Sedlex_cset.t
\ No newline at end of file +Iso (sedlex.Sedlex_ppx.Iso)

Module Sedlex_ppx.Iso

Letters to be used in identifiers, as specified by ISO ....

val tr8876_ident_char : Sedlex_cset.t
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Ppx_sedlex/StringMap/index.html b/sedlex/Sedlex_ppx/Ppx_sedlex/StringMap/index.html index 75df83b..ba70884 100644 --- a/sedlex/Sedlex_ppx/Ppx_sedlex/StringMap/index.html +++ b/sedlex/Sedlex_ppx/Ppx_sedlex/StringMap/index.html @@ -1,5 +1,5 @@ -StringMap (sedlex.Sedlex_ppx.Ppx_sedlex.StringMap)

Module Ppx_sedlex.StringMap

type key = string
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +StringMap (sedlex.Sedlex_ppx.Ppx_sedlex.StringMap)

Module Ppx_sedlex.StringMap

type key = string
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/sedlex/Sedlex_ppx/Ppx_sedlex/index.html b/sedlex/Sedlex_ppx/Ppx_sedlex/index.html index b1e1d12..10f05a9 100644 --- a/sedlex/Sedlex_ppx/Ppx_sedlex/index.html +++ b/sedlex/Sedlex_ppx/Ppx_sedlex/index.html @@ -1,5 +1,5 @@ -Ppx_sedlex (sedlex.Sedlex_ppx.Ppx_sedlex)

Module Sedlex_ppx.Ppx_sedlex

module Cset = Sedlex_cset
val default_loc : Ppxlib.Location.t
val lident_loc : +Ppx_sedlex (sedlex.Sedlex_ppx.Ppx_sedlex)

Module Sedlex_ppx.Ppx_sedlex

module Cset = Sedlex_cset
val default_loc : Ppxlib.Location.t
val lident_loc : loc:Ppxlib.location -> string -> Ppxlib__.Longident.t Ppxlib.loc
type decision_tree =
  1. | Lte of int * decision_tree * decision_tree
  2. | Table of int * int array
  3. | Return of int
val simplify_decision_tree : decision_tree -> decision_tree
val decision : (int * int * int) list -> decision_tree
val limit : int
val simplify : int -> int -> decision_tree -> decision_tree
val segments_of_partition : Sedlex_cset.t array -> (int * int * int) list
val decision_table : Sedlex_cset.t array -> decision_tree
val appfun : diff --git a/sedlex/Sedlex_ppx/Sedlex/index.html b/sedlex/Sedlex_ppx/Sedlex/index.html index eef6561..b298a9e 100644 --- a/sedlex/Sedlex_ppx/Sedlex/index.html +++ b/sedlex/Sedlex_ppx/Sedlex/index.html @@ -1,2 +1,2 @@ -Sedlex (sedlex.Sedlex_ppx.Sedlex)

Module Sedlex_ppx.Sedlex

type regexp
val chars : Sedlex_cset.t -> regexp
val seq : regexp -> regexp -> regexp
val alt : regexp -> regexp -> regexp
val rep : regexp -> regexp
val plus : regexp -> regexp
val eps : regexp
val compl : regexp -> regexp option
val subtract : regexp -> regexp -> regexp option
val intersection : regexp -> regexp -> regexp option
val compile : regexp array -> ((Sedlex_cset.t * int) array * bool array) array
\ No newline at end of file +Sedlex (sedlex.Sedlex_ppx.Sedlex)

Module Sedlex_ppx.Sedlex

type regexp
val chars : Sedlex_cset.t -> regexp
val seq : regexp -> regexp -> regexp
val alt : regexp -> regexp -> regexp
val rep : regexp -> regexp
val plus : regexp -> regexp
val eps : regexp
val compl : regexp -> regexp option
val subtract : regexp -> regexp -> regexp option
val intersection : regexp -> regexp -> regexp option
val compile : regexp array -> ((Sedlex_cset.t * int) array * bool array) array
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Sedlex_cset/index.html b/sedlex/Sedlex_ppx/Sedlex_cset/index.html index 6014208..c7b009b 100644 --- a/sedlex/Sedlex_ppx/Sedlex_cset/index.html +++ b/sedlex/Sedlex_ppx/Sedlex_cset/index.html @@ -1,2 +1,2 @@ -Sedlex_cset (sedlex.Sedlex_ppx.Sedlex_cset)

Module Sedlex_ppx.Sedlex_cset

include module type of struct include Sedlex_utils.Cset end
type t = private (int * int) list

Character sets are represented as lists of intervals. The intervals must be non-overlapping and not collapsable, and the list must be ordered in increasing order.

val of_list : (int * int) list -> t
val min_code : int
val max_code : int
val empty : t
val any : t
val union : t -> t -> t
val union_list : t list -> t
val difference : t -> t -> t
val intersection : t -> t -> t
val is_empty : t -> bool
val eof : t
val singleton : int -> t
val interval : int -> int -> t
\ No newline at end of file +Sedlex_cset (sedlex.Sedlex_ppx.Sedlex_cset)

Module Sedlex_ppx.Sedlex_cset

include module type of struct include Sedlex_utils.Cset end
type t = private (int * int) list

Character sets are represented as lists of intervals. The intervals must be non-overlapping and not collapsable, and the list must be ordered in increasing order.

val of_list : (int * int) list -> t
val min_code : int
val max_code : int
val empty : t
val any : t
val union : t -> t -> t
val union_list : t list -> t
val difference : t -> t -> t
val intersection : t -> t -> t
val is_empty : t -> bool
val eof : t
val singleton : int -> t
val interval : int -> int -> t
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Unicode/Categories/index.html b/sedlex/Sedlex_ppx/Unicode/Categories/index.html index 3dac920..4473dfe 100644 --- a/sedlex/Sedlex_ppx/Unicode/Categories/index.html +++ b/sedlex/Sedlex_ppx/Unicode/Categories/index.html @@ -1,2 +1,2 @@ -Categories (sedlex.Sedlex_ppx.Unicode.Categories)

Module Unicode.Categories

val cc : Sedlex_cset.t
val cf : Sedlex_cset.t
val cn : Sedlex_cset.t
val co : Sedlex_cset.t
val cs : Sedlex_cset.t
val ll : Sedlex_cset.t
val lm : Sedlex_cset.t
val lo : Sedlex_cset.t
val lt : Sedlex_cset.t
val lu : Sedlex_cset.t
val mc : Sedlex_cset.t
val me : Sedlex_cset.t
val mn : Sedlex_cset.t
val nd : Sedlex_cset.t
val nl : Sedlex_cset.t
val no : Sedlex_cset.t
val pc : Sedlex_cset.t
val pd : Sedlex_cset.t
val pe : Sedlex_cset.t
val pf : Sedlex_cset.t
val pi : Sedlex_cset.t
val po : Sedlex_cset.t
val ps : Sedlex_cset.t
val sc : Sedlex_cset.t
val sk : Sedlex_cset.t
val sm : Sedlex_cset.t
val so : Sedlex_cset.t
val zl : Sedlex_cset.t
val zp : Sedlex_cset.t
val zs : Sedlex_cset.t
val list : (string * Sedlex_cset.t) list
\ No newline at end of file +Categories (sedlex.Sedlex_ppx.Unicode.Categories)

Module Unicode.Categories

val cc : Sedlex_cset.t
val cf : Sedlex_cset.t
val cn : Sedlex_cset.t
val co : Sedlex_cset.t
val cs : Sedlex_cset.t
val ll : Sedlex_cset.t
val lm : Sedlex_cset.t
val lo : Sedlex_cset.t
val lt : Sedlex_cset.t
val lu : Sedlex_cset.t
val mc : Sedlex_cset.t
val me : Sedlex_cset.t
val mn : Sedlex_cset.t
val nd : Sedlex_cset.t
val nl : Sedlex_cset.t
val no : Sedlex_cset.t
val pc : Sedlex_cset.t
val pd : Sedlex_cset.t
val pe : Sedlex_cset.t
val pf : Sedlex_cset.t
val pi : Sedlex_cset.t
val po : Sedlex_cset.t
val ps : Sedlex_cset.t
val sc : Sedlex_cset.t
val sk : Sedlex_cset.t
val sm : Sedlex_cset.t
val so : Sedlex_cset.t
val zl : Sedlex_cset.t
val zp : Sedlex_cset.t
val zs : Sedlex_cset.t
val list : (string * Sedlex_cset.t) list
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Unicode/Properties/index.html b/sedlex/Sedlex_ppx/Unicode/Properties/index.html index 3bea894..0422c9f 100644 --- a/sedlex/Sedlex_ppx/Unicode/Properties/index.html +++ b/sedlex/Sedlex_ppx/Unicode/Properties/index.html @@ -1,2 +1,2 @@ -Properties (sedlex.Sedlex_ppx.Unicode.Properties)

Module Unicode.Properties

val alphabetic : Sedlex_cset.t
val ascii_hex_digit : Sedlex_cset.t
val hex_digit : Sedlex_cset.t
val id_continue : Sedlex_cset.t
val id_start : Sedlex_cset.t
val lowercase : Sedlex_cset.t
val math : Sedlex_cset.t
val other_alphabetic : Sedlex_cset.t
val other_lowercase : Sedlex_cset.t
val other_math : Sedlex_cset.t
val other_uppercase : Sedlex_cset.t
val uppercase : Sedlex_cset.t
val white_space : Sedlex_cset.t
val xid_continue : Sedlex_cset.t
val xid_start : Sedlex_cset.t
val list : (string * Sedlex_cset.t) list
\ No newline at end of file +Properties (sedlex.Sedlex_ppx.Unicode.Properties)

Module Unicode.Properties

val alphabetic : Sedlex_cset.t
val ascii_hex_digit : Sedlex_cset.t
val hex_digit : Sedlex_cset.t
val id_continue : Sedlex_cset.t
val id_start : Sedlex_cset.t
val lowercase : Sedlex_cset.t
val math : Sedlex_cset.t
val other_alphabetic : Sedlex_cset.t
val other_lowercase : Sedlex_cset.t
val other_math : Sedlex_cset.t
val other_uppercase : Sedlex_cset.t
val uppercase : Sedlex_cset.t
val white_space : Sedlex_cset.t
val xid_continue : Sedlex_cset.t
val xid_start : Sedlex_cset.t
val list : (string * Sedlex_cset.t) list
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Unicode/index.html b/sedlex/Sedlex_ppx/Unicode/index.html index 019bd2c..28c9bcc 100644 --- a/sedlex/Sedlex_ppx/Unicode/index.html +++ b/sedlex/Sedlex_ppx/Unicode/index.html @@ -1,2 +1,2 @@ -Unicode (sedlex.Sedlex_ppx.Unicode)

Module Sedlex_ppx.Unicode

val version : string
module Categories : sig ... end
module Properties : sig ... end
\ No newline at end of file +Unicode (sedlex.Sedlex_ppx.Unicode)

Module Sedlex_ppx.Unicode

val version : string
module Categories : sig ... end
module Properties : sig ... end
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/Xml/index.html b/sedlex/Sedlex_ppx/Xml/index.html index 0395dcb..a554ea8 100644 --- a/sedlex/Sedlex_ppx/Xml/index.html +++ b/sedlex/Sedlex_ppx/Xml/index.html @@ -1,2 +1,2 @@ -Xml (sedlex.Sedlex_ppx.Xml)

Module Sedlex_ppx.Xml

Unicode classes from XML

val letter : Sedlex_cset.t
val digit : Sedlex_cset.t
val extender : Sedlex_cset.t
val base_char : Sedlex_cset.t
val ideographic : Sedlex_cset.t
val combining_char : Sedlex_cset.t
val blank : Sedlex_cset.t
\ No newline at end of file +Xml (sedlex.Sedlex_ppx.Xml)

Module Sedlex_ppx.Xml

Unicode classes from XML

val letter : Sedlex_cset.t
val digit : Sedlex_cset.t
val extender : Sedlex_cset.t
val base_char : Sedlex_cset.t
val ideographic : Sedlex_cset.t
val combining_char : Sedlex_cset.t
val blank : Sedlex_cset.t
\ No newline at end of file diff --git a/sedlex/Sedlex_ppx/index.html b/sedlex/Sedlex_ppx/index.html index 7a74174..1920ae6 100644 --- a/sedlex/Sedlex_ppx/index.html +++ b/sedlex/Sedlex_ppx/index.html @@ -1,2 +1,2 @@ -Sedlex_ppx (sedlex.Sedlex_ppx)

Module Sedlex_ppx

module Iso : sig ... end

Letters to be used in identifiers, as specified by ISO ....

module Ppx_sedlex : sig ... end
module Sedlex : sig ... end
module Sedlex_cset : sig ... end
module Unicode : sig ... end
module Xml : sig ... end

Unicode classes from XML

\ No newline at end of file +Sedlex_ppx (sedlex.Sedlex_ppx)

Module Sedlex_ppx

module Iso : sig ... end

Letters to be used in identifiers, as specified by ISO ....

module Ppx_sedlex : sig ... end
module Sedlex : sig ... end
module Sedlex_cset : sig ... end
module Unicode : sig ... end
module Xml : sig ... end

Unicode classes from XML

\ No newline at end of file diff --git a/sedlex/Sedlex_utils/.dummy b/sedlex/Sedlex_utils/.dummy deleted file mode 100644 index e69de29..0000000 diff --git a/sedlex/Sedlex_utils/Cset/index.html b/sedlex/Sedlex_utils/Cset/index.html index dc75989..309565b 100644 --- a/sedlex/Sedlex_utils/Cset/index.html +++ b/sedlex/Sedlex_utils/Cset/index.html @@ -1,2 +1,2 @@ -Cset (sedlex.Sedlex_utils.Cset)

Module Sedlex_utils.Cset

Representation of sets of unicode code points.

type t = private (int * int) list

Character sets are represented as lists of intervals. The intervals must be non-overlapping and not collapsable, and the list must be ordered in increasing order.

val of_list : (int * int) list -> t
val min_code : int
val max_code : int
val empty : t
val any : t
val union : t -> t -> t
val union_list : t list -> t
val difference : t -> t -> t
val intersection : t -> t -> t
val is_empty : t -> bool
val eof : t
val singleton : int -> t
val interval : int -> int -> t
\ No newline at end of file +Cset (sedlex.Sedlex_utils.Cset)

Module Sedlex_utils.Cset

Representation of sets of unicode code points.

type t = private (int * int) list

Character sets are represented as lists of intervals. The intervals must be non-overlapping and not collapsable, and the list must be ordered in increasing order.

val of_list : (int * int) list -> t
val min_code : int
val max_code : int
val empty : t
val any : t
val union : t -> t -> t
val union_list : t list -> t
val difference : t -> t -> t
val intersection : t -> t -> t
val is_empty : t -> bool
val eof : t
val singleton : int -> t
val interval : int -> int -> t
\ No newline at end of file diff --git a/sedlex/Sedlex_utils/index.html b/sedlex/Sedlex_utils/index.html index d6fa8ba..47c2223 100644 --- a/sedlex/Sedlex_utils/index.html +++ b/sedlex/Sedlex_utils/index.html @@ -1,2 +1,2 @@ -Sedlex_utils (sedlex.Sedlex_utils)

Module Sedlex_utils

module Cset : sig ... end

Representation of sets of unicode code points.

\ No newline at end of file +Sedlex_utils (sedlex.Sedlex_utils)

Module Sedlex_utils

module Cset : sig ... end

Representation of sets of unicode code points.

\ No newline at end of file diff --git a/sedlex/Sedlexing/.dummy b/sedlex/Sedlexing/.dummy deleted file mode 100644 index e69de29..0000000 diff --git a/sedlex/Sedlexing/Latin1/index.html b/sedlex/Sedlexing/Latin1/index.html index 6f2aa96..8d4dfff 100644 --- a/sedlex/Sedlexing/Latin1/index.html +++ b/sedlex/Sedlexing/Latin1/index.html @@ -1,2 +1,2 @@ -Latin1 (sedlex.Sedlexing.Latin1)

Module Sedlexing.Latin1

val from_gen : char Gen.t -> lexbuf

Create a lexbuf from a Latin1 encoded stream (ie a stream of Unicode code points in the range 0..255)

val from_channel : Stdlib.in_channel -> lexbuf

Create a lexbuf from a Latin1 encoded input channel. The client is responsible for closing the channel.

val from_string : string -> lexbuf

Create a lexbuf from a Latin1 encoded string.

val lexeme : lexbuf -> string

As Sedlexing.lexeme with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

val sub_lexeme : lexbuf -> int -> int -> string

As Sedlexing.sub_lexeme with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

val lexeme_char : lexbuf -> int -> char

As Sedlexing.lexeme_char with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

\ No newline at end of file +Latin1 (sedlex.Sedlexing.Latin1)

Module Sedlexing.Latin1

val from_gen : char Gen.t -> lexbuf

Create a lexbuf from a Latin1 encoded stream (ie a stream of Unicode code points in the range 0..255)

val from_channel : Stdlib.in_channel -> lexbuf

Create a lexbuf from a Latin1 encoded input channel. The client is responsible for closing the channel.

val from_string : string -> lexbuf

Create a lexbuf from a Latin1 encoded string.

val lexeme : lexbuf -> string

As Sedlexing.lexeme with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

val sub_lexeme : lexbuf -> int -> int -> string

As Sedlexing.sub_lexeme with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

val lexeme_char : lexbuf -> int -> char

As Sedlexing.lexeme_char with a result encoded in Latin1. This function throws an exception InvalidCodepoint if it is not possible to encode the result in Latin1.

\ No newline at end of file diff --git a/sedlex/Sedlexing/Utf16/index.html b/sedlex/Sedlexing/Utf16/index.html index 890e35e..6c460d2 100644 --- a/sedlex/Sedlexing/Utf16/index.html +++ b/sedlex/Sedlexing/Utf16/index.html @@ -1,2 +1,2 @@ -Utf16 (sedlex.Sedlexing.Utf16)

Module Sedlexing.Utf16

type byte_order =
  1. | Little_endian
  2. | Big_endian
val from_gen : char Gen.t -> byte_order option -> lexbuf

Utf16.from_gen s opt_bo creates a lexbuf from an UTF-16 encoded stream. If opt_bo matches with None the function expects a BOM (Byte Order Mark), and takes the byte order as Utf16.Big_endian if it cannot find one. When opt_bo matches with Some bo, bo is taken as byte order. In this case a leading BOM is kept in the stream - the lexer has to ignore it and a `wrong' BOM (0xfffe) will raise Utf16.InvalidCodepoint.

val from_channel : Stdlib.in_channel -> byte_order option -> lexbuf

Works as Utf16.from_gen with an in_channel.

val from_string : string -> byte_order option -> lexbuf

Works as Utf16.from_gen with a string.

val lexeme : lexbuf -> byte_order -> bool -> string

utf16_lexeme lb bo bom as Sedlexing.lexeme with a result encoded in UTF-16 in byte_order bo and starting with a BOM if bom = true.

val sub_lexeme : lexbuf -> int -> int -> byte_order -> bool -> string

sub_lexeme lb pos len bo bom as Sedlexing.sub_lexeme with a result encoded in UTF-16 with byte order bo and starting with a BOM if bom=true

\ No newline at end of file +Utf16 (sedlex.Sedlexing.Utf16)

Module Sedlexing.Utf16

type byte_order =
  1. | Little_endian
  2. | Big_endian
val from_gen : char Gen.t -> byte_order option -> lexbuf

Utf16.from_gen s opt_bo creates a lexbuf from an UTF-16 encoded stream. If opt_bo matches with None the function expects a BOM (Byte Order Mark), and takes the byte order as Utf16.Big_endian if it cannot find one. When opt_bo matches with Some bo, bo is taken as byte order. In this case a leading BOM is kept in the stream - the lexer has to ignore it and a `wrong' BOM (0xfffe) will raise Utf16.InvalidCodepoint.

val from_channel : Stdlib.in_channel -> byte_order option -> lexbuf

Works as Utf16.from_gen with an in_channel.

val from_string : string -> byte_order option -> lexbuf

Works as Utf16.from_gen with a string.

val lexeme : lexbuf -> byte_order -> bool -> string

utf16_lexeme lb bo bom as Sedlexing.lexeme with a result encoded in UTF-16 in byte_order bo and starting with a BOM if bom = true.

val sub_lexeme : lexbuf -> int -> int -> byte_order -> bool -> string

sub_lexeme lb pos len bo bom as Sedlexing.sub_lexeme with a result encoded in UTF-16 with byte order bo and starting with a BOM if bom=true

\ No newline at end of file diff --git a/sedlex/Sedlexing/Utf8/index.html b/sedlex/Sedlexing/Utf8/index.html index 890ee13..441d148 100644 --- a/sedlex/Sedlexing/Utf8/index.html +++ b/sedlex/Sedlexing/Utf8/index.html @@ -1,2 +1,2 @@ -Utf8 (sedlex.Sedlexing.Utf8)

Module Sedlexing.Utf8

val from_gen : char Gen.t -> lexbuf

Create a lexbuf from a UTF-8 encoded stream.

val from_channel : Stdlib.in_channel -> lexbuf

Create a lexbuf from a UTF-8 encoded input channel.

val from_string : string -> lexbuf

Create a lexbuf from a UTF-8 encoded string.

val lexeme : lexbuf -> string

As Sedlexing.lexeme with a result encoded in UTF-8.

val sub_lexeme : lexbuf -> int -> int -> string

As Sedlexing.sub_lexeme with a result encoded in UTF-8.

\ No newline at end of file +Utf8 (sedlex.Sedlexing.Utf8)

Module Sedlexing.Utf8

val from_gen : char Gen.t -> lexbuf

Create a lexbuf from a UTF-8 encoded stream.

val from_channel : Stdlib.in_channel -> lexbuf

Create a lexbuf from a UTF-8 encoded input channel.

val from_string : string -> lexbuf

Create a lexbuf from a UTF-8 encoded string.

val lexeme : lexbuf -> string

As Sedlexing.lexeme with a result encoded in UTF-8.

val sub_lexeme : lexbuf -> int -> int -> string

As Sedlexing.sub_lexeme with a result encoded in UTF-8.

\ No newline at end of file diff --git a/sedlex/Sedlexing/index.html b/sedlex/Sedlexing/index.html index 9e9f265..47c51e7 100644 --- a/sedlex/Sedlexing/index.html +++ b/sedlex/Sedlexing/index.html @@ -1,5 +1,5 @@ -Sedlexing (sedlex.Sedlexing)

Module Sedlexing

Runtime support for lexers generated by sedlex.

This module is roughly equivalent to the module Lexing from the OCaml standard library, except that its lexbuffers handle Unicode code points (OCaml type: Uchar.t in the range 0..0x10ffff) instead of bytes (OCaml type: char).

It is possible to have sedlex-generated lexers work on a custom implementation for lex buffers. To do this, define a module L which implements the start, next, mark and backtrack functions (See the Internal Interface section below for a specification). They need not work on a type named lexbuf: you can use the type name you want. Then, just do in your sedlex-processed source, bind this module to the name Sedlexing (for instance, with a local module definition: let module Sedlexing +Sedlexing (sedlex.Sedlexing)

Module Sedlexing

Runtime support for lexers generated by sedlex.

This module is roughly equivalent to the module Lexing from the OCaml standard library, except that its lexbuffers handle Unicode code points (OCaml type: Uchar.t in the range 0..0x10ffff) instead of bytes (OCaml type: char).

It is possible to have sedlex-generated lexers work on a custom implementation for lex buffers. To do this, define a module L which implements the start, next, mark and backtrack functions (See the Internal Interface section below for a specification). They need not work on a type named lexbuf: you can use the type name you want. Then, just do in your sedlex-processed source, bind this module to the name Sedlexing (for instance, with a local module definition: let module Sedlexing = L in ....

Of course, you'll probably want to define functions like lexeme to be used in the lexers semantic actions.

type lexbuf

The type of lexer buffers. A lexer buffer is the argument passed to the scanning functions defined by the generated lexers. The lexer buffer holds the internal information for the scanners, including the code points of the token currently scanned, its position from the beginning of the input stream, and the current position of the lexer.

exception InvalidCodepoint of int

Raised by some functions to signal that some code point is not compatible with a specified encoding.

exception MalFormed

Raised by functions in the Utf8 and Utf16 modules to report strings which do not comply to the encoding.

Creating generic lexbufs
val create : ?bytes_per_char:(Stdlib.Uchar.t -> int) -> (Stdlib.Uchar.t array -> int -> int -> int) -> diff --git a/sedlex/index.html b/sedlex/index.html index cf95961..6c26c96 100644 --- a/sedlex/index.html +++ b/sedlex/index.html @@ -1,2 +1,2 @@ -index (sedlex.index)

sedlex index

Library sedlex

The entry point of this library is the module: Sedlexing.

Library sedlex.ppx

The entry point of this library is the module: Sedlex_ppx.

Library sedlex.utils

The entry point of this library is the module: Sedlex_utils.

\ No newline at end of file +index (sedlex.index)

sedlex index

Library sedlex

The entry point of this library is the module: Sedlexing.

Library sedlex.ppx

The entry point of this library is the module: Sedlex_ppx.

Library sedlex.utils

The entry point of this library is the module: Sedlex_utils.

\ No newline at end of file