Loading INSTALL +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4,4 +4,4 @@ Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions. -------- -------- Dimitri van Heesch (10 October 2004) Dimitri van Heesch (28 October 2004) README +1 −1 Original line number Original line Diff line number Diff line Loading @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, Enjoy, Dimitri van Heesch (dimitri@stack.nl) (10 October 2004) Dimitri van Heesch (dimitri@stack.nl) (28 October 2004) addon/doxywizard/doxywizard.cpp +17 −5 Original line number Original line Diff line number Diff line Loading @@ -216,17 +216,20 @@ Step2::Step2(QWidget *parent) : QWidget(parent,"Step2") bool Step2::crossReferencingEnabled() const bool Step2::crossReferencingEnabled() const { { //printf("Step2::crossReferencingEnabled()=%d\n",m_crossRef->isOn()); return m_crossRef->isOn(); return m_crossRef->isOn(); } } void Step2::enableCrossReferencing() void Step2::enableCrossReferencing() { { //printf("Step2::enableCrossReferencing()\n"); m_crossRef->setChecked(TRUE); m_crossRef->setChecked(TRUE); } } bool Step2::extractAll() const bool Step2::extractAll() const { { return m_extractMode->selectedId()==1; //printf("Step2::extractAll()=%d\n",m_extractMode->find(1)->isOn()); return m_extractMode->find(1)->isOn(); } } bool Step2::crossReferencing() const bool Step2::crossReferencing() const Loading @@ -247,11 +250,13 @@ OptLang Step2::optimizeFor() const void Step2::setExtractAll(bool enable) void Step2::setExtractAll(bool enable) { { //printf("Step2::setExtractAll(%d)\n",enable); m_extractMode->setButton(enable?1:0); m_extractMode->setButton(enable?1:0); } } void Step2::setCrossReferencing(bool enable) void Step2::setCrossReferencing(bool enable) { { //printf("Step2::setCrossReferencing(%d)\n",enable); m_crossRef->setChecked(enable); m_crossRef->setChecked(enable); } } Loading Loading @@ -374,12 +379,19 @@ bool Step3::searchEnabled() const HtmlStyle Step3::htmlStyle() const HtmlStyle Step3::htmlStyle() const { { switch (m_htmlOptions->selectedId()) if (m_htmlOptions->find(0)->isOn()) { { case 0: return HS_Plain; return HS_Plain; case 1: return HS_TreeView; } case 2: return HS_CHM; else if (m_htmlOptions->find(1)->isOn()) { return HS_TreeView; } else if (m_htmlOptions->find(2)->isOn()) { return HS_CHM; } } // broken radio button logic return HS_Plain; return HS_Plain; } } Loading doc/faq.doc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -210,7 +210,7 @@ If you don't mind spending some time on it, there are several options: <li><b>Help! I get the cryptic message <li><b>Help! I get the cryptic message "input buffer overflow, can't enlarge buffer because scanner uses REJECT"</b> "input buffer overflow, can't enlarge buffer because scanner uses REJECT"</b> This error happens when doxygen lexical scanner has a rule that matches This error happens when doxygen's lexical scanner has a rule that matches more than 256K of input characters in one go. I've seen this happening more than 256K of input characters in one go. I've seen this happening on a very large generated file (\>256K lines), where the built-in preprocessor on a very large generated file (\>256K lines), where the built-in preprocessor converted it into an empty file (with \>256K of newlines). Another case converted it into an empty file (with \>256K of newlines). Another case Loading src/code.l +25 −14 Original line number Original line Diff line number Diff line Loading @@ -760,11 +760,14 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, { { cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md); cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md); } } //printf("is not found as a variable %s\n",cd?cd->name().data():"<null>"); //printf("is found as a type %s\n",cd?cd->name().data():"<null>"); } } else else { { if (lcd!=VariableContext::dummyContext) g_theCallContext.setClass(lcd); if (lcd!=VariableContext::dummyContext) { g_theCallContext.setClass(lcd); } //fprintf(stderr,"is a local variable!\n"); //fprintf(stderr,"is a local variable!\n"); } } if (cd && cd->isLinkable()) // is it a linkable class if (cd && cd->isLinkable()) // is it a linkable class Loading Loading @@ -802,6 +805,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, { { if (md==0) // not found as a typedef if (md==0) // not found as a typedef { { //printf("setCallContextForVar(%s)\n",clName); md = setCallContextForVar(clName); md = setCallContextForVar(clName); if (md && g_currentDefinition) if (md && g_currentDefinition) { { Loading @@ -820,10 +824,6 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, if (md) if (md) { { //printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>"); //printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>"); //Definition *d = md->getOuterScope()==Doxygen::globalScope ? // md->getBodyDef() : md->getOuterScope(); //printf("definition %s\n",d?d->name().data():"<none>"); //if (md->getGroupDef()) d = md->getGroupDef(); if (md->isLinkable()) if (md->isLinkable()) { { writeMultiLineCodeLink(ol,md->getReference(),md->getOutputFileBase(),md->anchor(),clName); writeMultiLineCodeLink(ol,md->getReference(),md->getOutputFileBase(),md->anchor(),clName); Loading Loading @@ -1085,6 +1085,7 @@ static void generateFunctionLink(BaseCodeDocInterface &ol,char *funcName) ClassDef *ccd=0; ClassDef *ccd=0; QCString locScope=g_classScope.copy(); QCString locScope=g_classScope.copy(); QCString locFunc=removeRedundantWhiteSpace(funcName); QCString locFunc=removeRedundantWhiteSpace(funcName); //fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data()); int i=locFunc.findRev("::"); int i=locFunc.findRev("::"); if (i>0) if (i>0) { { Loading Loading @@ -1493,7 +1494,11 @@ KEYWORD ("asm"|"auto"|"class"|"const"|"const_cast"|"delete"|"dynamic_cast"|"enum FLOWKW ("break"|"case"|"catch"|"continue"|"default"|"do"|"else"|"for"|"goto"|"if"|"return"|"switch"|"throw"|"throws"|"try"|"while") FLOWKW ("break"|"case"|"catch"|"continue"|"default"|"do"|"else"|"for"|"goto"|"if"|"return"|"switch"|"throw"|"throws"|"try"|"while") TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"|"void"|"wchar_t"|"boolean"|"id"|"SEL") TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"|"void"|"wchar_t"|"boolean"|"id"|"SEL") CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) ARITHOP "+"|"-"|"/"|"*"|"%"|"--"|"++" ASSIGNOP "="|"*="|"/="|"%="|"+="|"-="|"<<="|">>="|"&="|"^="|"|=" LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!" BITOP "&"|"|"|"^"|"<<"|">>"|"~" OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} %option noyywrap %option noyywrap %x SkipString %x SkipString Loading Loading @@ -1827,7 +1832,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_code->codify(yytext); g_code->codify(yytext); g_curlyCount++; g_curlyCount++; g_inClass=TRUE; g_inClass=TRUE; if (YY_START==ClassVar) if (YY_START==ClassVar && g_curClassName.isEmpty()) { { g_curClassName = g_name.copy(); g_curClassName = g_name.copy(); } } Loading @@ -1841,9 +1846,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) { { g_scopeStack.push(CLASSBLOCK); g_scopeStack.push(CLASSBLOCK); pushScope(g_curClassName); pushScope(g_curClassName); //printf("***** g_curClassName=%s\n",g_curClassName.data()); //fprintf(stderr,"***** g_curClassName=%s\n",g_curClassName.data()); if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0) if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0) { { //printf("Adding new class %s\n",g_curClassName.data()); ClassDef *ncd=new ClassDef("<code>",1, ClassDef *ncd=new ClassDef("<code>",1, g_curClassName,ClassDef::Class,0,0,FALSE); g_curClassName,ClassDef::Class,0,0,FALSE); g_codeClassSDict.append(g_curClassName,ncd); g_codeClassSDict.append(g_curClassName,ncd); Loading Loading @@ -1981,6 +1987,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) codifyLines(yytext); codifyLines(yytext); endFontClass(); endFontClass(); g_name.resize(0);g_type.resize(0); g_name.resize(0);g_type.resize(0); BEGIN(FuncCall); } } <Body>[\\|\)\+\-\/\%\~\!] { <Body>[\\|\)\+\-\/\%\~\!] { g_code->codify(yytext); g_code->codify(yytext); Loading Loading @@ -2027,7 +2034,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_name+=yytext; g_name+=yytext; } } <Body>{SCOPENAME}/{B}*[;,)\]] { // "int var;" or "var, var2" or "debug(f) macro" <Body>{SCOPENAME}/{B}*[;,)\]] { // "int var;" or "var, var2" or "debug(f) macro" generateClassOrGlobalLink(*g_code,yytext,TRUE); generateClassOrGlobalLink(*g_code,yytext/*,TRUE*/); addType(); addType(); g_name+=yytext; g_name+=yytext; } } Loading Loading @@ -2382,9 +2389,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.pushScope(); g_theVarContext.pushScope(); } } } } <MemberCall2,FuncCall>{OPERATOR} { // operator g_code->codify(yytext); g_parmType.resize(0);g_parmName.resize(0); } <MemberCall2,FuncCall>")" { <MemberCall2,FuncCall>")" { g_theVarContext.addVariable(g_parmType,g_parmName); g_theVarContext.addVariable(g_parmType,g_parmName); g_theCallContext.popScope(); g_theCallContext.popScope(); g_theCallContext.setClass(0); g_code->codify(yytext); g_code->codify(yytext); if (--g_bracketCount<=0) if (--g_bracketCount<=0) { { Loading @@ -2404,8 +2416,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.addVariable(g_type,g_name); g_theVarContext.addVariable(g_type,g_name); } } g_parmType.resize(0);g_parmName.resize(0); g_parmType.resize(0);g_parmName.resize(0); g_theCallContext.popScope(); //g_theCallContext.popScope(); g_theCallContext.setClass(0); //g_theCallContext.setClass(0); if (*yytext==';' || g_insideBody) if (*yytext==';' || g_insideBody) { { if (!g_insideBody) if (!g_insideBody) Loading @@ -2432,7 +2444,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.pushScope(); g_theVarContext.pushScope(); } } g_theVarContext.addVariable(g_parmType,g_parmName); g_theVarContext.addVariable(g_parmType,g_parmName); g_theCallContext.popScope(); //g_theCallContext.popScope(); g_parmType.resize(0);g_parmName.resize(0); g_parmType.resize(0);g_parmName.resize(0); int index = g_name.findRev("::"); int index = g_name.findRev("::"); if (index!=-1) if (index!=-1) Loading Loading @@ -2540,7 +2552,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) generateFunctionLink(*g_code,yytext); generateFunctionLink(*g_code,yytext); } } <FuncCall>([a-z_A-Z][a-z_A-Z0-9]*)/("."|"->") { <FuncCall>([a-z_A-Z][a-z_A-Z0-9]*)/("."|"->") { //g_code->codify(yytext); g_name=yytext; g_name=yytext; generateClassOrGlobalLink(*g_code,yytext); generateClassOrGlobalLink(*g_code,yytext); BEGIN( MemberCall2 ); BEGIN( MemberCall2 ); Loading Loading
INSTALL +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4,4 +4,4 @@ Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions. -------- -------- Dimitri van Heesch (10 October 2004) Dimitri van Heesch (28 October 2004)
README +1 −1 Original line number Original line Diff line number Diff line Loading @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, Enjoy, Dimitri van Heesch (dimitri@stack.nl) (10 October 2004) Dimitri van Heesch (dimitri@stack.nl) (28 October 2004)
addon/doxywizard/doxywizard.cpp +17 −5 Original line number Original line Diff line number Diff line Loading @@ -216,17 +216,20 @@ Step2::Step2(QWidget *parent) : QWidget(parent,"Step2") bool Step2::crossReferencingEnabled() const bool Step2::crossReferencingEnabled() const { { //printf("Step2::crossReferencingEnabled()=%d\n",m_crossRef->isOn()); return m_crossRef->isOn(); return m_crossRef->isOn(); } } void Step2::enableCrossReferencing() void Step2::enableCrossReferencing() { { //printf("Step2::enableCrossReferencing()\n"); m_crossRef->setChecked(TRUE); m_crossRef->setChecked(TRUE); } } bool Step2::extractAll() const bool Step2::extractAll() const { { return m_extractMode->selectedId()==1; //printf("Step2::extractAll()=%d\n",m_extractMode->find(1)->isOn()); return m_extractMode->find(1)->isOn(); } } bool Step2::crossReferencing() const bool Step2::crossReferencing() const Loading @@ -247,11 +250,13 @@ OptLang Step2::optimizeFor() const void Step2::setExtractAll(bool enable) void Step2::setExtractAll(bool enable) { { //printf("Step2::setExtractAll(%d)\n",enable); m_extractMode->setButton(enable?1:0); m_extractMode->setButton(enable?1:0); } } void Step2::setCrossReferencing(bool enable) void Step2::setCrossReferencing(bool enable) { { //printf("Step2::setCrossReferencing(%d)\n",enable); m_crossRef->setChecked(enable); m_crossRef->setChecked(enable); } } Loading Loading @@ -374,12 +379,19 @@ bool Step3::searchEnabled() const HtmlStyle Step3::htmlStyle() const HtmlStyle Step3::htmlStyle() const { { switch (m_htmlOptions->selectedId()) if (m_htmlOptions->find(0)->isOn()) { { case 0: return HS_Plain; return HS_Plain; case 1: return HS_TreeView; } case 2: return HS_CHM; else if (m_htmlOptions->find(1)->isOn()) { return HS_TreeView; } else if (m_htmlOptions->find(2)->isOn()) { return HS_CHM; } } // broken radio button logic return HS_Plain; return HS_Plain; } } Loading
doc/faq.doc +1 −1 Original line number Original line Diff line number Diff line Loading @@ -210,7 +210,7 @@ If you don't mind spending some time on it, there are several options: <li><b>Help! I get the cryptic message <li><b>Help! I get the cryptic message "input buffer overflow, can't enlarge buffer because scanner uses REJECT"</b> "input buffer overflow, can't enlarge buffer because scanner uses REJECT"</b> This error happens when doxygen lexical scanner has a rule that matches This error happens when doxygen's lexical scanner has a rule that matches more than 256K of input characters in one go. I've seen this happening more than 256K of input characters in one go. I've seen this happening on a very large generated file (\>256K lines), where the built-in preprocessor on a very large generated file (\>256K lines), where the built-in preprocessor converted it into an empty file (with \>256K of newlines). Another case converted it into an empty file (with \>256K of newlines). Another case Loading
src/code.l +25 −14 Original line number Original line Diff line number Diff line Loading @@ -760,11 +760,14 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, { { cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md); cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md); } } //printf("is not found as a variable %s\n",cd?cd->name().data():"<null>"); //printf("is found as a type %s\n",cd?cd->name().data():"<null>"); } } else else { { if (lcd!=VariableContext::dummyContext) g_theCallContext.setClass(lcd); if (lcd!=VariableContext::dummyContext) { g_theCallContext.setClass(lcd); } //fprintf(stderr,"is a local variable!\n"); //fprintf(stderr,"is a local variable!\n"); } } if (cd && cd->isLinkable()) // is it a linkable class if (cd && cd->isLinkable()) // is it a linkable class Loading Loading @@ -802,6 +805,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, { { if (md==0) // not found as a typedef if (md==0) // not found as a typedef { { //printf("setCallContextForVar(%s)\n",clName); md = setCallContextForVar(clName); md = setCallContextForVar(clName); if (md && g_currentDefinition) if (md && g_currentDefinition) { { Loading @@ -820,10 +824,6 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName, if (md) if (md) { { //printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>"); //printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>"); //Definition *d = md->getOuterScope()==Doxygen::globalScope ? // md->getBodyDef() : md->getOuterScope(); //printf("definition %s\n",d?d->name().data():"<none>"); //if (md->getGroupDef()) d = md->getGroupDef(); if (md->isLinkable()) if (md->isLinkable()) { { writeMultiLineCodeLink(ol,md->getReference(),md->getOutputFileBase(),md->anchor(),clName); writeMultiLineCodeLink(ol,md->getReference(),md->getOutputFileBase(),md->anchor(),clName); Loading Loading @@ -1085,6 +1085,7 @@ static void generateFunctionLink(BaseCodeDocInterface &ol,char *funcName) ClassDef *ccd=0; ClassDef *ccd=0; QCString locScope=g_classScope.copy(); QCString locScope=g_classScope.copy(); QCString locFunc=removeRedundantWhiteSpace(funcName); QCString locFunc=removeRedundantWhiteSpace(funcName); //fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data()); int i=locFunc.findRev("::"); int i=locFunc.findRev("::"); if (i>0) if (i>0) { { Loading Loading @@ -1493,7 +1494,11 @@ KEYWORD ("asm"|"auto"|"class"|"const"|"const_cast"|"delete"|"dynamic_cast"|"enum FLOWKW ("break"|"case"|"catch"|"continue"|"default"|"do"|"else"|"for"|"goto"|"if"|"return"|"switch"|"throw"|"throws"|"try"|"while") FLOWKW ("break"|"case"|"catch"|"continue"|"default"|"do"|"else"|"for"|"goto"|"if"|"return"|"switch"|"throw"|"throws"|"try"|"while") TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"|"void"|"wchar_t"|"boolean"|"id"|"SEL") TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"|"void"|"wchar_t"|"boolean"|"id"|"SEL") CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) ARITHOP "+"|"-"|"/"|"*"|"%"|"--"|"++" ASSIGNOP "="|"*="|"/="|"%="|"+="|"-="|"<<="|">>="|"&="|"^="|"|=" LOGICOP "=="|"!="|">"|"<"|">="|"<="|"&&"|"||"|"!" BITOP "&"|"|"|"^"|"<<"|">>"|"~" OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} %option noyywrap %option noyywrap %x SkipString %x SkipString Loading Loading @@ -1827,7 +1832,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_code->codify(yytext); g_code->codify(yytext); g_curlyCount++; g_curlyCount++; g_inClass=TRUE; g_inClass=TRUE; if (YY_START==ClassVar) if (YY_START==ClassVar && g_curClassName.isEmpty()) { { g_curClassName = g_name.copy(); g_curClassName = g_name.copy(); } } Loading @@ -1841,9 +1846,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) { { g_scopeStack.push(CLASSBLOCK); g_scopeStack.push(CLASSBLOCK); pushScope(g_curClassName); pushScope(g_curClassName); //printf("***** g_curClassName=%s\n",g_curClassName.data()); //fprintf(stderr,"***** g_curClassName=%s\n",g_curClassName.data()); if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0) if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0) { { //printf("Adding new class %s\n",g_curClassName.data()); ClassDef *ncd=new ClassDef("<code>",1, ClassDef *ncd=new ClassDef("<code>",1, g_curClassName,ClassDef::Class,0,0,FALSE); g_curClassName,ClassDef::Class,0,0,FALSE); g_codeClassSDict.append(g_curClassName,ncd); g_codeClassSDict.append(g_curClassName,ncd); Loading Loading @@ -1981,6 +1987,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) codifyLines(yytext); codifyLines(yytext); endFontClass(); endFontClass(); g_name.resize(0);g_type.resize(0); g_name.resize(0);g_type.resize(0); BEGIN(FuncCall); } } <Body>[\\|\)\+\-\/\%\~\!] { <Body>[\\|\)\+\-\/\%\~\!] { g_code->codify(yytext); g_code->codify(yytext); Loading Loading @@ -2027,7 +2034,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_name+=yytext; g_name+=yytext; } } <Body>{SCOPENAME}/{B}*[;,)\]] { // "int var;" or "var, var2" or "debug(f) macro" <Body>{SCOPENAME}/{B}*[;,)\]] { // "int var;" or "var, var2" or "debug(f) macro" generateClassOrGlobalLink(*g_code,yytext,TRUE); generateClassOrGlobalLink(*g_code,yytext/*,TRUE*/); addType(); addType(); g_name+=yytext; g_name+=yytext; } } Loading Loading @@ -2382,9 +2389,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.pushScope(); g_theVarContext.pushScope(); } } } } <MemberCall2,FuncCall>{OPERATOR} { // operator g_code->codify(yytext); g_parmType.resize(0);g_parmName.resize(0); } <MemberCall2,FuncCall>")" { <MemberCall2,FuncCall>")" { g_theVarContext.addVariable(g_parmType,g_parmName); g_theVarContext.addVariable(g_parmType,g_parmName); g_theCallContext.popScope(); g_theCallContext.popScope(); g_theCallContext.setClass(0); g_code->codify(yytext); g_code->codify(yytext); if (--g_bracketCount<=0) if (--g_bracketCount<=0) { { Loading @@ -2404,8 +2416,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.addVariable(g_type,g_name); g_theVarContext.addVariable(g_type,g_name); } } g_parmType.resize(0);g_parmName.resize(0); g_parmType.resize(0);g_parmName.resize(0); g_theCallContext.popScope(); //g_theCallContext.popScope(); g_theCallContext.setClass(0); //g_theCallContext.setClass(0); if (*yytext==';' || g_insideBody) if (*yytext==';' || g_insideBody) { { if (!g_insideBody) if (!g_insideBody) Loading @@ -2432,7 +2444,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) g_theVarContext.pushScope(); g_theVarContext.pushScope(); } } g_theVarContext.addVariable(g_parmType,g_parmName); g_theVarContext.addVariable(g_parmType,g_parmName); g_theCallContext.popScope(); //g_theCallContext.popScope(); g_parmType.resize(0);g_parmName.resize(0); g_parmType.resize(0);g_parmName.resize(0); int index = g_name.findRev("::"); int index = g_name.findRev("::"); if (index!=-1) if (index!=-1) Loading Loading @@ -2540,7 +2552,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) generateFunctionLink(*g_code,yytext); generateFunctionLink(*g_code,yytext); } } <FuncCall>([a-z_A-Z][a-z_A-Z0-9]*)/("."|"->") { <FuncCall>([a-z_A-Z][a-z_A-Z0-9]*)/("."|"->") { //g_code->codify(yytext); g_name=yytext; g_name=yytext; generateClassOrGlobalLink(*g_code,yytext); generateClassOrGlobalLink(*g_code,yytext); BEGIN( MemberCall2 ); BEGIN( MemberCall2 ); Loading