+ ## Preprocess() method\r
+ #\r
+ # Preprocess comment, conditional directive, include directive, replace macro.\r
+ # Exception will be raised if syntax error found\r
+ #\r
+ # @param self The object pointer\r
+ #\r
+ def Preprocess(self):\r
+ self.__StringToList()\r
+ self.PreprocessFile()\r
+ self.PreprocessIncludeFile()\r
+ self.__StringToList()\r
+ self.PreprocessFile()\r
+ self.PreprocessConditionalStatement()\r
+ self.__StringToList()\r
+ for Pos in self.__WipeOffArea:\r
+ self.__ReplaceFragment(Pos[0], Pos[1])\r
+ self.Profile.FileLinesList = ["".join(list) for list in self.Profile.FileLinesList]\r
+\r
+ while self.__GetDefines():\r
+ pass\r
+ \r
+ Index = 0\r
+ while Index < len(self.Profile.FileLinesList):\r
+ FileLineTuple = GetRealFileLine(self.FileName, Index + 1)\r
+ self.Profile.FileLinesList[Index] = self.__ReplaceMacros(self.Profile.FileLinesList[Index], FileLineTuple[0], FileLineTuple[1])\r
+ Index += 1\r
+\r