Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Roqc/gramlib/   (Beweissystem des Inria Version 9.1.0©)  Datei vom 15.8.2025 mit Größe 3 kB image not shown  

Quellcode-Bibliothek stream.mli   Sprache: SML

 
(**************************************************************************)
(*                                                                        *)
(*                                 OCaml                                  *)
(*                                                                        *)
(*         Daniel de Rauglaudre, projet Cristal, INRIA Rocquencourt       *)
(*                                                                        *)
(*   Copyright 1997 Institut National de Recherche en Informatique et     *)
(*     en Automatique.                                                    *)
(*                                                                        *)
(*   All rights reserved.  This file is distributed under the terms of    *)
(*   the GNU Lesser General Public License version 2.1, with the          *)
(*   special exception on linking described in the file LICENSE.          *)
(*                                                                        *)
(**************************************************************************)

(** Streams and parsers. *)

type ('e,'a) t
(** The type of streams holding values of type ['a].
    Producing a new value needs an environment ['e]. *)


exception Failure
(** Raised by streams when trying to access beyond their end. *)

(** {1 Stream builders} *)

val from : ?offset:int -> ('e -> 'option) -> ('e,'a) t
(** [Stream.from f] returns a stream built from the function [f]. To
    create a new stream element, the function [f] is called. The user
    function [f] must return either [Some <value>] for a value or
    [None] to specify the end of the stream. [offset] will initialize
    the stream [count] to start with [offset] consumed items, which is
    useful for some uses cases such as parsing resumption.
*)


val empty : unit -> ('e,'a) t
(** Return the stream holding the elements of the list in the same
   order. *)


val of_string : ?offset:int -> string -> (unit,char) t
(** Return the stream of the characters of the string parameter. If
    set. [offset] parameter is similar to [from]. *)


val of_channel : in_channel -> (unit,char) t
(** Return the stream of the characters read from the input channel. *)

(** {1 Predefined parsers} *)

val next : 'e -> ('e,'a) t -> 'a
(** Return the first element of the stream and remove it from the
   stream.
   @raise Stream.Failure if the stream is empty. *)


val is_empty : 'e -> ('e,'a) t -> bool
(** Return [true] if the stream is empty, else [false]. *)


(** {1 Useful functions} *)

val peek : 'e -> ('e,'a) t -> 'option
(** Return [Some] of "the first element" of the stream, or [None] if
   the stream is empty. *)


val junk : 'e -> ('e,'a) t -> unit
(** Remove the first element of the stream, possibly unfreezing
   it before. *)


val count : ('e,'a) t -> int
(** Return the current count of the stream elements, i.e. the number
   of the stream elements discarded. *)


val npeek : 'e -> int -> ('e,'a) t -> 'list
(** [npeek e n] returns the list of the [n] first elements of
   the stream, or all its remaining elements if less than [n]
   elements are available. *)


val nth : 'e -> int -> ('e,'a) t -> 'a

val njunk : 'e -> int -> ('e,'a) t -> unit

(**/**)

100%


¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.32Bemerkung:  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Die farbliche Syntaxdarstellung ist noch experimentell.

Die farbliche Syntaxdarstellung ist noch experimentell.