void Style::AddBaseStyle(Style* style) { iBaseStyles.Add(new CString(style->iStyleName)); iForeGndColor.AddBaseItem(&style->iForeGndColor); iBackGndColor.AddBaseItem(&style->iBackGndColor); iSelectedForeGndColor.AddBaseItem(&style->iSelectedForeGndColor); iSelectedBackGndColor.AddBaseItem(&style->iSelectedBackGndColor); iBoldColor.AddBaseItem(&style->iBoldColor); iUnderlineColor.AddBaseItem(&style->iUnderlineColor); iBoldUnderlineColor.AddBaseItem(&style->iBoldUnderlineColor); iExpandTabs.AddBaseItem(&style->iExpandTabs); iHighBitFilter.AddBaseItem(&style->iHighBitFilter); iTextWithLayout.AddBaseItem(&style->iTextWithLayout); iTabWidth.AddBaseItem(&style->iTabWidth); iDisplayMode.AddBaseItem(&style->iDisplayMode); iExternalFilterCmd.AddBaseItem(&style->iExternalFilterCmd); iFilterEnabled.AddBaseItem(&style->iFilterEnabled); iEditor.AddBaseItem(&style->iEditor); iTopLineFormat.AddBaseItem(&style->iTopLineFormat); iWordBreak.AddBaseItem(&style->iWordBreak); iSyntaxHighlightEnabled.AddBaseItem(&style->iSyntaxHighlightEnabled); iSymbolsColor.AddBaseItem(&style->iSymbolsColor); iCommentColor.AddBaseItem(&style->iCommentColor); iStringColor.AddBaseItem(&style->iStringColor); iReservedColor.AddBaseItem(&style->iReservedColor); iPreprocessorColor.AddBaseItem(&style->iPreprocessorColor); iNumberColor.AddBaseItem(&style->iNumberColor); iIdentColor.AddBaseItem(&style->iIdentColor); iSymbols.AddBaseItem(&style->iSymbols); iString.AddBaseItem(&style->iString); iEscape.AddBaseItem(&style->iEscape); iNumericPrefix.AddBaseItem(&style->iNumericPrefix); iCaseSensitive.AddBaseItem(&style->iCaseSensitive); iCaseConvert.AddBaseItem(&style->iCaseConvert); iCommentColumn.AddBaseItem(&style->iCommentColumn); iLineContinuation.AddBaseItem(&style->iLineContinuation); // extensions don't inherit // iExtensions.AddBaseItem(&style->iExtensions); iOpenComment.AddBaseItem(&style->iOpenComment); iCloseComment.AddBaseItem(&style->iCloseComment); iEolComment.AddBaseItem(&style->iEolComment); iOpenPreprocessor.AddBaseItem(&style->iOpenPreprocessor); iClosePreprocessor.AddBaseItem(&style->iClosePreprocessor); // Reserved words have to use a special technique to keep recognition fast. // All reserved words are directly copied into the inheriting styles // array but inherited ones are marked as such. if (style->iReserved.Size() > 0) { for (int i=0; i < style->iReserved.Size(); i++) AddReservedWord(style->iReserved[i].iKeyword, TRUE); } }
/* ** 名字:ctor ** 说明: ** */ Scanner::Scanner() : m_bFileOpened( 0 ), m_pFileReader( NULL ), m_pFSM( NULL ) //m_otherHandlerCB( this, &Scanner::otherHandler ), //m_numHandlerCB( this, &Scanner::numHandler ), //m_assignHanderCB( this, &Scanner::assignHandler ), //m_charGetterCB( this, &Scanner::GetChar ), //m_errorHandlerCB( this, &Scanner::errorHandler ), //m_commentHandlerCB( this, &Scanner::commentHandler ), //m_whitespaceHandlerCB( this, &Scanner::whitespaceHandler ), //m_IDHandlerCB( this, &Scanner::IDHandler ) { m_pFileReader = new FileReader; m_pFSM = new StateMachine; AddHandlers(); AddReservedWord(); }