Skip to content
Snippets Groups Projects
Commit ae955275 authored by Dennis Gläser's avatar Dennis Gläser
Browse files

[docgen][code_to_md] rename parse action variables

parent 73cead2d
No related branches found
No related tags found
2 merge requests!1915Feature/modify python examples docgen,!1914[examples] Implement Python-only doc generator using pyparsing
......@@ -34,21 +34,21 @@ def cppRules():
"""
Define a list of rules to apply for cpp source code
"""
header = Suppress(Combine("// -*-" + SkipTo("*******/" + LineEnd()) + "*******/"))
headerGuard = Suppress("#ifndef" + Optional(restOfLine) + LineEnd() + "#define" + Optional(restOfLine))
endHeaderGuard = Suppress("#endif" + Optional(restOfLine))
suppressHeader = Suppress(Combine("// -*-" + SkipTo("*******/" + LineEnd()) + "*******/"))
suppressHeaderGuard = Suppress("#ifndef" + Optional(restOfLine) + LineEnd() + "#define" + Optional(restOfLine))
suppressEndHeaderGuard = Suppress("#endif" + Optional(restOfLine))
# make a code block (possibly containing comments) between [[codeblock]] and [[/codeblock]]
action = createMarkdownCode("cpp")
codeblock = parseTaggedContent("codeblock", action=action)
createCppBlock = createMarkdownCode("cpp")
parseCodeblock = parseTaggedContent("codeblock", action=createCppBlock)
# treat doc and code line
doc = LineStart() + Suppress(ZeroOrMore(" ") + "//" + ZeroOrMore(" ")) + Optional(restOfLine)
code = LineStart() + ~(ZeroOrMore(" ") + "//") + (SkipTo(doc) | SkipTo(StringEnd()))
code.setParseAction(action)
docTransforms = codeblock | doc | code
parseDoc = LineStart() + Suppress(ZeroOrMore(" ") + "//" + ZeroOrMore(" ")) + Optional(restOfLine)
parseCode = LineStart() + ~(ZeroOrMore(" ") + "//") + (SkipTo(parseDoc) | SkipTo(StringEnd()))
parseCode.setParseAction(createCppBlock)
docTransforms = parseCodeblock | parseDoc | parseCode
return [header, headerGuard, endHeaderGuard, docTransforms]
return [suppressHeader, suppressHeaderGuard, suppressEndHeaderGuard, docTransforms]
def transformCode(code, rules):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment