FileIncludeStack

This module represents a stack of file includes as used by the PpLexer

exception cpip.core.FileIncludeStack.ExceptionFileIncludeStack

Exception for FileIncludeStack object.

class cpip.core.FileIncludeStack.FileInclude(theFpo, theDiag)

Represents a single TU fragment with a PpTokeniser and a token counter.

tokenCountInc(tok, isUnCond, num=1)

Increment the token counter.

tokenCounterAdd(theC)

Add a token counter to my token counter (used when a macro is declared).

class cpip.core.FileIncludeStack.FileIncludeStack(theDiagnostic)

This maintains information about the stack of file includes. This holds several stacks (or representations of them): self._ppts is a stack of PpTokeniser.PpTokeniser() objects. self._figr is a FileIncludeGraph.FileIncludeGraphRoot() for tracking the #include graph. self._fns is a stack of file IDs as strings (e.g. the file path). self._tcs is a PpTokenCount.PpTokenCountStack() object for counting tokens.

currentFile

Returns the file ID from the top of the stack.

depth

Returns the current include depth as an integer.

fileIncludeGraphRoot

The FileIncludeGraph.FileIncludeGraphRoot() object.

fileLineCol

Return an instance of FileLineCol from the current physical line column.

fileStack

Returns a copy of the stack of file IDs.

finalise()

Finalisation, may raise an ExceptionFileIncludeStack.

includeFinish()

End an #include file, returns the file ID that has been finished.

includeStart(theFpo, theLineNum, isUncond, condStr, incLogic)

Start an #include file. theFpo - A FilePathOrigin object that identifies the file. theLineNum - The integer line number of the file that includes (None if Root). isUncond - A boolean that is the conditional compilation state. condStr - A string of the conditional compilation stack. incLogic - A string that describes the find include logic.

ppt

Returns the PpTokeniser from the top of the stack.

tokenCountInc(tok, isUnCond, num=1)

Increment the token counter.

tokenCounter()

Returns the Token Counter object at the tip of the stack.

tokenCounterAdd(theC)

Add a token counter to my token counter (used when a macro is declared).

Previous topic

FileIncludeGraph

Next topic

IncludeHandler

This Page