module Longident:sig
..end
长标识符,用于语法树。
警告:此模块不稳定,属于 compiler-libs 部分。
要打印长标识符,请参见 Pprintast.longident
,使用 Format.asprintf
转换为字符串。
type
t =
| |
Lident of |
| |
Ldot of |
| |
Lapply of |
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 起可用,并提供适当的输入位置支持。