module BatUCharParser:Parsing unicode textsig..end
This module defines common functions for parsing Unicode
texts. These functions are meant to be used in conjunction with
the ParserCo module.
Note As ParserCo, this module is still very rough and needs testing.
Author(s): David Teller
typeposition =BatCharParser.position= {
|
offset : |
(* | Offset on the line (starting at 0) | *) |
|
line : |
(* | Line number (starting at 0) | *) |
val advance : BatCamomile.UChar.t -> position -> position
advance c p returns a new position advanced by one char. If c is '\r' or '\n',
the result is {offset = 0; line = p.line + 1}. Other wise, the result is
{offset = p.offset + 1; line = p.line}.
val source_of_rope : BatRope.t ->
(BatCamomile.UChar.t, position) BatParserCo.Source.tval source_of_enum : BatCamomile.UChar.t BatEnum.t ->
(BatCamomile.UChar.t, position) BatParserCo.Source.tval parse : (BatCamomile.UChar.t, 'a, position) BatParserCo.t ->
BatRope.t -> ('a, position BatParserCo.report) BatStd.resultval char : BatCamomile.UChar.t ->
(BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval none_of : BatCamomile.UChar.t list ->
(BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tParserCo.none_of, just with improved error message.val not_char : BatCamomile.UChar.t ->
(BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tnone_of.val string : string ->
(BatCamomile.UChar.t, string, position) BatParserCo.tval rope : BatRope.t ->
(BatCamomile.UChar.t, BatRope.t, position) BatParserCo.tval ustring : BatUTF8.t ->
(BatCamomile.UChar.t, BatUTF8.t, position) BatParserCo.tval case_char : BatCamomile.UChar.t ->
(BatCamomile.UChar.t, BatUTF8.t, position) BatParserCo.tchar, but case-insensitiveval case_string : string ->
(BatCamomile.UChar.t, string, position) BatParserCo.tstring, but case-insensitiveval case_ustring : BatUTF8.t ->
(BatCamomile.UChar.t, BatUTF8.t, position) BatParserCo.tustring, but case-insensitiveval case_rope : BatRope.t ->
(BatCamomile.UChar.t, BatRope.t, position) BatParserCo.trope, but case-insensitiveval newline : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval whitespace : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval uppercase : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval lowercase : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval letter : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval digit : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.tval hex : (BatCamomile.UChar.t, BatCamomile.UChar.t, position)
BatParserCo.t