(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************)
(* Type of dictionaries *)
type ttree
val empty_ttree : ttree
(* Add a string with some translation in dictionary *) val ttree_add : ttree -> string -> string -> ttree
(* Remove a translation from a dictionary: returns an equal dictionary
if the word not present *) val ttree_remove : ttree -> string -> ttree
(* Translate a string *) val translate : string -> stringoption
(* Sublexer automaton *)
(* The sublexer buffers the chars it receives; if after some time, it recognizesthatasequenceofcharshasatranslationinthe
current dictionary, it replaces the buffer by the translation *)
(* Received chars can come with a "tag" (usually made from informationsfromtheglobalizationfile).Asequenceofcharscan beconsideredawordonly,ifallcharshavethesame"tag".Rules forcuttingwordsarethefollowing:
(* Warning: do not output anything on output channel in between a call
to [output_tagged_*] and [flush_sublexer]!! *)
type out_function = bool(* needs escape *) -> bool(* it is a symbol, not a pure ident *) ->
Index.index_entry option(* the index type of the token if any *) -> string -> unit
(* This must be initialized before calling the sublexer *) val token_tree : ttree refref val outfun : out_function ref
(* Process an ident part that might be a symbol part *) val output_tagged_ident_string : string -> unit
(* Process a non-ident char (possibly equipped with a tag) *) val output_tagged_symbol_char : Index.index_entry option -> char -> unit
(* Flush the buffered content of the lexer using [outfun] *) val flush_sublexer : unit -> unit
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet am 2026-09-29)
¤
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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.