模块 Docstrings

module Docstrings: sig .. end

文档注释

警告:此模块不稳定,并且是 compiler-libs 的一部分。


val init : unit -> unit

(重新)初始化所有文档字符串状态

val warn_bad_docstrings : unit -> unit

发出关于未附加和歧义文档字符串的警告

文档字符串

type docstring 

文档注释

val docstring : string -> Location.t -> docstring

创建文档字符串

val register : docstring -> unit

注册文档字符串

val docstring_body : docstring -> string

获取文档字符串的文本

val docstring_loc : docstring -> Location.t

获取文档字符串的位置

集合函数

这些函数由词法分析器用来将文档字符串与标记的位置关联起来。

val set_pre_docstrings : Lexing.position -> docstring list -> unit

紧接在标记之前的文档字符串

val set_post_docstrings : Lexing.position -> docstring list -> unit

紧接在标记之后的文档字符串

val set_floating_docstrings : Lexing.position -> docstring list -> unit

不紧邻标记的文档字符串

val set_pre_extra_docstrings : Lexing.position -> docstring list -> unit

紧接在当前标记之前标记之后的文档字符串

val set_post_extra_docstrings : Lexing.position -> docstring list -> unit

紧接在当前标记之后标记之前的文档字符串

项目

Docstrings.docs 类型表示附加到项目的文档。

type docs = {
   docs_pre : docstring option;
   docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs : docs -> Parsetree.attributes -> Parsetree.attributes

将项目文档转换为属性并将其添加到属性列表中

val symbol_docs : unit -> docs

获取当前符号的项目文档。这也会标记此文档(用于歧义警告)。

val symbol_docs_lazy : unit -> docs Lazy.t
val rhs_docs : int -> int -> docs

获取两个位置之间符号的项目文档。这也会标记此文档(用于歧义警告)。

val rhs_docs_lazy : int -> int -> docs Lazy.t
val mark_symbol_docs : unit -> unit

标记当前符号的项目文档(用于歧义警告)。

val mark_rhs_docs : int -> int -> unit

标记两个位置之间符号的项目文档为关联(用于歧义警告)

字段和构造函数

Docstrings.info 类型表示附加到字段或构造函数的文档。

type info = docstring option 
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs : info -> Parsetree.attributes -> Parsetree.attributes

将字段信息转换为属性并将其添加到属性列表中

val symbol_info : unit -> info

获取当前符号的字段信息。

val rhs_info : int -> info

获取给定位置符号之后的字段信息。

未附加的注释

Docstrings.text 类型表示未附加到任何内容的文档。

type text = docstring list 
val empty_text : text
val empty_text_lazy : text Lazy.t
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs : text -> Parsetree.attributes -> Parsetree.attributes

将文本转换为属性并将其添加到属性列表中

val symbol_text : unit -> text

获取当前符号之前的文本。

val symbol_text_lazy : unit -> text Lazy.t
val rhs_text : int -> text

获取给定位置符号之前的文本。

val rhs_text_lazy : int -> text Lazy.t

额外文本

可能还有附加的文本附加到块的分隔符(例如 structend)。以下函数获取此文本,这些函数应用于块的内容而不是分隔符。

val symbol_pre_extra_text : unit -> text

获取当前符号之前的附加文本

val symbol_post_extra_text : unit -> text

获取当前符号之后的附加文本

val rhs_pre_extra_text : int -> text

获取给定位置符号之前的附加文本

val rhs_post_extra_text : int -> text

获取给定位置符号之后的附加文本

val rhs_post_text : int -> text

获取给定位置符号之后的文本

module WithMenhir: sig .. end