FileIncludeStack¶
This module represents a stack of file includes as used by the
PpLexer.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.
- theFpo
- A FilePathOrigin object that identifies the file.
- theDiag
- A CppDiagnostic object to give to the PpTokeniser.
-
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
- A stack of
PpTokeniser.PpTokeniserobjects. - self._figr
- A
FileIncludeGraph.FileIncludeGraphRootfor tracking the#includegraph. - self._fns
- A stack of file IDs as strings (e.g. the file path).
- self._tcs
- A
PpTokenCount.PpTokenCountStackobject 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.FileIncludeGraphRootobject.
-
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
#includefile, returns the file ID that has been finished.
-
includeStart(theFpo, theLineNum, isUncond, condStr, incLogic)¶ Start an
#includefile.- theFpo
- A
FileLocation.FilePathOriginobject 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).