Spec-Zone.ru › OCaml

Модуль Build_path_prefix_map

module Build_path_prefix_map: sig .. end

Переписывание путей для воспроизводимых сборок

Предупреждение: этот модуль нестабилен и входит в состав compiler-libs.

См. спецификацию BUILD_PATH_PREFIX_MAP

type path = string 
type path_prefix = string 
type error_message = string 
val encode_prefix : path_prefix -> string
val decode_prefix : string ->       (path_prefix, error_message)       result
type pair = {
target : path_prefix;
source : path_prefix;
}
val encode_pair : pair -> string
val decode_pair : string ->       (pair, error_message)       result
type map = pair option list 
val encode_map : map -> string
val decode_map : string ->       (map, error_message)       result
val rewrite_first : map ->       path -> path option

rewrite_first map path пытается найти в map источник, являющийся префиксом входного значения path. Если это удаётся, он заменяет этот префикс соответствующей целью. Если это не удаётся, он просто возвращает None.

val rewrite_all : map ->       path -> path list

rewrite_all map path находит в map все источники, являющиеся префиксами входного значения path. Для каждого совпавшего источника, в порядке приоритета, он заменяет этот префикс соответствующей целью и добавляет результат в возвращаемый список. Если совпадений нет, он просто возвращает [].

val rewrite : map ->       path -> path

rewrite path использует rewrite_first, чтобы попытаться найти соответствие для пути. Если оно найдено, функция возвращает его, иначе просто возвращает path.

val invert_all : map ->       path -> path list

invert_all map path находит в map все цели, являющиеся префиксами входного значения path. Для каждой совпавшей цели, в порядке приоритета, он заменяет этот префикс соответствующим источником и добавляет результат в возвращаемый список. Если совпадений нет, он просто возвращает [].

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/compilerlibref/Build_path_prefix_map.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API