⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doc.l

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 L
📖 第 1 页 / 共 5 页
字号:
KBD	  [kK][bB][dD]LI	  [lL][iI]META	  [mM][eE][tT][aA]MULTICOL  [mM][uU][lL][tT][iI][cC][oO][lL]NAME      [nN][aA][mM][eE]OL        [oO][lL]P	  [pP]PRE       [pP][rR][eE]SMALL	  [sS][mM][aA][lL][lL]STRONG    [sS][tT][rR][oO][nN][gG]SUB	  [sS][uU][bB]SUP	  [sS][uU][pP]SRC       [sS][rR][cC]TABLE	  [tT][aA][bB][lL][eE]TITLE     [tT][iI][tT][lL][eE]TD	  [tT][dD]TR	  [tT][rR]TT	  [tT][tT]UL	  [uU][lL]VAR	  [vV][aA][rR]BLOCKQUOTE [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE]DOCPARAM  ("#")?([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")OPNEW     {B}+"new"({B}*"[]")?OPDEL     {B}+"delete"({B}*"[]")?OPARG     "("[a-z_A-Z0-9,\<\> \t\*\&]*")"OPNORM    {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"OPCAST    {B}+[^(\r\n.,]+OPMASK    ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})%option noyywrap%x	Text%x      DocScan%x	DocParam%x	DocException%x	DocHtmlScan%x	DocLatexScan%x      DocEmphasis%x      DocBold%x      DocCode%x      DocCodeBlock%x      DocInternal%x      DocLink%x      DocJavaLink%x      DocLinkText%x      DocJavaLinkText%x      DocSkipWord%x      DocInclude%x      DocDontInclude%x      DocHtmlLink%x      DocHtmlAnchor%x      DocHtmlHref%x	DocSkiplineKey%x	DocSkipKey%x	DocLineKey%x	DocUntilKey%x	DocKeyEnd%x	DocPar%x	DocRefName%x	DocVerbatim%x	DocVerbInc%x	DocHtmlInc%x	DocIndexWord%x	DocRefArg%x	DocRefArgStart%x      DocRefItem%x      DocRefItemName%x	DocInternalRef%x	DocInternalRefText%x	DocImage%x	DocHtmlImageName%x	DocHtmlImageOpt%x	DocLatexImageName%x	DocLatexImageOpt%x	DocRtfImageName%x	DocRtfImageOpt%x	DocDotFile%x	DocDotFileOpt%%<*>\x0d<DocScan>^{B}*(("//"{B}*)?)"*"*{B}*"-"("#")?{B}+ { /* found list item marker */  					  QCString text=yytext;					  int dashPos = text.findRev('-');					  //printf("dashPos=%d char='%c'\n",dashPos,text.at(dashPos+1));					  bool isEnumerated = text.at(dashPos+1)=='#';  					  addListItemMarker(yytext,dashPos+1,isEnumerated);  					}<DocScan>\n{B}*(("//"{B}*)?)"*"*{B}*"-"("#")?{B}+ { /* found list item marker */  					  QCString text=yytext;					  int dashPos = text.findRev('-');					  //printf("dashPos=%d char='%c'\n",dashPos,text.at(dashPos+1));					  bool isEnumerated = text.at(dashPos+1)=='#';  					  addListItemMarker(yytext+1,dashPos,isEnumerated);  					}<DocScan,Text>"&copy;"			{ outDoc->writeCopyright(); }<DocScan,Text>"&lt;"			{ outDoc->docify("<"); }<DocScan,Text>"&gt;"			{ outDoc->docify(">"); }<DocScan,Text>"&amp;"			{ outDoc->docify("&"); }<DocScan,Text>"&apos;"			{ outDoc->docify("'"); }<DocScan,Text>"&quot;"			{ outDoc->docify("\""); }<DocScan,Text>"&"[AEIOUYaeiouy]"uml;"	{ outDoc->writeUmlaut(yytext[1]); }<DocScan,Text>"&"[AEIOUYaeiouy]"acute;"	{ outDoc->writeAcute(yytext[1]);  }<DocScan,Text>"&"[AEIOUaeiou]"grave;"	{ outDoc->writeGrave(yytext[1]);  }<DocScan,Text>"&"[AEIOUaeiou]"circ;"	{ outDoc->writeCirc(yytext[1]);   }<DocScan,Text>"&"[ANOano]"tilde;"	{ outDoc->writeTilde(yytext[1]);  }<DocScan,Text>"&szlig;"			{ outDoc->writeSharpS();          }<DocScan,Text>"&"[cC]"cedil;"		{ outDoc->writeCCedil(yytext[1]); }<DocScan,Text>"&"[aA]"ring;"		{ outDoc->writeRing(yytext[1]);   }<DocScan,Text>"&nbsp;"			{ outDoc->writeNonBreakableSpace(1); }<DocScan,DocHtmlScan,DocLatexScan>"$("[a-z_A-Z]+")"	{   					  QCString envvar=&yytext[2];  					  envvar=envvar.left(envvar.length()-1);					  outDoc->docify(getenv(envvar));					}<DocScan>{CMD}"htmlonly"/[^a-z_A-Z0-9]	{  				          outDoc->pushGeneratorState();   					  outDoc->disableAllBut(OutputGenerator::Html); 					  BEGIN(DocHtmlScan);  					}<DocHtmlScan>{CMD}"endhtmlonly"/[^a-z_A-Z0-9] {  					  outDoc->popGeneratorState();					  BEGIN(DocScan);  					}<DocScan>{CMD}"latexonly"/[^a-z_A-Z0-9]	{  					  outDoc->pushGeneratorState();  					  outDoc->disableAllBut(OutputGenerator::Latex);					  BEGIN(DocLatexScan);  					}<DocLatexScan>{CMD}"endlatexonly"/[^a-z_A-Z0-9] {  					  outDoc->popGeneratorState();					  BEGIN(DocScan);  					}<DocHtmlScan,DocLatexScan>"//"|"/*"|"*/"	{  					  outDoc->writeString(yytext);  					}<DocHtmlScan,DocLatexScan>.|\n		{  					  char c[2];					  c[0]=*yytext;c[1]='\0';  					  outDoc->writeString(c);  					}<DocScan>"\\postheader"/{BN}<DocScan>"\\functionindex"/{BN}		{ /* writeMemberList(*outDoc,FALSE);*/ }<DocScan>"\\classhierarchy"/{BN}	{ /* writeClassHierarchy(*outDoc); */ }<DocScan>"\\annotatedclasslist"/{BN}	{ /* writeAnnotatedClassList(*outDoc); */ }<DocScan>"\\headerfilelist"/{BN}	{ /* writeHeaderFileList(*outDoc); */ }<DocScan>"\\header"/{BN}                { BEGIN( DocSkipWord ); }<DocScan>"\\define"/{BN}	        { BEGIN( DocSkipWord ); }<DocScan>{CMD}"verbinclude"/{BN}	{ BEGIN( DocVerbInc ); }<DocVerbInc>{FILE}			{  					  verbIncludeFile(*outDoc,stripQuotes(yytext));					  BEGIN( DocScan ); 					}<DocScan>{CMD}"htmlinclude"/{BN}	{ BEGIN( DocHtmlInc ); }<DocHtmlInc>{FILE}			{    					  outDoc->pushGeneratorState();    					  outDoc->disableAllBut(OutputGenerator::Html);  					  rawIncludeFile(*outDoc,stripQuotes(yytext));    					  outDoc->popGeneratorState();					  BEGIN( DocScan );  					}<DocScan>{CMD}"verbatim"/[^a-z_A-Z0-9]	{  					  outDoc->startCodeFragment();					  insideVerbatim=TRUE;					  BEGIN(DocVerbatim);  					}<DocVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9]	{  					  outDoc->endCodeFragment();					  insideVerbatim=FALSE;  					  BEGIN(DocScan);  					}<DocVerbatim>[^\n\\\@]*"\n"		{  					  //printf("docifying: %s\n",yytext);  					  outDoc->codify(yytext);  					}<DocVerbatim>"\n"|"//"|"/*"|"*/"	{					  outDoc->codify(yytext);    					}<DocVerbatim>.				{  					  //printf("char %c\n",*yytext);					  char c[2];c[0]=*yytext;c[1]='\0';  					  outDoc->codify(c);  					}<DocScan>{CMD}"internal"/{BN}	        { 					  if (!Config_getBool("INTERNAL_DOCS"))					  {					    outDoc->newParagraph();					    scanString(theTranslator->trForInternalUseOnly()+"\n");					    //outDoc->writeString("For internal use only.\n");  					    BEGIN( DocInternal ); 					  }					}<DocScan>"\\reimp"/{BN}			{  					  outDoc->newParagraph();					  scanString(theTranslator->trReimplementedForInternalReasons()+"\n");  					}<DocScan>{CMD}"link"/{BN}	        { BEGIN( DocLink ); }<DocScan>"{"{CMD}"link"{BN}+	        { BEGIN( DocJavaLink ); }<DocSkipWord>[a-z_A-Z0-9.:()]+		{ BEGIN( DocScan ); }<DocLink>[a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+  {  // TODO: support operators as well!  					  linkRef  = stripKnownExtensions(yytext);					  linkText = "";  					  BEGIN( DocLinkText ); 					}<DocJavaLink>([a-z_A-Z0-9]+".")+	{ /* Skip scope prefix (TODO: fix) */ }<DocJavaLink>([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\[\]]*")")? {  // TODO: support operators as well!  					  linkRef  = yytext;					  linkText = "";					  BEGIN( DocJavaLinkText );					}<DocJavaLinkText>"}"			{  					  //printf("Trying to link `%s'\n",linkRef.data());					  if (!generateLink(*outDoc,className,linkRef,inSeeBlock,linkText.stripWhiteSpace()))					  {					    warn(yyFileName,yyLineNr,"Warning: link to unknown entity `%s' in the documentation of this entity!",linkRef.data());					  }  					  BEGIN( DocScan );   					}<DocJavaLinkText,DocLinkText>.		{ linkText += *yytext; }<DocJavaLinkText,DocLinkText>"\n"	{ linkText += " "; }<DocLink,DocLinkText>{CMD}"endlink" 	{ // <- needed for things like \endlink.   					  //printf("GenerateLink className=`%s' linkRef=`%s' linkText=`%s'\n",					  //        className.data(),linkRef.data(),linkText.data());					  if (!generateLink(*outDoc,className,linkRef,inSeeBlock,linkText.stripWhiteSpace()))					  {					    warn(yyFileName,yyLineNr,"Warning: link to unknown entity `%s' in the documentation of this entity!",linkRef.data());					  }  					  BEGIN( DocScan ); 					}<DocScan>{CMD}"endlink"/[^a-z_A-Z0-9]   { warn(yyFileName,yyLineNr,                                               "Warning: \\endlink without \\link "    					       "in documentation of this entity."                                              ); 					}<DocScan>{CMD}"addindex"{B}+		{  					  BEGIN(DocIndexWord);  					}<DocScan>"\\form#"[0-9]+		{  					  Formula *formula=Doxygen::formulaNameDict[yytext];					  if (formula)					  {					    QCString formName;					    formName.sprintf("form_%d",formula->getId());					    outDoc->writeFormula(formName,formula->getFormulaText());					  }  					}<DocIndexWord>[^\n]+			{  					  //printf("Adding %s to index\n",yytext);					  outDoc->addIndexItem(yytext,0);  					  BEGIN(DocScan);  					}<DocScan>{CMD}("arg"|"li")/{BN}	        {   					  if (insideArgumentList)					  {					    outDoc->writeListItem();					  }					  else 					  {					    outDoc->startItemList();					    outDoc->writeListItem();					    insideArgumentList=TRUE;					  }					}<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"par"{B}*	{ 					  QCString t=yytext;  					  if (/*t.contains('\n')>1 &&*/ insideItemList)					  {					    forceEndItemList();					  }  					  BEGIN(DocPar);  					}<DocPar>[^\n]*{BSEP}			{  					  QCString title=QCString(yytext).stripWhiteSpace();					  bool b = inBlock();					  if (!title.isEmpty())					  {  				            endArgumentList();					    if (b) endBlock();  					    inParBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Par);					    outDoc->docify(title);					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {					    outDoc->newParagraph();					  }					  BEGIN(DocScan);  					}<DocScan>{CMD}"warning"{BSEP}		{   				          endArgumentList();  					  if (!inWarningBlock)					  {					    if (inBlock()) endBlock();					    inWarningBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Warning);					    scanString(theTranslator->trWarning()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }				        }<DocScan>{CMD}"remark"[s]?{BSEP}	{   				          endArgumentList();  					  if (!inRemarkBlock)					  {					    if (inBlock()) endBlock();					    inRemarkBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Remark);					    scanString(theTranslator->trRemarks()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }				        }<DocScan>{CMD}"attention"{BSEP}		{   				          endArgumentList();  					  if (!inAttentionBlock)					  {					    if (inBlock()) endBlock();					    inAttentionBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Attention);					    scanString(theTranslator->trAttention()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }				        }<DocScan>{CMD}"note"[s]?{BSEP}		{  				          endArgumentList();  					  if (!inNoteBlock)					  {					    if (inBlock()) endBlock();					    inNoteBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Note);					    scanString(theTranslator->trNote()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"pre"{BSEP}		{  				          endArgumentList();  					  if (!inPreBlock)					  {					    if (inBlock()) endBlock();					    inPreBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Pre);					    scanString(theTranslator->trPrecondition()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"post"{BSEP}		{  				          endArgumentList();  					  if (!inPostBlock)					  {					    if (inBlock()) endBlock();					    inPostBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Post);					    scanString(theTranslator->trPostcondition()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"invariant"{BSEP}		{  				          endArgumentList();  					  if (!inInvarBlock)					  {					    if (inBlock()) endBlock();					    inInvarBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Invar);					    scanString(theTranslator->trInvariant()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"version"{BSEP}		{  				          endArgumentList();  					  if (!inVersionBlock)					  {					    if (inBlock()) endBlock();					    inVersionBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Version);					    scanString(theTranslator->trVersion()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"since"{BSEP}		{  				          endArgumentList();  					  if (!inSinceBlock)					  {					    if (inBlock()) endBlock();					    inSinceBlock=TRUE;					    currentListIndent.push("D");  					    outDoc->startDescList(BaseOutputDocInterface::Since);					    scanString(theTranslator->trSince()+": ");					    outDoc->endDescTitle();					    outDoc->writeDescItem();					  }					  else					  {  					    outDoc->writeDescItem();					  }  					}<DocScan>{CMD}"date"{BSEP}		{  				          endArgumentList();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -