Tu2Html¶
Converts an initial translation unit to HTML.
TODO: For making anchors in the TU HTML that the conditional include graph can link to. If we put an <a name=”...” on every line most browsers can not handle that many. What we could do here is to keep a copy of the conditional include stack and for each token see if it has changed (like the file stack). If so that write a marker that the conditional graph can later link to.
-
cpip.Tu2Html.
FILE_SHIFT_ACTIONS
= ('Starting', 'Holding', 'Back in', 'Ending')¶ State changes
-
cpip.Tu2Html.
_adjustFileStack
(theS, lexStack, theFileStack, theIntId)¶ Adjust the file stacks and write to the stream.
<insert documentation for function>
Parameters: - theS (
cpip.util.XmlWrite.XhtmlStream
) – HTML stream. - lexStack (
list([str])
) –???
- theFileStack (
list([]), list([str])
) –???
- theIntId (
int
) –???
Returns: int
–theIntId
- theS (
-
cpip.Tu2Html.
_writeFileName
(theS, lenIndent, theFileStack, theAction, theFile, theIntId)¶ Parameters: - theS (
cpip.util.XmlWrite.XhtmlStream
) – HTML stream. - lenIndent (
int
) – Size of indent. - theFileStack (
list([str])
) – File stack. - theAction (
str
) – One of('Starting', 'Holding', 'Back in', 'Ending')
- theFile (
str
) – File ID such as a path. - theIntId (
int
) –???
Returns: int
–theIntId
- theS (
-
cpip.Tu2Html.
linkToIndex
(theS, theIdxPath)¶ Write a link to the index.
Parameters: - theS (
cpip.util.XmlWrite.XhtmlStream
) – HTML stream. - theIdxPath (
str
) – Path to the index.
Returns: NoneType
- theS (
-
cpip.Tu2Html.
processTuToHtml
(theLex, theHtmlPath, theTitle, theCondLevel, theIdxPath, incItuAnchors=True)¶ Processes the PpLexer and writes the tokens to the HTML file.
Parameters: - theLex (
cpip.core.PpLexer.PpLexer
) – The lexer. - theHtmlPath (
str
) – The path to the HTML file to write. - theTitle (
str
) – A string to go into the<title>
element. - theCondLevel (
int
) – The Conditional level to pass totheLex.ppTokens()
- theIdxPath (
str
) – Path to link back to the index page. - incItuAnchors (
bool
) – If True will write anchors for lines in the ITU that are in this TU. If True then setItuLineNumbers returned is likely to be non-empty.
Returns: tuple([cpip.core.PpTokenCount.PpTokenCount, set([int])])
– Returns a pair of(PpTokenCount.PpTokenCount(), set(int))
The latter is a set of integer line numbers in the ITU that are in the TU, these line numbers with have anchors in this HTML file of the form:<a name="%d" />
.Raises: StopIteration
- theLex (