Модуль Longident
module Longident: sig .. end
Длинные идентификаторы, используемые в parsetree.
Предупреждение: этот модуль нестабилен и входит в состав compiler-libs.
Чтобы вывести длинный идентификатор, см. Pprintast.longident, используя Format.asprintf для преобразования в строку.
type t =
|
| Lident of
|
|
| Ldot of
|
|
| Lapply of
|
val same : t -> t -> bool
same t t' сравнивает длинные идентификаторы t и t', не учитывая расположение.
val flatten : t -> string list
val unflatten : string list -> t option
Для непустого списка l, unflatten l — это Some lid, где lid — длинный идентификатор, созданный объединением элементов l с помощью Ldot. unflatten [] — это None.
val last : t -> string
val parse : string -> t
Эта функция некорректно работает с идентификаторами, которые не имеют вид "Word.Word.word"; например, она возвращает неверные результаты для инфиксных операторов и расширенных путей модулей.
Если вы хотите создать длинные идентификаторы, представляющие собой список идентификаторов, разделённых точками, функция Longident.unflatten безопаснее и быстрее. Longident.unflatten доступна начиная с OCaml 4.06.0.
Если вы хотите правильно разобрать любой идентификатор, используйте функции для длинных идентификаторов из модуля Parse, в частности Parse.longident. Они доступны начиная с OCaml 4.11 и также обеспечивают корректную поддержку расположения во входных данных.
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/compilerlibref/Longident.html