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