Spec-Zone.ru › Nim 1

rstast

Этот модуль реализует AST для парсера reStructuredText.

Примечание: Импортируйте packages/docutils/rstast для использования этого модуля.

Типы

RstNodeKind = enum
  rnInner, rnHeadline, rnOverline, rnTransition, rnParagraph, rnBulletList,
  rnBulletItem, rnEnumList, rnEnumItem, rnDefList, rnDefItem, rnDefName,
  rnDefBody, rnFieldList, rnField, rnFieldName, rnFieldBody, rnOptionList,
  rnOptionListItem, rnOptionGroup, rnOption, rnOptionString, rnOptionArgument,
  rnDescription, rnLiteralBlock, rnQuotedLiteralBlock, rnLineBlock,
  rnLineBlockItem, rnBlockQuote, rnTable, rnGridTable, rnTableRow,
  rnTableHeaderCell, rnTableDataCell, rnLabel, rnFootnote, rnCitation,
  rnStandaloneHyperlink, rnHyperlink, rnRef, rnDirective, rnDirArg, rnRaw,
  rnTitle, rnContents, rnImage, rnFigure, rnCodeBlock, rnRawHtml, rnRawLatex,
  rnContainer, rnIndex, rnSubstitutionDef, rnGeneralRole, rnSub, rnSup, rnIdx,
  rnEmphasis, rnStrongEmphasis, rnTripleEmphasis, rnInterpretedText,
  rnInlineLiteral, rnSubstitutionReferences, rnSmiley, rnLeaf
возможные типы узлов PRstNode Исходный код Редактировать
PRstNode = ref RstNode
узел RST Исходный код Редактировать
RstNodeSeq = seq[PRstNode]
Исходный код Редактировать
RstNode {...}{.acyclic, final.} = object
  kind*: RstNodeKind         ## the node's kind
  text*: string              ## valid for leafs in the AST; and the title of
                             ## the document or the section
  level*: int                ## valid for some node kinds
  sons*: RstNodeSeq          ## the node's sons
описание узла RST Исходный код Редактировать

Процедуры

proc len(n: PRstNode): int {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc newRstNode(kind: RstNodeKind): PRstNode {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc newRstNode(kind: RstNodeKind; s: string): PRstNode {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc lastSon(n: PRstNode): PRstNode {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc add(father, son: PRstNode) {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc add(father: PRstNode; s: string) {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc addIfNotNil(father, son: PRstNode) {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc renderRstToRst(n: PRstNode; result: var string) {...}{.raises: [Exception],
    tags: [RootEffect].}
преобразует n в строковое представление и добавляет его к result. Исходный код Редактировать
proc renderRstToJson(node: PRstNode): string {...}{.raises: [], tags: [].}
Записывает заданный узел RST в формате JSON, который имеет вид
{
  "kind":string node.kind,
  "text":optional string node.text,
  "level":optional int node.level,
  "sons":optional node array
}
. Исходный код Редактировать

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/rstast.html

Spec-Zone.ru

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