summaryrefslogtreecommitdiffstats
path: root/vhdlparser
diff options
context:
space:
mode:
Diffstat (limited to 'vhdlparser')
-rw-r--r--vhdlparser/CMakeLists.txt1
-rw-r--r--vhdlparser/VhdlParser.cc415
-rw-r--r--vhdlparser/VhdlParser.h2266
-rw-r--r--vhdlparser/VhdlParserErrorHandler.hpp35
-rw-r--r--vhdlparser/VhdlParserIF.cpp56
-rw-r--r--vhdlparser/VhdlParserIF.h12
-rw-r--r--vhdlparser/VhdlParserTokenManager.cc66
-rw-r--r--vhdlparser/vhdlparser.jj817
8 files changed, 1808 insertions, 1860 deletions
diff --git a/vhdlparser/CMakeLists.txt b/vhdlparser/CMakeLists.txt
index 43dc74d..d9281c0 100644
--- a/vhdlparser/CMakeLists.txt
+++ b/vhdlparser/CMakeLists.txt
@@ -16,7 +16,6 @@ Token.cc
TokenMgrError.cc
VhdlParser.cc
VhdlParserTokenManager.cc
-VhdlParserIF.cpp
)
add_dependencies(vhdlparser
generate_configvalues_header
diff --git a/vhdlparser/VhdlParser.cc b/vhdlparser/VhdlParser.cc
index b360217..49e9bd9 100644
--- a/vhdlparser/VhdlParser.cc
+++ b/vhdlparser/VhdlParser.cc
@@ -354,7 +354,7 @@ s+=s1;
jj_consume_token(SEMI_T);
}
-addVhdlType(s2.data(),getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Public);
+outlineParser()->addVhdlType(s2.data(),outlineParser()->getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Public);
return s2+" "+s+";";
assert(false);
@@ -461,10 +461,10 @@ void VhdlParser::architecture_body() {QCString s,s1;if (!hasError) {
if (!hasError) {
QCString t=s1+"::"+s;
- genLabels.resize(0);
- pushLabel(genLabels,s1);
- lastCompound=current.get();
- addVhdlType(t,getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
+ m_sharedState->genLabels.resize(0);
+ outlineParser()->pushLabel(m_sharedState->genLabels,s1);
+ m_sharedState->lastCompound=m_sharedState->current;
+ outlineParser()->addVhdlType(t,outlineParser()->getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
}
if (!hasError) {
@@ -474,7 +474,7 @@ QCString t=s1+"::"+s;
}
} catch ( ...) {
-error_skipto(BEGIN_T);
+outlineParser()->error_skipto(BEGIN_T);
}
}
if (!hasError) {
@@ -527,7 +527,7 @@ error_skipto(BEGIN_T);
jj_consume_token(SEMI_T);
}
-lastEntity=0;lastCompound=0; genLabels.resize(0);
+m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0);
}
@@ -810,7 +810,7 @@ QCString VhdlParser::attribute_declaration() {QCString s,s1;if (!hasError) {
jj_consume_token(SEMI_T);
}
-addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public);
return " attribute "+s+":"+s1+";";
assert(false);
}
@@ -929,7 +929,7 @@ QCString VhdlParser::attribute_specification() {QCString s,s1,s2;if (!hasError)
}
QCString t= s1+" is "+s2;
- addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public);
return " attribute "+s+" of "+s1+ " is "+s2+";";
assert(false);
}
@@ -1417,7 +1417,7 @@ void VhdlParser::block_statement() {QCString s;if (!hasError) {
}
if (!hasError) {
-pushLabel(genLabels,s);
+outlineParser()->pushLabel(m_sharedState->genLabels,s);
}
if (!hasError) {
@@ -1502,7 +1502,7 @@ pushLabel(genLabels,s);
jj_consume_token(SEMI_T);
}
-genLabels=popLabel(genLabels);
+m_sharedState->genLabels=outlineParser()->popLabel(m_sharedState->genLabels);
}
@@ -1844,7 +1844,7 @@ void VhdlParser::component_declaration() {QCString s;if (!hasError) {
}
if (!hasError) {
-currP=VhdlDocGen::COMPONENT;
+m_sharedState->currP=VhdlDocGen::COMPONENT;
}
if (!hasError) {
@@ -1878,8 +1878,8 @@ currP=VhdlDocGen::COMPONENT;
}
if (!hasError) {
-addVhdlType(s.data(),getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Public);
- currP=0;
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Public);
+ m_sharedState->currP=0;
}
if (!hasError) {
@@ -1933,7 +1933,7 @@ QCString s3;
s1=VhdlDocGen::getIndexWord(s1.data(),1);
}
- addCompInst(s.lower().data(),s1.lower().data(),s3.data(),getLine());
+ outlineParser()->addCompInst(s.lower().data(),s1.lower().data(),s3.data(),outlineParser()->getLine());
}
if (!hasError) {
@@ -2350,8 +2350,8 @@ void VhdlParser::configuration_declaration() {QCString s,s1;if (!hasError) {
}
if (!hasError) {
-confName=s+"::"+s1;
- addVhdlType(s.data(),getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Public);
+m_sharedState->confName=s+"::"+s1;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Public);
}
if (!hasError) {
@@ -2403,7 +2403,7 @@ confName=s+"::"+s1;
jj_consume_token(SEMI_T);
}
-genLabels.resize(0); confName="";
+m_sharedState->genLabels.resize(0); m_sharedState->confName="";
}
@@ -2550,7 +2550,7 @@ QCString VhdlParser::constant_declaration() {QCString s,s1,s2;Token *t=0;if (!ha
if(t)
s2.prepend(":=");
QCString it=s1+s2;
- addVhdlType(s.data(),getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Public);
it.prepend("constant ");
return it;
assert(false);
@@ -2966,8 +2966,8 @@ QCString VhdlParser::element_declaration() {QCString s,s1;if (!hasError) {
jj_consume_token(SEMI_T);
}
-addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public);
- //addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public);
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
return s+":"+s1;
assert(false);
}
@@ -3337,9 +3337,9 @@ void VhdlParser::entity_declaration() {QCString s;if (!hasError) {
}
if (!hasError) {
-lastEntity=current.get();
- lastCompound=0;
- addVhdlType(s.data(),getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
+m_sharedState->lastEntity=m_sharedState->current;
+ m_sharedState->lastCompound=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
}
if (!hasError) {
@@ -3410,7 +3410,7 @@ lastEntity=current.get();
jj_consume_token(SEMI_T);
}
-lastEntity=0;lastCompound=0; genLabels.resize(0);
+m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0);
}
@@ -3629,7 +3629,7 @@ void VhdlParser::entity_header() {if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case GENERIC_T:{if (!hasError) {
-currP=VhdlDocGen::GENERIC;parse_sec=GEN_SEC;
+m_sharedState->currP=VhdlDocGen::GENERIC;m_sharedState->parse_sec=GEN_SEC;
}
if (!hasError) {
@@ -3648,7 +3648,7 @@ currP=VhdlDocGen::GENERIC;parse_sec=GEN_SEC;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PORT_T:{if (!hasError) {
-currP=VhdlDocGen::PORT;
+m_sharedState->currP=VhdlDocGen::PORT;
}
if (!hasError) {
@@ -3996,7 +3996,7 @@ QCString VhdlParser::exit_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;i
jj_consume_token(SEMI_T);
}
-lab.resize(0);
+m_sharedState->lab.resize(0);
if(t) s+=":";
if(t1) s2.prepend(" when ");
FlowChart::addFlowChart(FlowChart::EXIT_NO,"exit",s2.data(),s1.data());
@@ -4259,7 +4259,7 @@ QCString VhdlParser::file_declaration() {QCString s,s1,s2,s3;if (!hasError) {
}
QCString t1=s2+" "+s3;
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public);
return " file "+s+":"+s2+" "+s3+";";
assert(false);
}
@@ -4419,7 +4419,7 @@ assert(false);
}
-QCString VhdlParser::full_type_declaration() {Entry *tmpEntry;QCString s,s1,s2;if (!hasError) {
+QCString VhdlParser::full_type_declaration() {std::shared_ptr<Entry> tmpEntry;QCString s,s1,s2;if (!hasError) {
jj_consume_token(TYPE_T);
}
@@ -4433,8 +4433,8 @@ QCString VhdlParser::full_type_declaration() {Entry *tmpEntry;QCString s,s1,s2;i
}
if (!hasError) {
-tmpEntry=current.get();
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public);
+tmpEntry=m_sharedState->current;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public);
}
if (!hasError) {
@@ -4444,7 +4444,7 @@ tmpEntry=current.get();
}
} catch ( ...) {
-error_skipto(SEMI_T);
+outlineParser()->error_skipto(SEMI_T);
}
}
if (!hasError) {
@@ -4453,24 +4453,24 @@ error_skipto(SEMI_T);
}
if (s2.contains("#")) {
- VhdlDocGen::deleteAllChars(s2,'#');
- tmpEntry->spec=VhdlDocGen::RECORD;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public);
- }
- else if (s2.contains("%")) {
- VhdlDocGen::deleteAllChars(s2,'%');
- tmpEntry->spec=VhdlDocGen::UNITS;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public);
- }
- else {
- tmpEntry->spec=VhdlDocGen::TYPE;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public);
- }
- tmpEntry=0;
- return "type "+s+" is "+s2+";";
+ VhdlDocGen::deleteAllChars(s2,'#');
+ tmpEntry->spec=VhdlDocGen::RECORD;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public);
+ }
+ else if (s2.contains("%")) {
+ VhdlDocGen::deleteAllChars(s2,'%');
+ tmpEntry->spec=VhdlDocGen::UNITS;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public);
+ }
+ else {
+ tmpEntry->spec=VhdlDocGen::TYPE;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public);
+ }
+ tmpEntry.reset();
+ return "type "+s+" is "+s2+";";
assert(false);
}
@@ -4517,7 +4517,7 @@ void VhdlParser::generate_statement() {QCString s;if (!hasError) {
}
if (!hasError) {
-pushLabel(genLabels,s);
+outlineParser()->pushLabel(m_sharedState->genLabels,s);
}
if (!hasError) {
@@ -4529,7 +4529,7 @@ pushLabel(genLabels,s);
}
} catch ( ...) {
-error_skipto(GENERATE_T);
+outlineParser()->error_skipto(GENERATE_T);
}
}
if (!hasError) {
@@ -4557,7 +4557,7 @@ error_skipto(GENERATE_T);
jj_consume_token(SEMI_T);
}
-genLabels=popLabel(genLabels);
+m_sharedState->genLabels=outlineParser()->popLabel(m_sharedState->genLabels);
}
@@ -4603,7 +4603,7 @@ void VhdlParser::generic_clause() {QCString s;if (!hasError) {
}
if (!hasError) {
-parse_sec=GEN_SEC;
+m_sharedState->parse_sec=GEN_SEC;
}
if (!hasError) {
@@ -4618,7 +4618,7 @@ parse_sec=GEN_SEC;
jj_consume_token(SEMI_T);
}
-parse_sec=0;
+m_sharedState->parse_sec=0;
}
@@ -4925,7 +4925,7 @@ void VhdlParser::if_statement() {QCString s,s1;if (!hasError) {
if (!hasError) {
s.prepend("if ");
- FlowChart::addFlowChart(FlowChart::IF_NO,0,s);
+ FlowChart::addFlowChart(FlowChart::IF_NO,0,s);
}
if (!hasError) {
@@ -4957,7 +4957,7 @@ s.prepend("if ");
if (!hasError) {
s1.prepend("elsif ");
- FlowChart::addFlowChart(FlowChart::ELSIF_NO,0,s1.data());
+ FlowChart::addFlowChart(FlowChart::ELSIF_NO,0,s1.data());
}
if (!hasError) {
@@ -5020,7 +5020,7 @@ FlowChart::addFlowChart(FlowChart::ELSE_NO,0,0);
}
FlowChart::moveToPrevLevel();
- FlowChart::addFlowChart(FlowChart::ENDIF_NO,0,0);
+ FlowChart::addFlowChart(FlowChart::ENDIF_NO,0,0);
}
@@ -5406,10 +5406,9 @@ return s;
}
if (!hasError) {
-if (parse_sec==GEN_SEC)
-
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,s1.data(),0,Public);
- return s;
+if (m_sharedState->parse_sec==GEN_SEC)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,s1.data(),0,Public);
+ return s;
}
break;
@@ -5453,8 +5452,8 @@ QCString VhdlParser::interface_file_declaration() {QCString s,s1;if (!hasError)
s1 = subtype_indication();
}
-addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
- return " file "+s+":"+s1;
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
+ return " file "+s+":"+s1;
assert(false);
}
@@ -5614,32 +5613,32 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
}
if(tok)
- s5=tok->image.c_str();
+ s5=tok->image.c_str();
- if(tok1)
- s3=tok1->image.data();
+ if(tok1)
+ s3=tok1->image.data();
- if(tok2)
- s3+=":=";
+ if(tok2)
+ s3+=":=";
- QCString it=s+":"+s1+" "+s2+" "+s3+" "+s4;
- if (currP!=VhdlDocGen::COMPONENT)
- {
- if (currP==VhdlDocGen::FUNCTION || currP==VhdlDocGen::PROCEDURE)
- {
- addProto(s5.data(),s.data(),s1.data(),s2.data(),s3.data(),s4.data());
- }
- else
- {
- QCString i=s2+s3+s4;
- if (currP==VhdlDocGen::GENERIC && param_sec==0)
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,i.data(),s1.data(),Public);
- else if(parse_sec != GEN_SEC)
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,i.data(),s1.data(),Public);
- }
- // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
- } // if component
- return it;
+ QCString it=s+":"+s1+" "+s2+" "+s3+" "+s4;
+ if (m_sharedState->currP!=VhdlDocGen::COMPONENT)
+ {
+ if (m_sharedState->currP==VhdlDocGen::FUNCTION || m_sharedState->currP==VhdlDocGen::PROCEDURE)
+ {
+ outlineParser()->addProto(s5.data(),s.data(),s1.data(),s2.data(),s3.data(),s4.data());
+ }
+ else
+ {
+ QCString i=s2+s3+s4;
+ if (m_sharedState->currP==VhdlDocGen::GENERIC && m_sharedState->param_sec==0)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
+ else if(m_sharedState->parse_sec != GEN_SEC)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
+ }
+ // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
+ } // if component
+ return it;
assert(false);
}
@@ -5657,8 +5656,8 @@ QCString VhdlParser::iteration_scheme() {QCString s;
if (!hasError) {
s.prepend("while ");
- FlowChart::addFlowChart(FlowChart::WHILE_NO,0,s.data(),lab.data());
- lab="";
+ FlowChart::addFlowChart(FlowChart::WHILE_NO,0,s.data(),m_sharedState->lab.data());
+ m_sharedState->lab="";
return s;
}
@@ -5674,9 +5673,9 @@ s.prepend("while ");
}
if (!hasError) {
-QCString q=lab+" for "+s;
- FlowChart::addFlowChart(FlowChart::FOR_NO,0,q.data(),lab.data());
- lab="";
+QCString q=m_sharedState->lab+" for "+s;
+ FlowChart::addFlowChart(FlowChart::FOR_NO,0,q.data(),m_sharedState->lab.data());
+ m_sharedState->lab="";
return q;
}
@@ -5717,9 +5716,9 @@ QCString VhdlParser::library_clause() {QCString s;if (!hasError) {
}
-if ( parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
+if ( m_sharedState->parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
{
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Public);
}
QCString s1="library "+s;
return s1;
@@ -6469,7 +6468,7 @@ QCString VhdlParser::next_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;i
if(t) s+=":";
FlowChart::addFlowChart(FlowChart::NEXT_NO,"next ",s2.data(),s1.data());
- lab.resize(0);
+ m_sharedState->lab.resize(0);
if(t1) s2.prepend("when ");
return s+s1+s2+";";
assert(false);
@@ -6694,9 +6693,9 @@ void VhdlParser::package_body() {QCString s;if (!hasError) {
}
if (!hasError) {
-lastCompound=current.get();
+m_sharedState->lastCompound=m_sharedState->current;
s.prepend("_");
- addVhdlType(s,getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
+ outlineParser()->addVhdlType(s,outlineParser()->getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
}
if (!hasError) {
@@ -6748,7 +6747,7 @@ lastCompound=current.get();
jj_consume_token(SEMI_T);
}
-lastCompound=0; genLabels.resize(0);
+m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0);
}
@@ -6889,16 +6888,16 @@ void VhdlParser::package_declaration() {QCString s;if (!hasError) {
}
if (!hasError) {
-lastCompound=current.get();
- std::shared_ptr<Entry> clone=std::make_shared<Entry>(*current);
+m_sharedState->lastCompound=m_sharedState->current;
+ std::shared_ptr<Entry> clone=std::make_shared<Entry>(*m_sharedState->current);
clone->section=Entry::NAMESPACE_SEC;
clone->spec=VhdlDocGen::PACKAGE;
clone->name=s;
- clone->startLine=getLine(PACKAGE_T);
- clone->bodyLine=getLine(PACKAGE_T);
+ clone->startLine=outlineParser()->getLine(PACKAGE_T);
+ clone->bodyLine=outlineParser()->getLine(PACKAGE_T);
clone->protection=Package;
- current_root->moveToSubEntryAndKeep(clone);
- addVhdlType(s,getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
+ m_sharedState->current_root->moveToSubEntryAndKeep(clone);
+ outlineParser()->addVhdlType(s,outlineParser()->getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
}
if (!hasError) {
@@ -6946,7 +6945,7 @@ lastCompound=current.get();
jj_consume_token(SEMI_T);
}
-lastEntity=0;lastCompound=0; genLabels.resize(0);
+m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0);
}
@@ -7230,7 +7229,7 @@ QCString VhdlParser::physical_type_definition() {QCString s,s1,s2;if (!hasError)
}
if (!hasError) {
-addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);
}
if (!hasError) {
@@ -7305,7 +7304,7 @@ void VhdlParser::port_clause() {if (!hasError) {
jj_consume_token(SEMI_T);
}
-currP=0;
+m_sharedState->currP=0;
}
@@ -7791,9 +7790,9 @@ void VhdlParser::process_statement() {QCString s,s1,s2;Token *tok=0;if (!hasErro
}
if (!hasError) {
-currP=VhdlDocGen::PROCESS;
- current->startLine=getLine();
- current->bodyLine=getLine();
+m_sharedState->currP=VhdlDocGen::PROCESS;
+ m_sharedState->current->startLine=outlineParser()->getLine();
+ m_sharedState->current->bodyLine=outlineParser()->getLine();
}
if (!hasError) {
@@ -7922,20 +7921,20 @@ if (s2.data())
}
if(s.isEmpty())
- currName=VhdlDocGen::getProcessNumber();
- else
- currName=s;
+ m_sharedState->currName=VhdlDocGen::getProcessNumber();
+ else
+ m_sharedState->currName=s;
- current->name=currName;
- tempEntry=current.get();
- current->endBodyLine=getLine();
- currP=0;
- if(tok)
- s1=tok->image.data();
- createFunction(currName,VhdlDocGen::PROCESS,s1.data());
- createFlow();
- currName="";
- newEntry();
+ m_sharedState->current->name=m_sharedState->currName;
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->endBodyLine=outlineParser()->getLine();
+ m_sharedState->currP=0;
+ if(tok)
+ s1=tok->image.data();
+ outlineParser()->createFunction(m_sharedState->currName,VhdlDocGen::PROCESS,s1.data());
+ outlineParser()->createFlow();
+ m_sharedState->currName="";
+ outlineParser()->newEntry();
}
@@ -8463,8 +8462,8 @@ QCString VhdlParser::secondary_unit_declaration() {QCString s,s1;if (!hasError)
jj_consume_token(SEMI_T);
}
-//printf("\n %s %s [%d]",s.data(),s1.data(),getLine());
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public);
+//printf("\n %s %s [%d]",s.data(),s1.data(),outlineParser()->getLine());
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public);
return s+"="+s1;
assert(false);
@@ -9088,7 +9087,7 @@ void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;if (!
if(tok)
s3.prepend(":=");
s4=s1+s2+s3;
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public);
}
@@ -9437,9 +9436,9 @@ if (s.data())
jj_consume_token(SEMI_T);
}
-tempEntry->endBodyLine=getLine(END_T);
- createFlow();
- currP=0;
+m_sharedState->tempEntry->endBodyLine=outlineParser()->getLine(END_T);
+ outlineParser()->createFlow();
+ m_sharedState->currP=0;
}
@@ -9464,7 +9463,7 @@ void VhdlParser::subprogram_declaration() {
}
if (!hasError) {
-currP=0;
+m_sharedState->currP=0;
}
break;
@@ -9747,11 +9746,11 @@ void VhdlParser::subprogram_specification() {QCString s;Token *tok=0;Token *t;
}
if (!hasError) {
-currP=VhdlDocGen::PROCEDURE;
- createFunction(s.data(),currP,0);
- tempEntry=current.get();
- current->startLine=getLine(PROCEDURE_T);
- current->bodyLine=getLine(PROCEDURE_T);
+m_sharedState->currP=VhdlDocGen::PROCEDURE;
+ outlineParser()->createFunction(s.data(),m_sharedState->currP,0);
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->startLine=outlineParser()->getLine(PROCEDURE_T);
+ m_sharedState->current->bodyLine=outlineParser()->getLine(PROCEDURE_T);
}
if (!hasError) {
@@ -9762,7 +9761,7 @@ currP=VhdlDocGen::PROCEDURE;
}
if (!hasError) {
-param_sec=PARAM_SEC;
+m_sharedState->param_sec=PARAM_SEC;
}
if (!hasError) {
@@ -9770,7 +9769,7 @@ param_sec=PARAM_SEC;
}
if (!hasError) {
-param_sec=0;
+m_sharedState->param_sec=0;
}
if (!hasError) {
@@ -9812,7 +9811,7 @@ param_sec=0;
}
if (!hasError) {
-newEntry();
+outlineParser()->newEntry();
}
break;
@@ -9864,21 +9863,21 @@ newEntry();
}
if (!hasError) {
-currP=VhdlDocGen::FUNCTION;
- if(tok)
- createFunction(tok->image.c_str(),currP,s.data());
- else
- createFunction(0,currP,s.data());
- tempEntry=current.get();
- current->startLine=getLine(FUNCTION_T);
- current->bodyLine=getLine(FUNCTION_T);
+m_sharedState->currP=VhdlDocGen::FUNCTION;
+ if(tok)
+ outlineParser()->createFunction(tok->image.c_str(),m_sharedState->currP,s.data());
+ else
+ outlineParser()->createFunction(0,m_sharedState->currP,s.data());
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->startLine=outlineParser()->getLine(FUNCTION_T);
+ m_sharedState->current->bodyLine=outlineParser()->getLine(FUNCTION_T);
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LPAREN_T:{if (!hasError) {
-param_sec=PARAM_SEC;
+m_sharedState->param_sec=PARAM_SEC;
}
if (!hasError) {
@@ -9894,7 +9893,7 @@ param_sec=PARAM_SEC;
}
if (!hasError) {
-param_sec=0;
+m_sharedState->param_sec=0;
}
break;
@@ -9914,9 +9913,9 @@ param_sec=0;
}
if (!hasError) {
-tempEntry=current.get();
- current->type=s;
- newEntry();
+m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->type=s;
+ outlineParser()->newEntry();
}
break;
@@ -9990,7 +9989,7 @@ QCString VhdlParser::subtype_declaration() {QCString s,s1;if (!hasError) {
jj_consume_token(SEMI_T);
}
-addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public);
return " subtype "+s+" is "+s1+";";
assert(false);
}
@@ -10417,9 +10416,9 @@ QCStringList ql1=QCStringList::split(",",s);
{
QCStringList ql=QCStringList::split(".",ql1[j]);
QCString it=ql[1];
- if ( parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
+ if ( m_sharedState->parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
{
- VhdlParser::addVhdlType(it.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::USE,it.data(),"_use_",Public);
+ outlineParser()->addVhdlType(it.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::USE,it.data(),"_use_",Public);
}
}
s1="use "+s;
@@ -10552,25 +10551,26 @@ QCString VhdlParser::variable_declaration() {Token *tok=0;Token *t1=0;QCString s
}
int spec;
- if(t1)
- s2.prepend(":=");
- QCString val=" variable "+s+":"+s1+s2+";";
- QCString it=s1;
- if(tok != 0)
- {
- it.prepend(" shared ");
- val.prepend(" shared");
- spec=VhdlDocGen::SHAREDVARIABLE;
- }
- else
- spec=VhdlDocGen::SHAREDVARIABLE;
+ if(t1)
+ s2.prepend(":=");
+ QCString val=" variable "+s+":"+s1+s2+";";
+ QCString it=s1;
+ if(tok != 0)
+ {
+ it.prepend(" shared ");
+ val.prepend(" shared");
+ spec=VhdlDocGen::SHAREDVARIABLE;
+ }
+ else
+ spec=VhdlDocGen::SHAREDVARIABLE;
- if(t1){
- it+=":=";
- it+=s2;
- }
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public);
- return val;
+ if(t1)
+ {
+ it+=":=";
+ it+=s2;
+ }
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public);
+ return val;
assert(false);
}
@@ -10971,7 +10971,7 @@ QCString VhdlParser::protected_type_declaration() {if (!hasError) {
}
} catch ( ...) {
-error_skipto(END_T);
+outlineParser()->error_skipto(END_T);
}
}
if (!hasError) {
@@ -11102,7 +11102,7 @@ void VhdlParser::context_declaration() {QCString s,s1;if (!hasError) {
}
if (!hasError) {
-parse_sec=CONTEXT_SEC;
+m_sharedState->parse_sec=CONTEXT_SEC;
}
if (!hasError) {
@@ -11165,8 +11165,8 @@ parse_sec=CONTEXT_SEC;
jj_consume_token(SEMI_T);
}
-parse_sec=0;
- addVhdlType(s.data(),getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public);
+m_sharedState->parse_sec=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public);
}
@@ -11259,7 +11259,7 @@ void VhdlParser::package_instantiation_declaration() {QCString s,s1,s2;if (!hasE
}
QCString q=" is new "+s1+s2;
- addVhdlType(s.data(),getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public);
}
@@ -11299,7 +11299,7 @@ QCString VhdlParser::interface_package_declaration() {QCString s,s1;if (!hasErro
}
}
-current->name=s;
+m_sharedState->current->name=s;
return "package "+s+" is new "+s1;
assert(false);
}
@@ -11350,7 +11350,7 @@ QCString VhdlParser::subprogram_instantiation_declaration() {QCString s,s1,s2;if
}
QCString q= " is new "+s1+s2;
- addVhdlType(s.data(),getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public);
return q;
assert(false);
}
@@ -11391,7 +11391,7 @@ void VhdlParser::gen_interface_list() {if (!hasError) {
if (!hasError) {
//int u=s_str.iLine;
- parse_sec=GEN_SEC;
+ m_sharedState->parse_sec=GEN_SEC;
}
if (!hasError) {
@@ -11400,7 +11400,7 @@ void VhdlParser::gen_interface_list() {if (!hasError) {
if (!hasError) {
// QCString vo=$3;
- parse_sec=0;
+ m_sharedState->parse_sec=0;
}
if (!hasError) {
@@ -12608,8 +12608,8 @@ QCString VhdlParser::iproc() {QCString s,s1;if (!hasError) {
s1 = param();
}
-current->name=s;
- return "procedure "+s+s1;
+m_sharedState->current->name=s;
+ return "procedure "+s+s1;
assert(false);
}
@@ -12707,23 +12707,23 @@ QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *
}
QCString q;
- if(t) q=t->image.data();
- if(t2) s3="<>";
- if (!s3.isEmpty())
- {
- s3.prepend(" is ");
- }
- current->name=s;
- if (parse_sec==GEN_SEC)
- {
- QCString ss=q+" function "+s1+" return "+s2+s3;
- int a=getLine(FUNCTION_T);
- int b=getLine(PROCEDURE_T);
-
- if (a>b) b=a;
- addVhdlType(current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Public);
- }
- currP=0;return "";
+ if(t) q=t->image.data();
+ if(t2) s3="<>";
+ if (!s3.isEmpty())
+ {
+ s3.prepend(" is ");
+ }
+ m_sharedState->current->name=s;
+ if (m_sharedState->parse_sec==GEN_SEC)
+ {
+ QCString ss=q+" function "+s1+" return "+s2+s3;
+ int a=outlineParser()->getLine(FUNCTION_T);
+ int b=outlineParser()->getLine(PROCEDURE_T);
+
+ if (a>b) b=a;
+ outlineParser()->addVhdlType(m_sharedState->current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Public);
+ }
+ m_sharedState->currP=0;return "";
assert(false);
}
@@ -12745,7 +12745,7 @@ QCString VhdlParser::param() {QCString s,s1;Token *tok=0;if (!hasError) {
}
if (!hasError) {
-param_sec=PARAM_SEC;
+m_sharedState->param_sec=PARAM_SEC;
}
if (!hasError) {
@@ -12772,12 +12772,11 @@ param_sec=PARAM_SEC;
}
if(tok)
- {
- s = tok->image.data();
-
- }
- param_sec=0;
- return s+"("+s1+")";
+ {
+ s = tok->image.data();
+ }
+ m_sharedState->param_sec=0;
+ return s+"("+s1+")";
assert(false);
}
diff --git a/vhdlparser/VhdlParser.h b/vhdlparser/VhdlParser.h
index efdfe33..f2948a3 100644
--- a/vhdlparser/VhdlParser.h
+++ b/vhdlparser/VhdlParser.h
@@ -1506,13 +1506,6 @@ void parseInline();
{ jj_save(115, xla); }
}
- inline bool jj_3_43()
- {
- if (jj_done) return true;
- if (jj_3R_93()) return true;
- return false;
- }
-
inline bool jj_3R_139()
{
if (jj_done) return true;
@@ -1536,6 +1529,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_197()
+ {
+ if (jj_done) return true;
+ if (jj_3R_346()) return true;
+ return false;
+ }
+
inline bool jj_3R_367()
{
if (jj_done) return true;
@@ -1556,13 +1556,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_197()
- {
- if (jj_done) return true;
- if (jj_3R_346()) return true;
- return false;
- }
-
inline bool jj_3R_400()
{
if (jj_done) return true;
@@ -1727,25 +1720,18 @@ void parseInline();
return false;
}
- inline bool jj_3_38()
- {
- if (jj_done) return true;
- if (jj_scan_token(BASIC_IDENTIFIER)) return true;
- if (jj_scan_token(DOT_T)) return true;
- return false;
- }
-
- inline bool jj_3R_625()
+ inline bool jj_3R_696()
{
if (jj_done) return true;
if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_696()
+ inline bool jj_3_38()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
+ if (jj_scan_token(BASIC_IDENTIFIER)) return true;
+ if (jj_scan_token(DOT_T)) return true;
return false;
}
@@ -1763,6 +1749,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_625()
+ {
+ if (jj_done) return true;
+ if (jj_3R_69()) return true;
+ return false;
+ }
+
inline bool jj_3R_331()
{
if (jj_done) return true;
@@ -1785,6 +1778,19 @@ void parseInline();
return false;
}
+ inline bool jj_3R_426()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(IS_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_696()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(145)) return true;
+ }
+ return false;
+ }
+
inline bool jj_3R_328()
{
if (jj_done) return true;
@@ -1806,19 +1812,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_426()
- {
- if (jj_done) return true;
- if (jj_scan_token(IS_T)) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_696()) {
- jj_scanpos = xsp;
- if (jj_scan_token(145)) return true;
- }
- return false;
- }
-
inline bool jj_3R_173()
{
if (jj_done) return true;
@@ -1917,6 +1910,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_345()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(COMMA_T)) return true;
+ if (jj_3R_69()) return true;
+ return false;
+ }
+
inline bool jj_3R_623()
{
if (jj_done) return true;
@@ -1936,11 +1937,22 @@ void parseInline();
return false;
}
- inline bool jj_3R_345()
+ inline bool jj_3_116()
{
if (jj_done) return true;
- if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_58()) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_424()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(77)) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_520()) jj_scanpos = xsp;
return false;
}
@@ -1988,22 +2000,18 @@ void parseInline();
return false;
}
- inline bool jj_3R_424()
- {
- if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(77)) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_520()) jj_scanpos = xsp;
- return false;
- }
-
- inline bool jj_3_116()
+ inline bool jj_3R_386()
{
if (jj_done) return true;
if (jj_3R_58()) return true;
if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_85()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(134)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(137)) return true;
+ }
return false;
}
@@ -2041,28 +2049,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_386()
- {
- if (jj_done) return true;
- if (jj_3R_58()) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_85()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(134)) {
- jj_scanpos = xsp;
- if (jj_scan_token(137)) return true;
- }
- return false;
- }
-
- inline bool jj_3R_446()
- {
- if (jj_done) return true;
- if (jj_3R_529()) return true;
- return false;
- }
-
inline bool jj_3R_530()
{
if (jj_done) return true;
@@ -2071,16 +2057,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_65()
+ inline bool jj_3R_305()
{
if (jj_done) return true;
- if (jj_scan_token(GROUP_T)) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(IS_T)) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_474()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_384()) return true;
return false;
}
@@ -2092,13 +2072,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_305()
- {
- if (jj_done) return true;
- if (jj_3R_384()) return true;
- return false;
- }
-
inline bool jj_3R_425()
{
if (jj_done) return true;
@@ -2111,6 +2084,19 @@ void parseInline();
return false;
}
+ inline bool jj_3R_65()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(GROUP_T)) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(IS_T)) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_474()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_344()
{
if (jj_done) return true;
@@ -2141,6 +2127,15 @@ void parseInline();
return false;
}
+ inline bool jj_3R_343()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(PROCEDURE_T)) return true;
+ if (jj_3R_69()) return true;
+ if (jj_3R_424()) return true;
+ return false;
+ }
+
inline bool jj_3R_475()
{
if (jj_done) return true;
@@ -2153,20 +2148,29 @@ void parseInline();
return false;
}
- inline bool jj_3R_304()
+ inline bool jj_3R_194()
{
if (jj_done) return true;
- if (jj_3R_58()) return true;
- if (jj_3R_385()) return true;
+ if (jj_3R_344()) return true;
return false;
}
- inline bool jj_3R_343()
+ inline bool jj_3R_193()
{
if (jj_done) return true;
- if (jj_scan_token(PROCEDURE_T)) return true;
- if (jj_3R_69()) return true;
- if (jj_3R_424()) return true;
+ if (jj_3R_343()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_89()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_193()) {
+ jj_scanpos = xsp;
+ if (jj_3R_194()) return true;
+ }
return false;
}
@@ -2196,10 +2200,14 @@ void parseInline();
return false;
}
- inline bool jj_3R_194()
+ inline bool jj_3R_476()
{
if (jj_done) return true;
- if (jj_3R_344()) return true;
+ if (jj_scan_token(ELSE_T)) return true;
+ if (jj_3R_58()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_546()) jj_scanpos = xsp;
return false;
}
@@ -2214,43 +2222,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_193()
- {
- if (jj_done) return true;
- if (jj_3R_343()) return true;
- return false;
- }
-
- inline bool jj_3R_89()
- {
- if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_193()) {
- jj_scanpos = xsp;
- if (jj_3R_194()) return true;
- }
- return false;
- }
-
- inline bool jj_3R_170()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- return false;
- }
-
- inline bool jj_3R_476()
- {
- if (jj_done) return true;
- if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_58()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_546()) jj_scanpos = xsp;
- return false;
- }
-
inline bool jj_3R_385()
{
if (jj_done) return true;
@@ -2263,21 +2234,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_158()
- {
- if (jj_done) return true;
- if (jj_3R_313()) return true;
- return false;
- }
-
- inline bool jj_3R_66()
+ inline bool jj_3R_170()
{
if (jj_done) return true;
- if (jj_scan_token(GENERIC_T)) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_158()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_69()) return true;
return false;
}
@@ -2293,18 +2253,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_447()
- {
- if (jj_done) return true;
- if (jj_3R_405()) return true;
- return false;
- }
-
- inline bool jj_3R_322()
+ inline bool jj_3R_158()
{
if (jj_done) return true;
- if (jj_scan_token(IF_T)) return true;
- if (jj_3R_79()) return true;
+ if (jj_3R_313()) return true;
return false;
}
@@ -2323,23 +2275,29 @@ void parseInline();
return false;
}
- inline bool jj_3R_168()
+ inline bool jj_3R_66()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_321()) {
- jj_scanpos = xsp;
- if (jj_3R_322()) return true;
- }
+ if (jj_scan_token(GENERIC_T)) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_158()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_321()
+ inline bool jj_3R_447()
{
if (jj_done) return true;
- if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_408()) return true;
+ if (jj_3R_405()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_322()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(IF_T)) return true;
+ if (jj_3R_79()) return true;
return false;
}
@@ -2362,35 +2320,23 @@ void parseInline();
return false;
}
- inline bool jj_3R_303()
- {
- if (jj_done) return true;
- if (jj_3R_384()) return true;
- return false;
- }
-
- inline bool jj_3_112()
+ inline bool jj_3R_168()
{
if (jj_done) return true;
- if (jj_3R_142()) return true;
- if (jj_scan_token(DOT_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_321()) {
+ jj_scanpos = xsp;
+ if (jj_3R_322()) return true;
+ }
return false;
}
- inline bool jj_3R_74()
+ inline bool jj_3R_321()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_168()) return true;
- if (jj_scan_token(GENERATE_T)) return true;
- if (jj_3R_169()) return true;
- if (jj_scan_token(END_T)) return true;
- if (jj_scan_token(GENERATE_T)) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_170()) jj_scanpos = xsp;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_scan_token(FOR_T)) return true;
+ if (jj_3R_408()) return true;
return false;
}
@@ -2412,16 +2358,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_104()
- {
- if (jj_done) return true;
- if (jj_3R_59()) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_226()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- return false;
- }
-
inline bool jj_3_115()
{
if (jj_done) return true;
@@ -2446,11 +2382,20 @@ void parseInline();
return false;
}
- inline bool jj_3R_301()
+ inline bool jj_3R_74()
{
if (jj_done) return true;
- if (jj_3R_142()) return true;
- if (jj_scan_token(DOT_T)) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_168()) return true;
+ if (jj_scan_token(GENERATE_T)) return true;
+ if (jj_3R_169()) return true;
+ if (jj_scan_token(END_T)) return true;
+ if (jj_scan_token(GENERATE_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_170()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -2461,14 +2406,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_575()
- {
- if (jj_done) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_58()) return true;
- return false;
- }
-
inline bool jj_3R_686()
{
if (jj_done) return true;
@@ -2488,6 +2425,32 @@ void parseInline();
return false;
}
+ inline bool jj_3R_104()
+ {
+ if (jj_done) return true;
+ if (jj_3R_59()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_226()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3_112()
+ {
+ if (jj_done) return true;
+ if (jj_3R_142()) return true;
+ if (jj_scan_token(DOT_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_575()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_58()) return true;
+ return false;
+ }
+
inline bool jj_3_114()
{
if (jj_done) return true;
@@ -2510,17 +2473,33 @@ void parseInline();
return false;
}
- inline bool jj_3R_444()
+ inline bool jj_3R_303()
{
if (jj_done) return true;
- if (jj_3R_405()) return true;
+ if (jj_3R_384()) return true;
return false;
}
- inline bool jj_3R_463()
+ inline bool jj_3R_301()
{
if (jj_done) return true;
- if (jj_3R_534()) return true;
+ if (jj_3R_142()) return true;
+ if (jj_scan_token(DOT_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_304()
+ {
+ if (jj_done) return true;
+ if (jj_3R_58()) return true;
+ if (jj_3R_385()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_446()
+ {
+ if (jj_done) return true;
+ if (jj_3R_529()) return true;
return false;
}
@@ -2550,6 +2529,20 @@ void parseInline();
return false;
}
+ inline bool jj_3R_463()
+ {
+ if (jj_done) return true;
+ if (jj_3R_534()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_444()
+ {
+ if (jj_done) return true;
+ if (jj_3R_405()) return true;
+ return false;
+ }
+
inline bool jj_3R_143()
{
if (jj_done) return true;
@@ -2567,6 +2560,17 @@ void parseInline();
return false;
}
+ inline bool jj_3R_529()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(ELSE_T)) return true;
+ if (jj_3R_58()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_575()) jj_scanpos = xsp;
+ return false;
+ }
+
inline bool jj_3R_156()
{
if (jj_done) return true;
@@ -2576,21 +2580,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_529()
+ inline bool jj_3_113()
{
if (jj_done) return true;
- if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_58()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_575()) jj_scanpos = xsp;
+ if (jj_3R_143()) return true;
return false;
}
- inline bool jj_3_113()
+ inline bool jj_3R_324()
{
if (jj_done) return true;
- if (jj_3R_143()) return true;
+ if (jj_3R_410()) return true;
return false;
}
@@ -2605,13 +2605,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_324()
- {
- if (jj_done) return true;
- if (jj_3R_410()) return true;
- return false;
- }
-
inline bool jj_3R_368()
{
if (jj_done) return true;
@@ -2629,16 +2622,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_63()
- {
- if (jj_done) return true;
- if (jj_3R_59()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_156()) jj_scanpos = xsp;
- return false;
- }
-
inline bool jj_3R_269()
{
if (jj_done) return true;
@@ -2646,10 +2629,13 @@ void parseInline();
return false;
}
- inline bool jj_3R_570()
+ inline bool jj_3R_63()
{
if (jj_done) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_59()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_156()) jj_scanpos = xsp;
return false;
}
@@ -2672,6 +2658,21 @@ void parseInline();
return false;
}
+ inline bool jj_3R_570()
+ {
+ if (jj_done) return true;
+ if (jj_3R_313()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_555()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(AT_T)) return true;
+ if (jj_3R_59()) return true;
+ return false;
+ }
+
inline bool jj_3R_398()
{
if (jj_done) return true;
@@ -2679,6 +2680,15 @@ void parseInline();
return false;
}
+ inline bool jj_3R_302()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_58()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_312()
{
if (jj_done) return true;
@@ -2698,6 +2708,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_111()
+ {
+ if (jj_done) return true;
+ if (jj_3R_141()) return true;
+ return false;
+ }
+
inline bool jj_3R_141()
{
if (jj_done) return true;
@@ -2711,24 +2728,7 @@ void parseInline();
return false;
}
- inline bool jj_3R_555()
- {
- if (jj_done) return true;
- if (jj_scan_token(AT_T)) return true;
- if (jj_3R_59()) return true;
- return false;
- }
-
- inline bool jj_3R_302()
- {
- if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_58()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- return false;
- }
-
- inline bool jj_3_111()
+ inline bool jj_3R_612()
{
if (jj_done) return true;
if (jj_3R_141()) return true;
@@ -2744,10 +2744,13 @@ void parseInline();
return false;
}
- inline bool jj_3R_612()
+ inline bool jj_3R_142()
{
if (jj_done) return true;
- if (jj_3R_141()) return true;
+ if (jj_3R_69()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_302()) jj_scanpos = xsp;
return false;
}
@@ -2770,16 +2773,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_142()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_302()) jj_scanpos = xsp;
- return false;
- }
-
inline bool jj_3R_640()
{
if (jj_done) return true;
@@ -2788,13 +2781,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_581()
- {
- if (jj_done) return true;
- if (jj_3R_58()) return true;
- return false;
- }
-
inline bool jj_3R_611()
{
if (jj_done) return true;
@@ -2807,6 +2793,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_581()
+ {
+ if (jj_done) return true;
+ if (jj_3R_58()) return true;
+ return false;
+ }
+
inline bool jj_3_110()
{
if (jj_done) return true;
@@ -2842,6 +2835,27 @@ void parseInline();
return false;
}
+ inline bool jj_3R_609()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(DOT_T)) return true;
+ if (jj_3R_141()) return true;
+ if (jj_3R_69()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_553()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_609()) {
+ jj_scanpos = xsp;
+ if (jj_3R_610()) return true;
+ }
+ return false;
+ }
+
inline bool jj_3R_376()
{
if (jj_done) return true;
@@ -2863,32 +2877,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_609()
+ inline bool jj_3R_489()
{
if (jj_done) return true;
- if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_141()) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_555()) return true;
return false;
}
- inline bool jj_3R_553()
+ inline bool jj_3R_284()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_609()) {
- jj_scanpos = xsp;
- if (jj_3R_610()) return true;
- }
+ if (jj_scan_token(NOT_T)) return true;
+ if (jj_3R_370()) return true;
return false;
}
- inline bool jj_3R_284()
+ inline bool jj_3R_488()
{
if (jj_done) return true;
- if (jj_scan_token(NOT_T)) return true;
- if (jj_3R_370()) return true;
+ if (jj_3R_554()) return true;
return false;
}
@@ -2900,17 +2907,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_489()
+ inline bool jj_3R_396()
{
if (jj_done) return true;
- if (jj_3R_555()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_487()) {
+ jj_scanpos = xsp;
+ if (jj_3R_488()) {
+ jj_scanpos = xsp;
+ if (jj_3R_489()) return true;
+ }
+ }
return false;
}
- inline bool jj_3R_488()
+ inline bool jj_3R_487()
{
if (jj_done) return true;
- if (jj_3R_554()) return true;
+ if (jj_3R_553()) return true;
return false;
}
@@ -2939,32 +2954,24 @@ void parseInline();
return false;
}
- inline bool jj_3R_396()
+ inline bool jj_3_107()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_487()) {
- jj_scanpos = xsp;
- if (jj_3R_488()) {
- jj_scanpos = xsp;
- if (jj_3R_489()) return true;
- }
- }
+ if (jj_3R_138()) return true;
return false;
}
- inline bool jj_3R_487()
+ inline bool jj_3R_486()
{
if (jj_done) return true;
- if (jj_3R_553()) return true;
+ if (jj_scan_token(VARIABLE_T)) return true;
return false;
}
- inline bool jj_3_107()
+ inline bool jj_3R_485()
{
if (jj_done) return true;
- if (jj_3R_138()) return true;
+ if (jj_scan_token(SIGNAL_T)) return true;
return false;
}
@@ -2976,25 +2983,33 @@ void parseInline();
return false;
}
- inline bool jj_3R_486()
+ inline bool jj_3R_146()
{
if (jj_done) return true;
- if (jj_scan_token(VARIABLE_T)) return true;
+ if (jj_3R_309()) return true;
+ if (jj_3R_145()) return true;
return false;
}
- inline bool jj_3R_146()
+ inline bool jj_3R_395()
{
if (jj_done) return true;
- if (jj_3R_309()) return true;
- if (jj_3R_145()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_484()) {
+ jj_scanpos = xsp;
+ if (jj_3R_485()) {
+ jj_scanpos = xsp;
+ if (jj_3R_486()) return true;
+ }
+ }
return false;
}
- inline bool jj_3R_485()
+ inline bool jj_3R_484()
{
if (jj_done) return true;
- if (jj_scan_token(SIGNAL_T)) return true;
+ if (jj_scan_token(CONSTANT_T)) return true;
return false;
}
@@ -3019,25 +3034,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_395()
+ inline bool jj_3_109()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_484()) {
- jj_scanpos = xsp;
- if (jj_3R_485()) {
- jj_scanpos = xsp;
- if (jj_3R_486()) return true;
- }
- }
+ if (jj_3R_140()) return true;
return false;
}
- inline bool jj_3R_484()
+ inline bool jj_3R_275()
{
if (jj_done) return true;
- if (jj_scan_token(CONSTANT_T)) return true;
+ if (jj_3R_132()) return true;
return false;
}
@@ -3055,20 +3062,6 @@ void parseInline();
return false;
}
- inline bool jj_3_109()
- {
- if (jj_done) return true;
- if (jj_3R_140()) return true;
- return false;
- }
-
- inline bool jj_3R_275()
- {
- if (jj_done) return true;
- if (jj_3R_132()) return true;
- return false;
- }
-
inline bool jj_3R_309()
{
if (jj_done) return true;
@@ -3112,18 +3105,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_58()
- {
- if (jj_done) return true;
- if (jj_3R_145()) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_146()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
inline bool jj_3R_409()
{
if (jj_done) return true;
@@ -3143,6 +3124,18 @@ void parseInline();
return false;
}
+ inline bool jj_3R_58()
+ {
+ if (jj_done) return true;
+ if (jj_3R_145()) return true;
+ Token * xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_146()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
inline bool jj_3R_169()
{
if (jj_done) return true;
@@ -3171,33 +3164,33 @@ void parseInline();
return false;
}
- inline bool jj_3R_265()
+ inline bool jj_3R_235()
{
if (jj_done) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_79()) return true;
+ if (jj_3R_132()) return true;
return false;
}
- inline bool jj_3R_235()
+ inline bool jj_3_108()
{
if (jj_done) return true;
- if (jj_3R_132()) return true;
+ if (jj_3R_139()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_263()
+ inline bool jj_3R_265()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3_108()
+ inline bool jj_3R_263()
{
if (jj_done) return true;
- if (jj_3R_139()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -3228,6 +3221,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_641()
+ {
+ if (jj_done) return true;
+ if (jj_3R_132()) return true;
+ return false;
+ }
+
inline bool jj_3R_688()
{
if (jj_done) return true;
@@ -3242,13 +3242,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_641()
- {
- if (jj_done) return true;
- if (jj_3R_132()) return true;
- return false;
- }
-
inline bool jj_3R_652()
{
if (jj_done) return true;
@@ -3262,13 +3255,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_208()
- {
- if (jj_done) return true;
- if (jj_3R_352()) return true;
- return false;
- }
-
inline bool jj_3R_619()
{
if (jj_done) return true;
@@ -3281,6 +3267,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_208()
+ {
+ if (jj_done) return true;
+ if (jj_3R_352()) return true;
+ return false;
+ }
+
inline bool jj_3R_207()
{
if (jj_done) return true;
@@ -3300,13 +3293,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_695()
- {
- if (jj_done) return true;
- if (jj_3R_352()) return true;
- return false;
- }
-
inline bool jj_3R_561()
{
if (jj_done) return true;
@@ -3317,6 +3303,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_695()
+ {
+ if (jj_done) return true;
+ if (jj_3R_352()) return true;
+ return false;
+ }
+
inline bool jj_3R_694()
{
if (jj_done) return true;
@@ -3401,6 +3394,22 @@ void parseInline();
return false;
}
+ inline bool jj_3R_130()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(FUNCTION_T)) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(IS_T)) return true;
+ if (jj_scan_token(NEW_T)) return true;
+ if (jj_3R_59()) return true;
+ if (jj_3R_234()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_275()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_638()
{
if (jj_done) return true;
@@ -3435,22 +3444,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_130()
- {
- if (jj_done) return true;
- if (jj_scan_token(FUNCTION_T)) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(IS_T)) return true;
- if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_59()) return true;
- if (jj_3R_234()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_275()) jj_scanpos = xsp;
- if (jj_scan_token(SEMI_T)) return true;
- return false;
- }
-
inline bool jj_3R_107()
{
if (jj_done) return true;
@@ -3560,17 +3553,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_606()
+ inline bool jj_3R_719()
{
if (jj_done) return true;
- if (jj_scan_token(BOX_T)) return true;
+ if (jj_3R_379()) return true;
return false;
}
- inline bool jj_3R_719()
+ inline bool jj_3R_606()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_scan_token(BOX_T)) return true;
return false;
}
@@ -3618,18 +3611,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_474()
- {
- if (jj_done) return true;
- if (jj_3R_542()) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_543()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
inline bool jj_3R_658()
{
if (jj_done) return true;
@@ -3643,20 +3624,22 @@ void parseInline();
return false;
}
- inline bool jj_3R_692()
+ inline bool jj_3R_474()
{
if (jj_done) return true;
- if (jj_3R_702()) return true;
+ if (jj_3R_542()) return true;
+ Token * xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_543()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- inline bool jj_3R_542()
+ inline bool jj_3R_692()
{
if (jj_done) return true;
- if (jj_3R_540()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_606()) jj_scanpos = xsp;
+ if (jj_3R_702()) return true;
return false;
}
@@ -3678,19 +3661,13 @@ void parseInline();
return false;
}
- inline bool jj_3R_620()
- {
- if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- return false;
- }
-
- inline bool jj_3R_602()
+ inline bool jj_3R_542()
{
if (jj_done) return true;
- if (jj_scan_token(FILE_T)) return true;
+ if (jj_3R_540()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_606()) jj_scanpos = xsp;
return false;
}
@@ -3701,24 +3678,19 @@ void parseInline();
return false;
}
- inline bool jj_3R_601()
- {
- if (jj_done) return true;
- if (jj_scan_token(GROUP_T)) return true;
- return false;
- }
-
- inline bool jj_3R_600()
+ inline bool jj_3R_620()
{
if (jj_done) return true;
- if (jj_scan_token(UNITS_T)) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_599()
+ inline bool jj_3R_602()
{
if (jj_done) return true;
- if (jj_scan_token(LITERAL_T)) return true;
+ if (jj_scan_token(FILE_T)) return true;
return false;
}
@@ -3736,10 +3708,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_598()
+ inline bool jj_3R_601()
{
if (jj_done) return true;
- if (jj_scan_token(LABEL_T)) return true;
+ if (jj_scan_token(GROUP_T)) return true;
return false;
}
@@ -3750,17 +3722,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_597()
+ inline bool jj_3R_600()
{
if (jj_done) return true;
- if (jj_scan_token(COMPONENT_T)) return true;
+ if (jj_scan_token(UNITS_T)) return true;
return false;
}
- inline bool jj_3R_596()
+ inline bool jj_3R_599()
{
if (jj_done) return true;
- if (jj_scan_token(VARIABLE_T)) return true;
+ if (jj_scan_token(LITERAL_T)) return true;
return false;
}
@@ -3771,17 +3743,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_595()
+ inline bool jj_3R_598()
{
if (jj_done) return true;
- if (jj_scan_token(SIGNAL_T)) return true;
+ if (jj_scan_token(LABEL_T)) return true;
return false;
}
- inline bool jj_3R_594()
+ inline bool jj_3R_597()
{
if (jj_done) return true;
- if (jj_scan_token(CONSTANT_T)) return true;
+ if (jj_scan_token(COMPONENT_T)) return true;
return false;
}
@@ -3792,10 +3764,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_593()
+ inline bool jj_3R_596()
{
if (jj_done) return true;
- if (jj_scan_token(SUBTYPE_T)) return true;
+ if (jj_scan_token(VARIABLE_T)) return true;
return false;
}
@@ -3806,10 +3778,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_592()
+ inline bool jj_3R_595()
{
if (jj_done) return true;
- if (jj_scan_token(TYPE_T)) return true;
+ if (jj_scan_token(SIGNAL_T)) return true;
return false;
}
@@ -3820,10 +3792,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_591()
+ inline bool jj_3R_594()
{
if (jj_done) return true;
- if (jj_scan_token(PACKAGE_T)) return true;
+ if (jj_scan_token(CONSTANT_T)) return true;
return false;
}
@@ -3834,10 +3806,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_590()
+ inline bool jj_3R_593()
{
if (jj_done) return true;
- if (jj_scan_token(FUNCTION_T)) return true;
+ if (jj_scan_token(SUBTYPE_T)) return true;
return false;
}
@@ -3848,10 +3820,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_589()
+ inline bool jj_3R_592()
{
if (jj_done) return true;
- if (jj_scan_token(PROCEDURE_T)) return true;
+ if (jj_scan_token(TYPE_T)) return true;
return false;
}
@@ -3862,10 +3834,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_588()
+ inline bool jj_3R_591()
{
if (jj_done) return true;
- if (jj_scan_token(CONFIGURATION_T)) return true;
+ if (jj_scan_token(PACKAGE_T)) return true;
return false;
}
@@ -3876,10 +3848,24 @@ void parseInline();
return false;
}
- inline bool jj_3R_587()
+ inline bool jj_3R_590()
{
if (jj_done) return true;
- if (jj_scan_token(ARCHITECTURE_T)) return true;
+ if (jj_scan_token(FUNCTION_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_589()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(PROCEDURE_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_588()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(CONFIGURATION_T)) return true;
return false;
}
@@ -3935,6 +3921,20 @@ void parseInline();
return false;
}
+ inline bool jj_3R_587()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(ARCHITECTURE_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_252()
+ {
+ if (jj_done) return true;
+ if (jj_3R_364()) return true;
+ return false;
+ }
+
inline bool jj_3R_586()
{
if (jj_done) return true;
@@ -3999,13 +3999,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_252()
- {
- if (jj_done) return true;
- if (jj_3R_364()) return true;
- return false;
- }
-
inline bool jj_3R_564()
{
if (jj_done) return true;
@@ -4021,6 +4014,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_528()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(AFTER_T)) return true;
+ if (jj_3R_58()) return true;
+ return false;
+ }
+
inline bool jj_3R_562()
{
if (jj_done) return true;
@@ -4032,14 +4033,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_528()
- {
- if (jj_done) return true;
- if (jj_scan_token(AFTER_T)) return true;
- if (jj_3R_58()) return true;
- return false;
- }
-
inline bool jj_3R_506()
{
if (jj_done) return true;
@@ -4096,13 +4089,6 @@ void parseInline();
return false;
}
- inline bool jj_3_30()
- {
- if (jj_done) return true;
- if (jj_3R_84()) return true;
- return false;
- }
-
inline bool jj_3R_445()
{
if (jj_done) return true;
@@ -4113,28 +4099,25 @@ void parseInline();
return false;
}
- inline bool jj_3_29()
+ inline bool jj_3_30()
{
if (jj_done) return true;
- if (jj_3R_83()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_359()
+ inline bool jj_3_29()
{
if (jj_done) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(ARROW_T)) return true;
+ if (jj_3R_83()) return true;
return false;
}
- inline bool jj_3R_236()
+ inline bool jj_3R_359()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_359()) jj_scanpos = xsp;
- if (jj_3R_58()) return true;
+ if (jj_3R_85()) return true;
+ if (jj_scan_token(ARROW_T)) return true;
return false;
}
@@ -4145,10 +4128,13 @@ void parseInline();
return false;
}
- inline bool jj_3R_160()
+ inline bool jj_3R_236()
{
if (jj_done) return true;
- if (jj_3R_84()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_359()) jj_scanpos = xsp;
+ if (jj_3R_58()) return true;
return false;
}
@@ -4176,6 +4162,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_160()
+ {
+ if (jj_done) return true;
+ if (jj_3R_84()) return true;
+ return false;
+ }
+
inline bool jj_3R_159()
{
if (jj_done) return true;
@@ -4203,15 +4196,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_471()
- {
- if (jj_done) return true;
- if (jj_3R_541()) return true;
- if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_59()) return true;
- return false;
- }
-
inline bool jj_3R_117()
{
if (jj_done) return true;
@@ -4229,6 +4213,15 @@ void parseInline();
return false;
}
+ inline bool jj_3R_471()
+ {
+ if (jj_done) return true;
+ if (jj_3R_541()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_59()) return true;
+ return false;
+ }
+
inline bool jj_3R_381()
{
if (jj_done) return true;
@@ -4255,6 +4248,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_155()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(COMMA_T)) return true;
+ if (jj_3R_154()) return true;
+ return false;
+ }
+
inline bool jj_3R_109()
{
if (jj_done) return true;
@@ -4274,14 +4275,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_155()
- {
- if (jj_done) return true;
- if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_154()) return true;
- return false;
- }
-
inline bool jj_3R_569()
{
if (jj_done) return true;
@@ -4332,6 +4325,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_473()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(COMMA_T)) return true;
+ if (jj_3R_472()) return true;
+ return false;
+ }
+
inline bool jj_3R_559()
{
if (jj_done) return true;
@@ -4340,11 +4341,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_473()
+ inline bool jj_3R_440()
{
if (jj_done) return true;
- if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_472()) return true;
+ if (jj_3R_527()) return true;
return false;
}
@@ -4358,13 +4358,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_440()
- {
- if (jj_done) return true;
- if (jj_3R_527()) return true;
- return false;
- }
-
inline bool jj_3R_405()
{
if (jj_done) return true;
@@ -4488,20 +4481,20 @@ void parseInline();
return false;
}
- inline bool jj_3R_704()
+ inline bool jj_3R_157()
{
if (jj_done) return true;
- if (jj_scan_token(ARRAY_T)) return true;
- if (jj_3R_82()) return true;
- if (jj_scan_token(OF_T)) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_157()
+ inline bool jj_3R_704()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_scan_token(ARRAY_T)) return true;
+ if (jj_3R_82()) return true;
+ if (jj_scan_token(OF_T)) return true;
+ if (jj_3R_84()) return true;
return false;
}
@@ -4526,31 +4519,31 @@ void parseInline();
return false;
}
- inline bool jj_3R_373()
+ inline bool jj_3R_635()
{
if (jj_done) return true;
- if (jj_scan_token(CONSTANT_T)) return true;
- if (jj_3R_196()) return true;
- if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_84()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_459()) jj_scanpos = xsp;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_656()) return true;
return false;
}
- inline bool jj_3R_635()
+ inline bool jj_3R_634()
{
if (jj_done) return true;
- if (jj_3R_656()) return true;
+ if (jj_3R_655()) return true;
return false;
}
- inline bool jj_3R_634()
+ inline bool jj_3R_373()
{
if (jj_done) return true;
- if (jj_3R_655()) return true;
+ if (jj_scan_token(CONSTANT_T)) return true;
+ if (jj_3R_196()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_84()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_459()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -4592,27 +4585,27 @@ void parseInline();
return false;
}
- inline bool jj_3R_380()
+ inline bool jj_3_99()
{
if (jj_done) return true;
- if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_177()) return true;
- if (jj_3R_332()) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_133()) return true;
return false;
}
- inline bool jj_3_99()
+ inline bool jj_3R_458()
{
if (jj_done) return true;
- if (jj_3R_133()) return true;
+ if (jj_3R_532()) return true;
return false;
}
- inline bool jj_3R_458()
+ inline bool jj_3R_380()
{
if (jj_done) return true;
- if (jj_3R_532()) return true;
+ if (jj_scan_token(FOR_T)) return true;
+ if (jj_3R_177()) return true;
+ if (jj_3R_332()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -4642,6 +4635,16 @@ void parseInline();
return false;
}
+ inline bool jj_3R_105()
+ {
+ if (jj_done) return true;
+ if (jj_3R_59()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_58()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_566()
{
if (jj_done) return true;
@@ -4661,16 +4664,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_105()
- {
- if (jj_done) return true;
- if (jj_3R_59()) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_58()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- return false;
- }
-
inline bool jj_3_101()
{
if (jj_done) return true;
@@ -4753,34 +4746,34 @@ void parseInline();
return false;
}
- inline bool jj_3_25()
+ inline bool jj_3R_217()
{
if (jj_done) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_79()) return true;
- if (jj_scan_token(ELSE_T)) return true;
+ if (jj_3R_310()) return true;
return false;
}
- inline bool jj_3R_350()
+ inline bool jj_3R_216()
{
if (jj_done) return true;
- if (jj_scan_token(CONFIGURATION_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_352()) return true;
return false;
}
- inline bool jj_3R_217()
+ inline bool jj_3_25()
{
if (jj_done) return true;
- if (jj_3R_310()) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_79()) return true;
+ if (jj_scan_token(ELSE_T)) return true;
return false;
}
- inline bool jj_3R_216()
+ inline bool jj_3R_350()
{
if (jj_done) return true;
- if (jj_3R_352()) return true;
+ if (jj_scan_token(CONFIGURATION_T)) return true;
+ if (jj_3R_69()) return true;
return false;
}
@@ -4809,14 +4802,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_320()
- {
- if (jj_done) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_79()) return true;
- return false;
- }
-
inline bool jj_3R_183()
{
if (jj_done) return true;
@@ -4824,13 +4809,11 @@ void parseInline();
return false;
}
- inline bool jj_3R_319()
+ inline bool jj_3R_320()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
if (jj_3R_79()) return true;
- if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_318()) return true;
return false;
}
@@ -4846,6 +4829,16 @@ void parseInline();
return false;
}
+ inline bool jj_3R_319()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_79()) return true;
+ if (jj_scan_token(ELSE_T)) return true;
+ if (jj_3R_318()) return true;
+ return false;
+ }
+
inline bool jj_3R_167()
{
if (jj_done) return true;
@@ -4860,17 +4853,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_71()
- {
- if (jj_done) return true;
- if (jj_3R_114()) return true;
- if (jj_scan_token(LESSTHAN_T)) return true;
- if (jj_3R_166()) return true;
- if (jj_3R_167()) return true;
- if (jj_scan_token(SEMI_T)) return true;
- return false;
- }
-
inline bool jj_3R_372()
{
if (jj_done) return true;
@@ -4889,6 +4871,17 @@ void parseInline();
return false;
}
+ inline bool jj_3R_71()
+ {
+ if (jj_done) return true;
+ if (jj_3R_114()) return true;
+ if (jj_scan_token(LESSTHAN_T)) return true;
+ if (jj_3R_166()) return true;
+ if (jj_3R_167()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_572()
{
if (jj_done) return true;
@@ -4908,13 +4901,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_79()
- {
- if (jj_done) return true;
- if (jj_3R_58()) return true;
- return false;
- }
-
inline bool jj_3R_524()
{
if (jj_done) return true;
@@ -4924,19 +4910,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_522()
- {
- if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_313()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- return false;
- }
-
- inline bool jj_3_97()
+ inline bool jj_3R_79()
{
if (jj_done) return true;
- if (jj_3R_132()) return true;
+ if (jj_3R_58()) return true;
return false;
}
@@ -4947,13 +4924,6 @@ void parseInline();
return false;
}
- inline bool jj_3_96()
- {
- if (jj_done) return true;
- if (jj_3R_131()) return true;
- return false;
- }
-
inline bool jj_3_23()
{
if (jj_done) return true;
@@ -4980,11 +4950,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_75()
+ inline bool jj_3_97()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_132()) return true;
return false;
}
@@ -5003,6 +4972,30 @@ void parseInline();
return false;
}
+ inline bool jj_3R_75()
+ {
+ if (jj_done) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3_96()
+ {
+ if (jj_done) return true;
+ if (jj_3R_131()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_522()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_313()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ return false;
+ }
+
inline bool jj_3_21()
{
if (jj_done) return true;
@@ -5088,13 +5081,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_500()
- {
- if (jj_done) return true;
- if (jj_3R_561()) return true;
- return false;
- }
-
inline bool jj_3R_347()
{
if (jj_done) return true;
@@ -5123,17 +5109,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_499()
+ inline bool jj_3R_500()
{
if (jj_done) return true;
- if (jj_3R_74()) return true;
+ if (jj_3R_561()) return true;
return false;
}
- inline bool jj_3R_498()
+ inline bool jj_3R_499()
{
if (jj_done) return true;
- if (jj_3R_88()) return true;
+ if (jj_3R_74()) return true;
return false;
}
@@ -5149,6 +5135,31 @@ void parseInline();
return false;
}
+ inline bool jj_3R_498()
+ {
+ if (jj_done) return true;
+ if (jj_3R_88()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_630()
+ {
+ if (jj_done) return true;
+ if (jj_3R_653()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_571()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_630()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
inline bool jj_3R_410()
{
if (jj_done) return true;
@@ -5189,13 +5200,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_630()
- {
- if (jj_done) return true;
- if (jj_3R_653()) return true;
- return false;
- }
-
inline bool jj_3_17()
{
if (jj_done) return true;
@@ -5203,17 +5207,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_571()
- {
- if (jj_done) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_630()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
inline bool jj_3_94()
{
if (jj_done) return true;
@@ -5242,32 +5235,32 @@ void parseInline();
return false;
}
- inline bool jj_3R_171()
+ inline bool jj_3_95()
{
if (jj_done) return true;
- if (jj_3R_71()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3_16()
+ inline bool jj_3R_673()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_379()) return true;
return false;
}
- inline bool jj_3_95()
+ inline bool jj_3R_171()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_71()) return true;
return false;
}
- inline bool jj_3R_673()
+ inline bool jj_3_16()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -5287,14 +5280,6 @@ void parseInline();
return false;
}
- inline bool jj_3_15()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
- return false;
- }
-
inline bool jj_3R_672()
{
if (jj_done) return true;
@@ -5316,30 +5301,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_669()
+ inline bool jj_3_15()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_574()
+ inline bool jj_3R_669()
{
if (jj_done) return true;
- if (jj_3R_521()) return true;
+ if (jj_3R_375()) return true;
return false;
}
- inline bool jj_3R_78()
+ inline bool jj_3R_574()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3_15()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(79)) jj_scanpos = xsp;
- if (jj_3R_176()) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_521()) return true;
return false;
}
@@ -5364,6 +5344,19 @@ void parseInline();
return false;
}
+ inline bool jj_3R_78()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3_15()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(79)) jj_scanpos = xsp;
+ if (jj_3R_176()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3_14()
{
if (jj_done) return true;
@@ -5386,19 +5379,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_87()
- {
- if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3_14()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(79)) jj_scanpos = xsp;
- if (jj_3R_187()) return true;
- if (jj_scan_token(SEMI_T)) return true;
- return false;
- }
-
inline bool jj_3R_664()
{
if (jj_done) return true;
@@ -5451,29 +5431,23 @@ void parseInline();
return false;
}
- inline bool jj_3R_679()
- {
- if (jj_done) return true;
- if (jj_3R_691()) return true;
- return false;
- }
-
- inline bool jj_3R_678()
+ inline bool jj_3R_87()
{
if (jj_done) return true;
- if (jj_3R_690()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3_14()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(79)) jj_scanpos = xsp;
+ if (jj_3R_187()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_655()
+ inline bool jj_3R_679()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_678()) {
- jj_scanpos = xsp;
- if (jj_3R_679()) return true;
- }
+ if (jj_3R_691()) return true;
return false;
}
@@ -5485,17 +5459,22 @@ void parseInline();
return false;
}
- inline bool jj_3R_175()
+ inline bool jj_3R_678()
{
if (jj_done) return true;
- if (jj_3R_329()) return true;
+ if (jj_3R_690()) return true;
return false;
}
- inline bool jj_3R_174()
+ inline bool jj_3R_655()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_678()) {
+ jj_scanpos = xsp;
+ if (jj_3R_679()) return true;
+ }
return false;
}
@@ -5525,6 +5504,20 @@ void parseInline();
return false;
}
+ inline bool jj_3R_175()
+ {
+ if (jj_done) return true;
+ if (jj_3R_329()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_174()
+ {
+ if (jj_done) return true;
+ if (jj_3R_70()) return true;
+ return false;
+ }
+
inline bool jj_3R_469()
{
if (jj_done) return true;
@@ -5627,6 +5620,23 @@ void parseInline();
return false;
}
+ inline bool jj_3R_525()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(IS_T)) return true;
+ if (jj_3R_571()) return true;
+ if (jj_scan_token(BEGIN_T)) return true;
+ if (jj_3R_572()) return true;
+ if (jj_scan_token(END_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_573()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_574()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_179()
{
if (jj_done) return true;
@@ -5642,20 +5652,12 @@ void parseInline();
return false;
}
- inline bool jj_3R_525()
+ inline bool jj_3R_614()
{
if (jj_done) return true;
- if (jj_scan_token(IS_T)) return true;
- if (jj_3R_571()) return true;
- if (jj_scan_token(BEGIN_T)) return true;
- if (jj_3R_572()) return true;
- if (jj_scan_token(END_T)) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_573()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_574()) jj_scanpos = xsp;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_58()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -5687,6 +5689,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_356()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(STRINGLITERAL)) return true;
+ return false;
+ }
+
inline bool jj_3R_80()
{
if (jj_done) return true;
@@ -5703,13 +5712,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_356()
- {
- if (jj_done) return true;
- if (jj_scan_token(STRINGLITERAL)) return true;
- return false;
- }
-
inline bool jj_3_12()
{
if (jj_done) return true;
@@ -5765,13 +5767,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_336()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- return false;
- }
-
inline bool jj_3R_68()
{
if (jj_done) return true;
@@ -5786,6 +5781,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_336()
+ {
+ if (jj_done) return true;
+ if (jj_3R_69()) return true;
+ return false;
+ }
+
inline bool jj_3R_335()
{
if (jj_done) return true;
@@ -5809,6 +5811,18 @@ void parseInline();
return false;
}
+ inline bool jj_3R_357()
+ {
+ if (jj_done) return true;
+ if (jj_3R_59()) return true;
+ Token * xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_435()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
inline bool jj_3R_628()
{
if (jj_done) return true;
@@ -5841,18 +5855,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_357()
- {
- if (jj_done) return true;
- if (jj_3R_59()) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_435()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
inline bool jj_3R_234()
{
if (jj_done) return true;
@@ -5866,26 +5868,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_352()
- {
- if (jj_done) return true;
- if (jj_scan_token(CHARACTER_LITERAL)) return true;
- return false;
- }
-
- inline bool jj_3R_614()
+ inline bool jj_3R_605()
{
if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_58()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_scan_token(ALL_T)) return true;
return false;
}
- inline bool jj_3R_605()
+ inline bool jj_3R_352()
{
if (jj_done) return true;
- if (jj_scan_token(ALL_T)) return true;
+ if (jj_scan_token(CHARACTER_LITERAL)) return true;
return false;
}
@@ -5997,18 +5990,18 @@ void parseInline();
return false;
}
- inline bool jj_3R_256()
+ inline bool jj_3_91()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_127()) return true;
return false;
}
- inline bool jj_3_91()
+ inline bool jj_3R_256()
{
if (jj_done) return true;
- if (jj_3R_127()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -6034,6 +6027,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_90()
+ {
+ if (jj_done) return true;
+ if (jj_3R_126()) return true;
+ return false;
+ }
+
inline bool jj_3R_651()
{
if (jj_done) return true;
@@ -6041,10 +6041,10 @@ void parseInline();
return false;
}
- inline bool jj_3_90()
+ inline bool jj_3R_526()
{
if (jj_done) return true;
- if (jj_3R_126()) return true;
+ if (jj_3R_405()) return true;
return false;
}
@@ -6059,13 +6059,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_526()
- {
- if (jj_done) return true;
- if (jj_3R_405()) return true;
- return false;
- }
-
inline bool jj_3_89()
{
if (jj_done) return true;
@@ -6104,14 +6097,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_661()
- {
- if (jj_done) return true;
- if (jj_3R_329()) return true;
- if (jj_scan_token(SEMI_T)) return true;
- return false;
- }
-
inline bool jj_3R_361()
{
if (jj_done) return true;
@@ -6134,6 +6119,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_661()
+ {
+ if (jj_done) return true;
+ if (jj_3R_329()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_507()
{
if (jj_done) return true;
@@ -6143,6 +6136,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_402()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(MINUS_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_560()
{
if (jj_done) return true;
@@ -6166,20 +6166,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_402()
- {
- if (jj_done) return true;
- if (jj_scan_token(MINUS_T)) return true;
- return false;
- }
-
- inline bool jj_3_9()
- {
- if (jj_done) return true;
- if (jj_3R_66()) return true;
- return false;
- }
-
inline bool jj_3R_314()
{
if (jj_done) return true;
@@ -6199,20 +6185,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_552()
+ inline bool jj_3_9()
{
if (jj_done) return true;
- if (jj_scan_token(ROR_T)) return true;
+ if (jj_3R_66()) return true;
return false;
}
- inline bool jj_3R_419()
+ inline bool jj_3R_552()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_507()) jj_scanpos = xsp;
+ if (jj_scan_token(ROR_T)) return true;
return false;
}
@@ -6230,6 +6213,16 @@ void parseInline();
return false;
}
+ inline bool jj_3R_419()
+ {
+ if (jj_done) return true;
+ if (jj_3R_59()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_507()) jj_scanpos = xsp;
+ return false;
+ }
+
inline bool jj_3R_549()
{
if (jj_done) return true;
@@ -6254,16 +6247,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_648()
- {
- if (jj_done) return true;
- if (jj_3R_66()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_660()) jj_scanpos = xsp;
- return false;
- }
-
inline bool jj_3R_547()
{
if (jj_done) return true;
@@ -6295,6 +6278,16 @@ void parseInline();
return false;
}
+ inline bool jj_3R_648()
+ {
+ if (jj_done) return true;
+ if (jj_3R_66()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_660()) jj_scanpos = xsp;
+ return false;
+ }
+
inline bool jj_3R_615()
{
if (jj_done) return true;
@@ -6341,17 +6334,17 @@ void parseInline();
return false;
}
- inline bool jj_3R_300()
+ inline bool jj_3_88()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_3R_125()) return true;
return false;
}
- inline bool jj_3_88()
+ inline bool jj_3R_300()
{
if (jj_done) return true;
- if (jj_3R_125()) return true;
+ if (jj_3R_383()) return true;
return false;
}
@@ -6383,39 +6376,39 @@ void parseInline();
return false;
}
- inline bool jj_3R_298()
+ inline bool jj_3_86()
{
if (jj_done) return true;
- if (jj_3R_381()) return true;
+ if (jj_3R_123()) return true;
return false;
}
- inline bool jj_3R_297()
+ inline bool jj_3R_298()
{
if (jj_done) return true;
- if (jj_3R_380()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3_86()
+ inline bool jj_3R_118()
{
if (jj_done) return true;
- if (jj_3R_123()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_296()
+ inline bool jj_3R_297()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_380()) return true;
return false;
}
- inline bool jj_3R_118()
+ inline bool jj_3R_296()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_379()) return true;
return false;
}
@@ -6437,6 +6430,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_84()
+ {
+ if (jj_done) return true;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
inline bool jj_3R_294()
{
if (jj_done) return true;
@@ -6451,17 +6451,17 @@ void parseInline();
return false;
}
- inline bool jj_3_84()
+ inline bool jj_3R_293()
{
if (jj_done) return true;
- if (jj_3R_121()) return true;
+ if (jj_3R_377()) return true;
return false;
}
- inline bool jj_3R_293()
+ inline bool jj_3_83()
{
if (jj_done) return true;
- if (jj_3R_377()) return true;
+ if (jj_3R_120()) return true;
return false;
}
@@ -6479,24 +6479,24 @@ void parseInline();
return false;
}
- inline bool jj_3_83()
+ inline bool jj_3R_290()
{
if (jj_done) return true;
- if (jj_3R_120()) return true;
+ if (jj_3R_374()) return true;
return false;
}
- inline bool jj_3R_290()
+ inline bool jj_3R_289()
{
if (jj_done) return true;
- if (jj_3R_374()) return true;
+ if (jj_3R_373()) return true;
return false;
}
- inline bool jj_3R_289()
+ inline bool jj_3_82()
{
if (jj_done) return true;
- if (jj_3R_373()) return true;
+ if (jj_3R_119()) return true;
return false;
}
@@ -6521,10 +6521,11 @@ void parseInline();
return false;
}
- inline bool jj_3_82()
+ inline bool jj_3R_113()
{
if (jj_done) return true;
- if (jj_3R_119()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -6535,6 +6536,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_244()
+ {
+ if (jj_done) return true;
+ if (jj_3R_362()) return true;
+ return false;
+ }
+
inline bool jj_3R_140()
{
if (jj_done) return true;
@@ -6596,21 +6604,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_113()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
- return false;
- }
-
- inline bool jj_3R_244()
- {
- if (jj_done) return true;
- if (jj_3R_362()) return true;
- return false;
- }
-
inline bool jj_3_77()
{
if (jj_done) return true;
@@ -6629,6 +6622,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_79()
+ {
+ if (jj_done) return true;
+ if (jj_3R_116()) return true;
+ return false;
+ }
+
inline bool jj_3R_333()
{
if (jj_done) return true;
@@ -6649,13 +6649,6 @@ void parseInline();
return false;
}
- inline bool jj_3_79()
- {
- if (jj_done) return true;
- if (jj_3R_116()) return true;
- return false;
- }
-
inline bool jj_3_78()
{
if (jj_done) return true;
@@ -6733,6 +6726,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_76()
+ {
+ if (jj_done) return true;
+ if (jj_3R_112()) return true;
+ return false;
+ }
+
inline bool jj_3R_94()
{
if (jj_done) return true;
@@ -6749,13 +6749,6 @@ void parseInline();
return false;
}
- inline bool jj_3_76()
- {
- if (jj_done) return true;
- if (jj_3R_112()) return true;
- return false;
- }
-
inline bool jj_3R_259()
{
if (jj_done) return true;
@@ -6781,14 +6774,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_416()
- {
- if (jj_done) return true;
- if (jj_scan_token(USE_T)) return true;
- if (jj_3R_506()) return true;
- return false;
- }
-
inline bool jj_3R_422()
{
if (jj_done) return true;
@@ -6801,6 +6786,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_416()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(USE_T)) return true;
+ if (jj_3R_506()) return true;
+ return false;
+ }
+
inline bool jj_3R_332()
{
if (jj_done) return true;
@@ -6911,14 +6904,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_316()
- {
- if (jj_done) return true;
- if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_315()) return true;
- return false;
- }
-
inline bool jj_3R_677()
{
if (jj_done) return true;
@@ -6929,15 +6914,11 @@ void parseInline();
return false;
}
- inline bool jj_3R_110()
+ inline bool jj_3R_316()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(APOSTROPHE_T)) return true;
- if (jj_3R_59()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_240()) jj_scanpos = xsp;
+ if (jj_scan_token(COMMA_T)) return true;
+ if (jj_3R_315()) return true;
return false;
}
@@ -6960,6 +6941,18 @@ void parseInline();
return false;
}
+ inline bool jj_3R_110()
+ {
+ if (jj_done) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(APOSTROPHE_T)) return true;
+ if (jj_3R_59()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_240()) jj_scanpos = xsp;
+ return false;
+ }
+
inline bool jj_3R_355()
{
if (jj_done) return true;
@@ -6967,6 +6960,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_266()
+ {
+ if (jj_done) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_220()
{
if (jj_done) return true;
@@ -6986,14 +6987,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_266()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
- return false;
- }
-
inline bool jj_3R_125()
{
if (jj_done) return true;
@@ -7058,18 +7051,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_165()
- {
- if (jj_done) return true;
- if (jj_3R_315()) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_316()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
inline bool jj_3R_116()
{
if (jj_done) return true;
@@ -7091,11 +7072,15 @@ void parseInline();
return false;
}
- inline bool jj_3R_403()
+ inline bool jj_3R_165()
{
if (jj_done) return true;
- if (jj_3R_63()) return true;
- if (jj_scan_token(ARROW_T)) return true;
+ if (jj_3R_315()) return true;
+ Token * xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_316()) { jj_scanpos = xsp; break; }
+ }
return false;
}
@@ -7106,20 +7091,18 @@ void parseInline();
return false;
}
- inline bool jj_3R_315()
+ inline bool jj_3R_482()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_403()) jj_scanpos = xsp;
- if (jj_3R_404()) return true;
+ if (jj_scan_token(LESSTHAN_T)) return true;
return false;
}
- inline bool jj_3R_482()
+ inline bool jj_3R_403()
{
if (jj_done) return true;
- if (jj_scan_token(LESSTHAN_T)) return true;
+ if (jj_3R_63()) return true;
+ if (jj_scan_token(ARROW_T)) return true;
return false;
}
@@ -7130,25 +7113,27 @@ void parseInline();
return false;
}
- inline bool jj_3R_480()
+ inline bool jj_3R_315()
{
if (jj_done) return true;
- if (jj_scan_token(EQU_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_403()) jj_scanpos = xsp;
+ if (jj_3R_404()) return true;
return false;
}
- inline bool jj_3R_479()
+ inline bool jj_3R_480()
{
if (jj_done) return true;
- if (jj_scan_token(GT_T)) return true;
+ if (jj_scan_token(EQU_T)) return true;
return false;
}
- inline bool jj_3R_248()
+ inline bool jj_3R_479()
{
if (jj_done) return true;
- if (jj_3R_139()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_scan_token(GT_T)) return true;
return false;
}
@@ -7183,6 +7168,14 @@ void parseInline();
return false;
}
+ inline bool jj_3R_248()
+ {
+ if (jj_done) return true;
+ if (jj_3R_139()) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ return false;
+ }
+
inline bool jj_3R_115()
{
if (jj_done) return true;
@@ -7349,13 +7342,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_466()
- {
- if (jj_done) return true;
- if (jj_3R_234()) return true;
- return false;
- }
-
inline bool jj_3R_61()
{
if (jj_done) return true;
@@ -7388,6 +7374,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_466()
+ {
+ if (jj_done) return true;
+ if (jj_3R_234()) return true;
+ return false;
+ }
+
inline bool jj_3R_192()
{
if (jj_done) return true;
@@ -7452,28 +7445,6 @@ void parseInline();
return false;
}
- inline bool jj_3R_535()
- {
- if (jj_done) return true;
- if (jj_3R_69()) return true;
- return false;
- }
-
- inline bool jj_3R_464()
- {
- if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_535()) {
- jj_scanpos = xsp;
- if (jj_3R_536()) {
- jj_scanpos = xsp;
- if (jj_3R_537()) return true;
- }
- }
- return false;
- }
-
inline bool jj_3R_189()
{
if (jj_done) return true;
@@ -7488,27 +7459,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_465()
+ inline bool jj_3R_535()
{
if (jj_done) return true;
- if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_377()
+ inline bool jj_3R_464()
{
if (jj_done) return true;
- if (jj_scan_token(ALIAS_T)) return true;
- if (jj_3R_464()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_465()) jj_scanpos = xsp;
- if (jj_scan_token(IS_T)) return true;
- if (jj_3R_59()) return true;
- xsp = jj_scanpos;
- if (jj_3R_466()) jj_scanpos = xsp;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_535()) {
+ jj_scanpos = xsp;
+ if (jj_3R_536()) {
+ jj_scanpos = xsp;
+ if (jj_3R_537()) return true;
+ }
+ }
return false;
}
@@ -7520,17 +7489,11 @@ void parseInline();
return false;
}
- inline bool jj_3R_108()
+ inline bool jj_3R_465()
{
if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_236()) return true;
- Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_237()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_84()) return true;
return false;
}
@@ -7560,24 +7523,26 @@ void parseInline();
return false;
}
- inline bool jj_3R_341()
- {
- if (jj_done) return true;
- if (jj_3R_423()) return true;
- return false;
- }
-
- inline bool jj_3R_273()
+ inline bool jj_3R_377()
{
if (jj_done) return true;
- if (jj_scan_token(MINUS_T)) return true;
+ if (jj_scan_token(ALIAS_T)) return true;
+ if (jj_3R_464()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_465()) jj_scanpos = xsp;
+ if (jj_scan_token(IS_T)) return true;
+ if (jj_3R_59()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_466()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_274()
+ inline bool jj_3R_341()
{
if (jj_done) return true;
- if (jj_scan_token(AMPERSAND_T)) return true;
+ if (jj_3R_423()) return true;
return false;
}
@@ -7592,39 +7557,38 @@ void parseInline();
return false;
}
- inline bool jj_3R_128()
+ inline bool jj_3R_108()
{
if (jj_done) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_236()) return true;
Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_272()) {
- jj_scanpos = xsp;
- if (jj_3R_273()) {
- jj_scanpos = xsp;
- if (jj_3R_274()) return true;
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_237()) { jj_scanpos = xsp; break; }
}
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_272()
+ inline bool jj_3R_519()
{
if (jj_done) return true;
- if (jj_scan_token(PLUS_T)) return true;
+ if (jj_3R_383()) return true;
return false;
}
- inline bool jj_3R_519()
+ inline bool jj_3R_273()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_scan_token(MINUS_T)) return true;
return false;
}
- inline bool jj_3_3()
+ inline bool jj_3R_274()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_scan_token(AMPERSAND_T)) return true;
return false;
}
@@ -7649,20 +7613,32 @@ void parseInline();
return false;
}
- inline bool jj_3R_492()
+ inline bool jj_3R_128()
{
if (jj_done) return true;
- if (jj_scan_token(BOX_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_272()) {
+ jj_scanpos = xsp;
+ if (jj_3R_273()) {
+ jj_scanpos = xsp;
+ if (jj_3R_274()) return true;
+ }
+ }
return false;
}
- inline bool jj_3R_493()
+ inline bool jj_3R_272()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(PLUS_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3_3()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
- if (jj_scan_token(LPAREN_T)) return true;
if (jj_3R_60()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -7687,46 +7663,34 @@ void parseInline();
return false;
}
- inline bool jj_3R_404()
- {
- if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_491()) {
- jj_scanpos = xsp;
- if (jj_3R_492()) {
- jj_scanpos = xsp;
- if (jj_3R_493()) return true;
- }
- }
- return false;
- }
-
- inline bool jj_3R_491()
+ inline bool jj_3R_514()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_375()) return true;
return false;
}
- inline bool jj_3R_514()
+ inline bool jj_3R_513()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_373()) return true;
return false;
}
- inline bool jj_3R_513()
+ inline bool jj_3R_492()
{
if (jj_done) return true;
- if (jj_3R_373()) return true;
+ if (jj_scan_token(BOX_T)) return true;
return false;
}
- inline bool jj_3_2()
+ inline bool jj_3R_493()
{
if (jj_done) return true;
if (jj_3R_59()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_60()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -7744,17 +7708,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_226()
+ inline bool jj_3R_404()
{
if (jj_done) return true;
- if (jj_3R_165()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_491()) {
+ jj_scanpos = xsp;
+ if (jj_3R_492()) {
+ jj_scanpos = xsp;
+ if (jj_3R_493()) return true;
+ }
+ }
return false;
}
- inline bool jj_3_1()
+ inline bool jj_3R_491()
{
if (jj_done) return true;
- if (jj_3R_58()) return true;
+ if (jj_3R_60()) return true;
return false;
}
@@ -7816,58 +7788,50 @@ void parseInline();
return false;
}
- inline bool jj_3R_153()
+ inline bool jj_3_2()
{
if (jj_done) return true;
if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3_69()
+ inline bool jj_3R_226()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_165()) return true;
return false;
}
- inline bool jj_3R_119()
+ inline bool jj_3_1()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3_69()) jj_scanpos = xsp;
- if (jj_3R_176()) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_152()
+ inline bool jj_3_69()
{
if (jj_done) return true;
- if (jj_3R_58()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_151()
+ inline bool jj_3R_119()
{
if (jj_done) return true;
- if (jj_scan_token(OPEN_T)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3_69()) jj_scanpos = xsp;
+ if (jj_3R_176()) return true;
+ if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_60()
+ inline bool jj_3R_153()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_151()) {
- jj_scanpos = xsp;
- if (jj_3R_152()) {
- jj_scanpos = xsp;
- if (jj_3R_153()) return true;
- }
- }
+ if (jj_3R_59()) return true;
return false;
}
@@ -7888,11 +7852,10 @@ void parseInline();
return false;
}
- inline bool jj_3R_656()
+ inline bool jj_3R_152()
{
if (jj_done) return true;
- if (jj_scan_token(ACCESS_T)) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_58()) return true;
return false;
}
@@ -7903,17 +7866,25 @@ void parseInline();
return false;
}
- inline bool jj_3R_225()
+ inline bool jj_3R_151()
{
if (jj_done) return true;
- if (jj_scan_token(BASED_LITERAL)) return true;
+ if (jj_scan_token(OPEN_T)) return true;
return false;
}
- inline bool jj_3R_224()
+ inline bool jj_3R_60()
{
if (jj_done) return true;
- if (jj_scan_token(INTEGER)) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_151()) {
+ jj_scanpos = xsp;
+ if (jj_3R_152()) {
+ jj_scanpos = xsp;
+ if (jj_3R_153()) return true;
+ }
+ }
return false;
}
@@ -7924,39 +7895,32 @@ void parseInline();
return false;
}
- inline bool jj_3R_223()
+ inline bool jj_3R_656()
{
if (jj_done) return true;
- if (jj_scan_token(DECIMAL_LITERAL)) return true;
+ if (jj_scan_token(ACCESS_T)) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_103()
+ inline bool jj_3R_203()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_223()) {
- jj_scanpos = xsp;
- if (jj_3R_224()) {
- jj_scanpos = xsp;
- if (jj_3R_225()) return true;
- }
- }
+ if (jj_3R_86()) return true;
return false;
}
- inline bool jj_3R_203()
+ inline bool jj_3R_202()
{
if (jj_done) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_350()) return true;
return false;
}
- inline bool jj_3R_202()
+ inline bool jj_3R_225()
{
if (jj_done) return true;
- if (jj_3R_350()) return true;
+ if (jj_scan_token(BASED_LITERAL)) return true;
return false;
}
@@ -7988,6 +7952,13 @@ void parseInline();
return false;
}
+ inline bool jj_3R_224()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(INTEGER)) return true;
+ return false;
+ }
+
inline bool jj_3_66()
{
if (jj_done) return true;
@@ -7995,6 +7966,28 @@ void parseInline();
return false;
}
+ inline bool jj_3R_223()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(DECIMAL_LITERAL)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_103()
+ {
+ if (jj_done) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_223()) {
+ jj_scanpos = xsp;
+ if (jj_3R_224()) {
+ jj_scanpos = xsp;
+ if (jj_3R_225()) return true;
+ }
+ }
+ return false;
+ }
+
inline bool jj_3_65()
{
if (jj_done) return true;
@@ -8894,6 +8887,13 @@ void parseInline();
return false;
}
+ inline bool jj_3_43()
+ {
+ if (jj_done) return true;
+ if (jj_3R_93()) return true;
+ return false;
+ }
+
public:
TokenManager *token_source;
@@ -8966,49 +8966,31 @@ public:
void jj_rescan_token();
void jj_save(int index, int xla);
-typedef unsigned long long uint64;
-
-static Entry* current_root;
-static Entry* tempEntry;
-static Entry* lastEntity ;
-static Entry* lastCompound ;
-static std::shared_ptr<Entry> current;
-static QCString compSpec;
-static QCString currName;
-static int levelCounter;
-static QCString confName;
-static QCString genLabels;
-static QCString lab;
-static QCString forL;
-static int param_sec ;
-static int parse_sec;
-static int currP;
-
-//----------------------------------------
-
-static void setLineParsed(int tok);
-static int getLine(int tok);
-static int getLine();
-static void lineCount(const char*);
-static void lineCount();
-static void addProto(const char *s1,const char *s2,const char *s3,const char *s4,const char *s5,const char *s6);
-static void addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf);
-static void createFunction(const char *impure,uint64 spec,const char *fname);
-static void addVhdlType(const char *n,int startLine,int section, uint64 spec,const char* args,const char* type,Protection prot);
-static void addCompInst(const char *n, const char* instName, const char* comp,int iLine);
-static void handleCommentBlock(const char* doc,bool brief);
-static void handleFlowComment(const char*);
-static void initEntry(Entry *e);
-static void newEntry();
-static bool isFuncProcProced();
-static void pushLabel(QCString &,QCString&);
-static QCString popLabel(QCString & q);
-static bool addLibUseClause(const QCString &type);
-static void mapLibPackage( Entry* root);
-static void createFlow();
-static void error_skipto(int kind);
-static void oneLineComment(QCString qcs);
-static void setMultCommentLine();
+struct SharedState
+{
+ std::shared_ptr<Entry> current_root;
+ std::shared_ptr<Entry> tempEntry;
+ std::shared_ptr<Entry> lastEntity;
+ std::shared_ptr<Entry> lastCompound;
+ std::shared_ptr<Entry> current;
+ QCString compSpec;
+ QCString currName;
+ int levelCounter = 0;
+ QCString confName;
+ QCString genLabels;
+ QCString lab;
+ int param_sec = 0;
+ int parse_sec = 0;
+ int currP = 0;
+};
+
+VHDLOutlineParser *m_outlineParser;
+SharedState *m_sharedState;
+
+void setOutlineParser(VHDLOutlineParser* p) { m_outlineParser=p; }
+VHDLOutlineParser *outlineParser() const { return m_outlineParser; }
+void setSharedState(SharedState *s) { m_sharedState=s; }
+void clearError() { hasError = false; }
private:
bool jj_done;
diff --git a/vhdlparser/VhdlParserErrorHandler.hpp b/vhdlparser/VhdlParserErrorHandler.hpp
index 9576ce6..0337f1f 100644
--- a/vhdlparser/VhdlParserErrorHandler.hpp
+++ b/vhdlparser/VhdlParserErrorHandler.hpp
@@ -14,42 +14,55 @@ const char *getVhdlFileName(void);
namespace vhdl { namespace parser {
class VhdlErrorHandler: public ErrorHandler
- {
+{
+ public:
+ VhdlErrorHandler(const char *fileName) : m_fileName(fileName) {}
+
virtual void handleUnexpectedToken(int expectedKind, JAVACC_STRING_TYPE expectedToken, Token *actual, VhdlParser *parser)
{
- warn(getVhdlFileName(),actual->beginLine,"syntax error '%s'",actual->image.data());
+ warn(m_fileName,actual->beginLine,"syntax error '%s'",actual->image.data());
error_count++;
throw std::exception();
}
virtual void handleParseError(Token *last, Token *unexpected, JAVACC_SIMPLE_STRING production, VhdlParser *parser)
{
- warn(getVhdlFileName(),last->beginLine,"unexpected token: '%s'", unexpected->image.data());
+ warn(m_fileName,last->beginLine,"unexpected token: '%s'", unexpected->image.data());
error_count++;
throw std::exception();
}
virtual void handleOtherError(JAVACC_STRING_TYPE message, VhdlParser *parser)
{
- warn(getVhdlFileName(), -1, "unexpected error: '%s'", (char*)message.c_str());
+ warn(m_fileName, -1, "unexpected error: '%s'", (char*)message.c_str());
error_count++;
throw std::exception();
}
- };
-class VhdlTokenManagerErrorHandler: public TokenManagerErrorHandler {
+ private:
+ QCString m_fileName;
+};
+
+class VhdlTokenManagerErrorHandler: public TokenManagerErrorHandler
+{
+ public:
+ VhdlTokenManagerErrorHandler(const char *fileName) : m_fileName(fileName) {}
+
virtual void lexicalError(bool EOFSeen, int lexState, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar, VhdlParserTokenManager* token_manager)
{
- warn(getVhdlFileName(),errorLine,"Lexical error, Encountered: '%c' after: '%s'",curChar, (EOFSeen? "EOF" : (const char*)errorAfter.c_str()));
+ warn(m_fileName,errorLine,"Lexical error, Encountered: '%c' after: '%s'",curChar, (EOFSeen? "EOF" : (const char*)errorAfter.c_str()));
}
virtual void lexicalError(JAVACC_STRING_TYPE errorMessage, VhdlParserTokenManager* token_manager)
{
- warn(getVhdlFileName(),-1,"Unknown error: '%s'", (char*)errorMessage.c_str());
+ warn(m_fileName,-1,"Unknown error: '%s'", (char*)errorMessage.c_str());
}
- };
-}
-}
+
+ private:
+ QCString m_fileName;
+};
+
+} }
#endif
diff --git a/vhdlparser/VhdlParserIF.cpp b/vhdlparser/VhdlParserIF.cpp
deleted file mode 100644
index 676546b..0000000
--- a/vhdlparser/VhdlParserIF.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#include "VhdlParserTokenManager.h"
-#include "VhdlParserErrorHandler.hpp"
-#include "VhdlParser.h"
-#include "VhdlParserIF.h"
-#include "CharStream.h"
-
-using namespace vhdl::parser;
-
-static VhdlParser * myParser=0;
-
-void VhdlParserIF::parseVhdlfile(const char* inputBuffer,bool inLine)
-{
- JAVACC_STRING_TYPE s =inputBuffer;
- CharStream *stream = new CharStream(s.c_str(), (int)s.size(), 1, 1);
- VhdlParserTokenManager *tokenManager = new VhdlParserTokenManager(stream);
- VhdlTokenManagerErrorHandler *myTokErr=new VhdlTokenManagerErrorHandler();
- tokenManager->setErrorHandler(myTokErr);
- myParser=new VhdlParser(tokenManager);
- VhdlErrorHandler *myErr=new VhdlErrorHandler();
- myParser->setErrorHandler(myErr);
- try
- {
- if(inLine)
- {
- myParser->parseInline();
- }
- else
- {
- myParser->design_file();
- }
- }
- catch( std::exception &){ /* fprintf(stderr,"\n[%s]",e.what()); */ }
- // fprintf(stderr,"\n\nparsed lines: %d\n",yyLineNr);
- // fprintf(stderr,"\n\nerrors : %d\n\n",myErr->getErrorCount());
- delete myParser;
-}
-
-void VhdlParser::error_skipto(int kind)
-{
- Token *op;
- do
- {
- Token *t = myParser->getNextToken();// step to next token
- op=myParser->getToken(1); // get first token
- if (op==0) break;
- //fprintf(stderr,"\n %s",t->image.data());
- } while (op->kind != kind);
- myParser->hasError=false;
- // The above loop consumes tokens all the way up to a token of
- // "kind". We use a do-while loop rather than a while because the
- // current token is the one immediately before the erroneous token
- // (in our case the token immediately before what should have been
- // "if"/"while".
-
-}
diff --git a/vhdlparser/VhdlParserIF.h b/vhdlparser/VhdlParserIF.h
deleted file mode 100644
index d11389b..0000000
--- a/vhdlparser/VhdlParserIF.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef VHDLPARSERIF
-#define VHDLPARSERIF
-
-#include "VhdlParser.h"
-
-class VhdlParserIF
-{
- public:
- static void parseVhdlfile(const char* inputBuffer,bool inLine);
-
-};
-#endif
diff --git a/vhdlparser/VhdlParserTokenManager.cc b/vhdlparser/VhdlParserTokenManager.cc
index 5edbfc5..2970785 100644
--- a/vhdlparser/VhdlParserTokenManager.cc
+++ b/vhdlparser/VhdlParserTokenManager.cc
@@ -3453,7 +3453,7 @@ void VhdlParserTokenManager::SkipLexicalActions(Token *matchedToken){
{
case 3 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::lineCount();
+ parser->outlineParser()->lineCount();
break;
}
case 6 : {
@@ -3461,36 +3461,36 @@ void VhdlParserTokenManager::SkipLexicalActions(Token *matchedToken){
{
QCString doc(image.data());
int count=doc.contains("--!");
- ::vhdl::parser::VhdlParser::setMultCommentLine();
- ::vhdl::parser::VhdlParser::lineCount(image.data());
+ parser->outlineParser()->setMultCommentLine();
+ parser->outlineParser()->lineCount(image.data());
if (count == 1)
- ::vhdl::parser::VhdlParser::oneLineComment(doc);
+ parser->outlineParser()->oneLineComment(doc);
else
- ::vhdl::parser::VhdlParser::handleCommentBlock(image.data(),FALSE); ;
+ parser->outlineParser()->handleCommentBlock(image.data(),FALSE); ;
}
break;
}
case 7 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::handleFlowComment(image.data());
+ parser->outlineParser()->handleFlowComment(image.data());
break;
}
case 8 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::lineCount(image.data());
+ parser->outlineParser()->lineCount(image.data());
break;
}
case 9 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
{
QCString q = filter2008VhdlComment(image.data());
- ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ parser->outlineParser()->handleCommentBlock(q.data(),TRUE);image.clear();
}
break;
}
case 10 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::lineCount(image.data());image.clear();
+ parser->outlineParser()->lineCount(image.data());image.clear();
break;
}
default :
@@ -3503,123 +3503,123 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){
{
case 17 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(ARCHITECTURE_T);
+ parser->outlineParser()->setLineParsed(ARCHITECTURE_T);
break;
}
case 18 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(ARRAY_T);
+ parser->outlineParser()->setLineParsed(ARRAY_T);
break;
}
case 22 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(ATTRIBUTE_T);
+ parser->outlineParser()->setLineParsed(ATTRIBUTE_T);
break;
}
case 25 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(BODY_T);
+ parser->outlineParser()->setLineParsed(BODY_T);
break;
}
case 28 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(COMPONENT_T);
+ parser->outlineParser()->setLineParsed(COMPONENT_T);
break;
}
case 30 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(CONFIGURATION_T);
+ parser->outlineParser()->setLineParsed(CONFIGURATION_T);
break;
}
case 31 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(CONSTANT_T);
+ parser->outlineParser()->setLineParsed(CONSTANT_T);
break;
}
case 32 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(CONTEXT_T);
+ parser->outlineParser()->setLineParsed(CONTEXT_T);
break;
}
case 39 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(END_T);
+ parser->outlineParser()->setLineParsed(END_T);
break;
}
case 40 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(ENTITY_T);
+ parser->outlineParser()->setLineParsed(ENTITY_T);
break;
}
case 43 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(FILE_T);
+ parser->outlineParser()->setLineParsed(FILE_T);
break;
}
case 46 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(FUNCTION_T);
+ parser->outlineParser()->setLineParsed(FUNCTION_T);
break;
}
case 49 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(GROUP_T);
+ parser->outlineParser()->setLineParsed(GROUP_T);
break;
}
case 58 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- VhdlParser::setLineParsed(LIBRARY_T);
+ parser->outlineParser()->setLineParsed(LIBRARY_T);
break;
}
case 76 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(PACKAGE_T);
+ parser->outlineParser()->setLineParsed(PACKAGE_T);
break;
}
case 78 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(PORT_T);
+ parser->outlineParser()->setLineParsed(PORT_T);
break;
}
case 80 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(PROCEDURE_T);
+ parser->outlineParser()->setLineParsed(PROCEDURE_T);
break;
}
case 81 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(PROCESS_T);
+ parser->outlineParser()->setLineParsed(PROCESS_T);
break;
}
case 86 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(RECORD_T);
+ parser->outlineParser()->setLineParsed(RECORD_T);
break;
}
case 100 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(SIGNAL_T);
+ parser->outlineParser()->setLineParsed(SIGNAL_T);
break;
}
case 107 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(SUBTYPE_T);
+ parser->outlineParser()->setLineParsed(SUBTYPE_T);
break;
}
case 111 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(TYPE_T);
+ parser->outlineParser()->setLineParsed(TYPE_T);
break;
}
case 113 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- ::vhdl::parser::VhdlParser::setLineParsed(UNITS_T);
+ parser->outlineParser()->setLineParsed(UNITS_T);
break;
}
case 137 : {
image.append(jjstrLiteralImages[137]);
lengthOfMatch = jjstrLiteralImages[137].length();
- ::vhdl::parser::VhdlParser::setLineParsed(SEMI_T);
+ parser->outlineParser()->setLineParsed(SEMI_T);
break;
}
default :
diff --git a/vhdlparser/vhdlparser.jj b/vhdlparser/vhdlparser.jj
index 3151528..7b3f5e7 100644
--- a/vhdlparser/vhdlparser.jj
+++ b/vhdlparser/vhdlparser.jj
@@ -25,56 +25,68 @@ options {
PARSER_BEGIN(VhdlParser)
-typedef unsigned long long uint64;
-
-static Entry* current_root;
-static Entry* tempEntry;
-static Entry* lastEntity ;
-static Entry* lastCompound ;
-static std::shared_ptr<Entry> current;
-static QCString compSpec;
-static QCString currName;
-static int levelCounter;
-static QCString confName;
-static QCString genLabels;
-static QCString lab;
-static QCString forL;
-static int param_sec ;
-static int parse_sec;
-static int currP;
+
+struct SharedState
+{
+ std::shared_ptr<Entry> current_root;
+ std::shared_ptr<Entry> tempEntry;
+ std::shared_ptr<Entry> lastEntity;
+ std::shared_ptr<Entry> lastCompound;
+ std::shared_ptr<Entry> current;
+ QCString compSpec;
+ QCString currName;
+ int levelCounter = 0;
+ QCString confName;
+ QCString genLabels;
+ QCString lab;
+ int param_sec = 0;
+ int parse_sec = 0;
+ int currP = 0;
+};
+
+VHDLOutlineParser *m_outlineParser;
+SharedState *m_sharedState;
+
+void setOutlineParser(VHDLOutlineParser* p) { m_outlineParser=p; }
+VHDLOutlineParser *outlineParser() const { return m_outlineParser; }
+void setSharedState(SharedState *s) { m_sharedState=s; }
+void clearError() { hasError = false; }
+
+//typedef unsigned long long uint64;
//----------------------------------------
-static void setLineParsed(int tok);
-static int getLine(int tok);
-static int getLine();
-static void lineCount(const char*);
-static void lineCount();
-static void addProto(const char *s1,const char *s2,const char *s3,const char *s4,const char *s5,const char *s6);
-static void addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf);
-static void createFunction(const char *impure,uint64 spec,const char *fname);
-static void addVhdlType(const char *n,int startLine,int section, uint64 spec,const char* args,const char* type,Protection prot);
-static void addCompInst(const char *n, const char* instName, const char* comp,int iLine);
-static void handleCommentBlock(const char* doc,bool brief);
-static void handleFlowComment(const char*);
-static void initEntry(Entry *e);
-static void newEntry();
-static bool isFuncProcProced();
-static void pushLabel(QCString &,QCString&);
-static QCString popLabel(QCString & q);
-static bool addLibUseClause(const QCString &type);
-static void mapLibPackage( Entry* root);
-static void createFlow();
-static void error_skipto(int kind);
-static void oneLineComment(QCString qcs);
-static void setMultCommentLine();
+//void setLineParsed(int tok);
+//int getLine(int tok);
+//int getLine();
+//void lineCount(const char*);
+//void lineCount();
+//void outlineParser()->addProto(const char *s1,const char *s2,const char *s3,const char *s4,const char *s5,const char *s6);
+//void addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf);
+//void createFunction(const char *impure,uint64 spec,const char *fname);
+//void outlineParser()->addVhdlType(const char *n,int startLine,int section, uint64 spec,const char* args,const char* type,Protection prot);
+//void outlineParser()->addCompInst(const char *n, const char* instName, const char* comp,int iLine);
+//void handleCommentBlock(const char* doc,bool brief);
+//void handleFlowComment(const char*);
+//void initEntry(Entry *e);
+//void outlineParser()->newEntry();
+//bool isFuncProcProced();
+//void pushLabel(QCString &,QCString&);
+//QCString popLabel(QCString & q);
+//bool addLibUseClause(const QCString &type);
+//void mapLibPackage( Entry* root);
+//void createFlow();
+//void outlineParser()->error_skipto(int kind);
+//void oneLineComment(QCString qcs);
+//void setMultCommentLine();
+
PARSER_END(VhdlParser)
SKIP :
{
" "
| "\t"
-| "\n" {::vhdl::parser::VhdlParser::lineCount();}
+| "\n" {parser->outlineParser()->lineCount();}
| "\r"
}
@@ -88,19 +100,19 @@ SKIP:
{
QCString doc(image.data());
int count=doc.contains("--!");
- ::vhdl::parser::VhdlParser::setMultCommentLine();
- ::vhdl::parser::VhdlParser::lineCount(image.data());
+ parser->outlineParser()->setMultCommentLine();
+ parser->outlineParser()->lineCount(image.data());
if (count == 1)
- ::vhdl::parser::VhdlParser::oneLineComment(doc);
+ parser->outlineParser()->oneLineComment(doc);
else
- ::vhdl::parser::VhdlParser::handleCommentBlock(image.data(),FALSE); ;
+ parser->outlineParser()->handleCommentBlock(image.data(),FALSE); ;
}
}
- |<VHDL_FLOWCHART_COMMENT: "--#" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?> { ::vhdl::parser::VhdlParser::handleFlowComment(image.data());}
+ |<VHDL_FLOWCHART_COMMENT: "--#" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?> { parser->outlineParser()->handleFlowComment(image.data());}
|<VHDL_COMMENT: "--" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?>
{
- ::vhdl::parser::VhdlParser::lineCount(image.data());}
+ parser->outlineParser()->lineCount(image.data());}
}
// VHDL 2008 comment /* .... */
@@ -111,12 +123,12 @@ SKIP :
{
{
QCString q = filter2008VhdlComment(image.data());
- ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ parser->outlineParser()->handleCommentBlock(q.data(),TRUE);image.clear();
}
}
| <MULT_VHDL_2008_COMMENT : "/*" (~["*"])* "*" ("*" | ~["*","/"] (~["*"])* "*")* "/">
{
- ::vhdl::parser::VhdlParser::lineCount(image.data());image.clear();}
+ parser->outlineParser()->lineCount(image.data());image.clear();}
}
/* KEYWORDS */
@@ -129,39 +141,39 @@ TOKEN [IGNORE_CASE] :
| <ALIAS_T: "alias">
| <ALL_T: "all">
| <AND_T: "and">
-| <ARCHITECTURE_T: "architecture"> {::vhdl::parser::VhdlParser::setLineParsed(ARCHITECTURE_T);}
-| <ARRAY_T: "array"> {VhdlParser::setLineParsed(ARRAY_T);}
+| <ARCHITECTURE_T: "architecture"> {parser->outlineParser()->setLineParsed(ARCHITECTURE_T);}
+| <ARRAY_T: "array"> {parser->outlineParser()->setLineParsed(ARRAY_T);}
| <ASSERT_T: "assert">
| <ASSUME_T: "assume">
| <ASSUME_GUARANTEE_T: "assume_guarantee">
-| <ATTRIBUTE_T: "attribute"> {::vhdl::parser::VhdlParser::setLineParsed(ATTRIBUTE_T);}
+| <ATTRIBUTE_T: "attribute"> {parser->outlineParser()->setLineParsed(ATTRIBUTE_T);}
| <BEGIN_T: "begin">
| <BLOCK_T: "block">
-| <BODY_T: "body"> {::vhdl::parser::VhdlParser::setLineParsed(BODY_T);}
+| <BODY_T: "body"> {parser->outlineParser()->setLineParsed(BODY_T);}
| <BUFFER_T: "buffer">
| <BUS_T: "bus">
-| <COMPONENT_T: "component"> {VhdlParser::setLineParsed(COMPONENT_T);}
+| <COMPONENT_T: "component"> {parser->outlineParser()->setLineParsed(COMPONENT_T);}
| <CASE_T: "case">
-| <CONFIGURATION_T: "configuration"> {VhdlParser::setLineParsed(CONFIGURATION_T);}
-| <CONSTANT_T: "constant"> {VhdlParser::setLineParsed(CONSTANT_T);}
-| <CONTEXT_T: "context"> {VhdlParser::setLineParsed(CONTEXT_T);}
+| <CONFIGURATION_T: "configuration"> {parser->outlineParser()->setLineParsed(CONFIGURATION_T);}
+| <CONSTANT_T: "constant"> {parser->outlineParser()->setLineParsed(CONSTANT_T);}
+| <CONTEXT_T: "context"> {parser->outlineParser()->setLineParsed(CONTEXT_T);}
| <COVER_T: "cover">
| <DEFAULT_T: "default">
| <DISCONNECT_T: "disconnect">
| <DOWNTO_T: "downto">
| <ELSE_T: "else">
| <ELSIF_T: "elsif">
-| <END_T: "end"> {VhdlParser::setLineParsed(END_T);}
-| <ENTITY_T: "entity"> {VhdlParser::setLineParsed(ENTITY_T);}
+| <END_T: "end"> {parser->outlineParser()->setLineParsed(END_T);}
+| <ENTITY_T: "entity"> {parser->outlineParser()->setLineParsed(ENTITY_T);}
| <EXIT_T: "exit">
| <FAIRNESS_T: "fairness">
-| <FILE_T: "file"> {VhdlParser::setLineParsed(FILE_T);}
+| <FILE_T: "file"> {parser->outlineParser()->setLineParsed(FILE_T);}
| <FOR_T: "for">
| <FORCE_T: "force">
-| <FUNCTION_T: "function"> {VhdlParser::setLineParsed(FUNCTION_T);}
+| <FUNCTION_T: "function"> {parser->outlineParser()->setLineParsed(FUNCTION_T);}
| <GENERATE_T: "generate">
| <GENERIC_T: "generic">
-| <GROUP_T: "group"> {VhdlParser::setLineParsed(GROUP_T);}
+| <GROUP_T: "group"> {parser->outlineParser()->setLineParsed(GROUP_T);}
| <GUARDED_T: "guarded">
| <IF_T: "if">
| <IMPURE_T: "impure">
@@ -170,7 +182,7 @@ TOKEN [IGNORE_CASE] :
| <INOUT_T: "inout">
| <IS_T: "is">
| <LABEL_T: "label">
-| <LIBRARY_T: "library"> {VhdlParser::setLineParsed(LIBRARY_T);}
+| <LIBRARY_T: "library"> {parser->outlineParser()->setLineParsed(LIBRARY_T);}
| <LINKAGE_T: "linkage">
| <LITERAL_T: "literal">
| <LOOP_T: "loop">
@@ -188,17 +200,17 @@ TOKEN [IGNORE_CASE] :
| <OR_T: "or">
| <OTHER_T: "others">
| <OUT_T: "out">
-| <PACKAGE_T: "package"> {::vhdl::parser::VhdlParser::setLineParsed(PACKAGE_T);}
+| <PACKAGE_T: "package"> {parser->outlineParser()->setLineParsed(PACKAGE_T);}
| <PARAMETER_T: "parameter">
-| <PORT_T: "port"> {::vhdl::parser::VhdlParser::setLineParsed(PORT_T);}
+| <PORT_T: "port"> {parser->outlineParser()->setLineParsed(PORT_T);}
| <POSTPONED_T: "postponed">
-| <PROCEDURE_T: "procedure"> {::vhdl::parser::VhdlParser::setLineParsed(PROCEDURE_T);}
-| <PROCESS_T: "process"> {::vhdl::parser::VhdlParser::setLineParsed(PROCESS_T);}
+| <PROCEDURE_T: "procedure"> {parser->outlineParser()->setLineParsed(PROCEDURE_T);}
+| <PROCESS_T: "process"> {parser->outlineParser()->setLineParsed(PROCESS_T);}
| <PROPERTY_T: "property">
| <PROTECTED_T: "protected">
| <PURE_T: "pure">
| <RANGE_T: "range">
-| <RECORD_T: "record"> {::vhdl::parser::VhdlParser::setLineParsed(RECORD_T);}
+| <RECORD_T: "record"> {parser->outlineParser()->setLineParsed(RECORD_T);}
| <REGISTER_T: "register">
| <REJECT_T: "reject">
| <RELEASE_T: "release">
@@ -212,20 +224,20 @@ TOKEN [IGNORE_CASE] :
| <SELECT_T: "select">
| <SEQUENCE_T: "sequence">
| <SEVERITY_T: "severity">
-| <SIGNAL_T: "signal"> {::vhdl::parser::VhdlParser::setLineParsed(SIGNAL_T);}
+| <SIGNAL_T: "signal"> {parser->outlineParser()->setLineParsed(SIGNAL_T);}
| <SHARED_T: "shared">
| <SLA_T: "sla">
| <SLL_T: "sll">
| <SRA_T: "sra">
| <SRL_T: "srl">
| <STRONG_T: "strong">
-| <SUBTYPE_T: "subtype"> {::vhdl::parser::VhdlParser::setLineParsed(SUBTYPE_T);}
+| <SUBTYPE_T: "subtype"> {parser->outlineParser()->setLineParsed(SUBTYPE_T);}
| <THEN_T: "then">
| <TO_T: "to">
| <TRANSPORT_T: "transport">
-| <TYPE_T: "type"> {::vhdl::parser::VhdlParser::setLineParsed(TYPE_T);}
+| <TYPE_T: "type"> {parser->outlineParser()->setLineParsed(TYPE_T);}
| <UNAFFECTED_T: "unaffected">
-| <UNITS_T: "units"> {::vhdl::parser::VhdlParser::setLineParsed(UNITS_T);}
+| <UNITS_T: "units"> {parser->outlineParser()->setLineParsed(UNITS_T);}
| <UNTIL_T: "until">
| <USE_T: "use">
| <VARIABLE_T: "variable">
@@ -255,7 +267,7 @@ TOKEN :
| < COMMA_T: "," >
| < VARASSIGN_T: ":=" >
| < COLON_T: ":" >
-| < SEMI_T: ";" >{::vhdl::parser::VhdlParser::setLineParsed(SEMI_T);}
+| < SEMI_T: ";" >{parser->outlineParser()->setLineParsed(SEMI_T);}
| < LESSTHAN_T: "<=" >
| < GREATERTHAN_T: ">=" >
| < LT_T: "<" >
@@ -380,7 +392,7 @@ QCString alias_declaration() : {QCString s,s1,s2;}
<IS_T> { s+=" is "; } s1=name() {s+=s1;} [s1=signature() {s+=s1;}]
<SEMI_T>
{
- addVhdlType(s2.data(),getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Public);
+ outlineParser()->addVhdlType(s2.data(),outlineParser()->getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Public);
return s2+" "+s+";";
}
@@ -395,29 +407,34 @@ QCString alias_designator() : {Token *tok=0;QCString s;}
void allocator() :{}
{
- LOOKAHEAD(3)
- <NEW_T> qualified_expression()
- | <NEW_T> subtype_indication()
+ LOOKAHEAD(3)
+ <NEW_T> qualified_expression()
+ | <NEW_T> subtype_indication()
}
void architecture_body() : {QCString s,s1;}
{
- <ARCHITECTURE_T> s=identifier() <OF_T> s1=name() <IS_T>
- {
- QCString t=s1+"::"+s;
- genLabels.resize(0);
- pushLabel(genLabels,s1);
- lastCompound=current.get();
- addVhdlType(t,getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
- }
- try{
- architecture_declarative_part()
- }catch(...){error_skipto(BEGIN_T);}
- <BEGIN_T>
- architecture_statement_part()
+ <ARCHITECTURE_T> s=identifier() <OF_T> s1=name() <IS_T>
+ {
+ QCString t=s1+"::"+s;
+ m_sharedState->genLabels.resize(0);
+ outlineParser()->pushLabel(m_sharedState->genLabels,s1);
+ m_sharedState->lastCompound=m_sharedState->current;
+ outlineParser()->addVhdlType(t,outlineParser()->getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
+ }
+ try
+ {
+ architecture_declarative_part()
+ }
+ catch(...)
+ {
+ outlineParser()->error_skipto(BEGIN_T);
+ }
+ <BEGIN_T>
+ architecture_statement_part()
<END_T> [<ARCHITECTURE_T>] [name()] <SEMI_T>
- { lastEntity=0;lastCompound=0; genLabels.resize(0); }
+ { m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0); }
}
void architecture_declarative_part() : {}
@@ -476,7 +493,7 @@ QCString attribute_declaration() : {QCString s,s1;}
{
<ATTRIBUTE_T> s=identifier() <COLON_T> s1=type_mark() <SEMI_T>
{
- addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public);
return " attribute "+s+":"+s1+";";
}
}
@@ -498,7 +515,7 @@ QCString attribute_specification(): {QCString s,s1,s2;}
<ATTRIBUTE_T> s=attribute_designator() <OF_T> s1=entity_specification() <IS_T> s2=expression() <SEMI_T>
{
QCString t= s1+" is "+s2;
- addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public);
return " attribute "+s+" of "+s1+ " is "+s2+";";
}
}
@@ -605,14 +622,14 @@ void block_specification() : {}
void block_statement() : {QCString s;}
{
s=identifier() <COLON_T>
- <BLOCK_T> { pushLabel(genLabels,s); }[ <LPAREN_T> expression() <RPAREN_T> ] [ <IS_T> ]
+ <BLOCK_T> { outlineParser()->pushLabel(m_sharedState->genLabels,s); }[ <LPAREN_T> expression() <RPAREN_T> ] [ <IS_T> ]
block_header()
block_declarative_part()
<BEGIN_T>
block_statement_part()
<END_T> <BLOCK_T> [ identifier() ] <SEMI_T>
{
- genLabels=popLabel(genLabels);
+ m_sharedState->genLabels=outlineParser()->popLabel(m_sharedState->genLabels);
}
}
@@ -683,12 +700,12 @@ void component_configuration () :{}
void component_declaration() : {QCString s;}
{
<COMPONENT_T> s=identifier() [ <IS_T> ]
- { currP=VhdlDocGen::COMPONENT; }
+ { m_sharedState->currP=VhdlDocGen::COMPONENT; }
[ generic_clause() ]
[ port_clause() ]
{
- addVhdlType(s.data(),getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Public);
- currP=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Public);
+ m_sharedState->currP=0;
}
<END_T> <COMPONENT_T> [ identifier() ] <SEMI_T>
@@ -706,7 +723,7 @@ s=identifier() <COLON_T>
s1=VhdlDocGen::getIndexWord(s1.data(),1);
}
- addCompInst(s.lower().data(),s1.lower().data(),s3.data(),getLine());
+ outlineParser()->addCompInst(s.lower().data(),s1.lower().data(),s3.data(),outlineParser()->getLine());
}
[ LOOKAHEAD(generic_map_aspect()) generic_map_aspect() ]
[ port_map_aspect() ] <SEMI_T>
@@ -774,7 +791,7 @@ concurrent_procedure_call_statement()
/*
catch( ParseException e )
{
- error_skipto(SEMI_T, "syntax error in declarative item");
+ outlineParser()->error_skipto(SEMI_T, "syntax error in declarative item");
}
*/
}
@@ -819,13 +836,13 @@ void configuration_declaration() : {QCString s,s1;}
<CONFIGURATION_T> s=identifier() <OF_T> s1=name() <IS_T>
{
- confName=s+"::"+s1;
- addVhdlType(s.data(),getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Public);
+ m_sharedState->confName=s+"::"+s1;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Public);
}
configuration_declarative_part()
block_configuration()
<END_T> [ <CONFIGURATION_T> ] [ name() ] <SEMI_T>
- { genLabels.resize(0); confName="";}
+ { m_sharedState->genLabels.resize(0); m_sharedState->confName="";}
}
void configuration_declarative_item() : {}
@@ -860,7 +877,7 @@ QCString constant_declaration() : {QCString s,s1,s2;Token *t=0;}
if(t)
s2.prepend(":=");
QCString it=s1+s2;
- addVhdlType(s.data(),getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Public);
it.prepend("constant ");
return it;
}
@@ -961,8 +978,8 @@ QCString element_declaration() : {QCString s,s1;}
s=identifier_list() <COLON_T> s1=subtype_indication() <SEMI_T>
{
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public);
- //addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public);
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
return s+":"+s1;
}
}
@@ -1011,17 +1028,17 @@ void entity_declaration() : {QCString s;}
// try{
<ENTITY_T> s=identifier() <IS_T>
{
- lastEntity=current.get();
- lastCompound=0;
- addVhdlType(s.data(),getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
+ m_sharedState->lastEntity=m_sharedState->current;
+ m_sharedState->lastCompound=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
}
entity_header()
entity_declarative_part ()
[ <BEGIN_T> entity_statement_part() ]
<END_T> [ <ENTITY_T> ] [ name() ]
- // }catch(...){error_skipto(SEMI_T);}
+ // }catch(...){outlineParser()->error_skipto(SEMI_T);}
<SEMI_T>
- { lastEntity=0;lastCompound=0; genLabels.resize(0); }
+ { m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0); }
}
void entity_declarative_item() : {}
@@ -1064,8 +1081,8 @@ s=entity_tag() [ s1=signature() ] { return s+s1;}
void entity_header() : {}
{
- [ { currP=VhdlDocGen::GENERIC;parse_sec=GEN_SEC; } generic_clause()]
- [ { currP=VhdlDocGen::PORT; } port_clause()]
+ [ { m_sharedState->currP=VhdlDocGen::GENERIC;m_sharedState->parse_sec=GEN_SEC; } generic_clause()]
+ [ { m_sharedState->currP=VhdlDocGen::PORT; } port_clause()]
}
QCString entity_name_list() : {QCString s,s1;}
@@ -1120,7 +1137,7 @@ QCString exit_statement() : {QCString s,s1,s2;Token *t=0;Token *t1=0;}
[ s=identifier() t=<COLON_T> ] <EXIT_T> [ s1=identifier() ]
[ t1=<WHEN_T> s2=condition() ] <SEMI_T>
{
- lab.resize(0);
+ m_sharedState->lab.resize(0);
if(t) s+=":";
if(t1) s2.prepend(" when ");
FlowChart::addFlowChart(FlowChart::EXIT_NO,"exit",s2.data(),s1.data());
@@ -1162,7 +1179,7 @@ QCString file_declaration() : {QCString s,s1,s2,s3;}
<FILE_T> s=identifier_list() <COLON_T> s2=subtype_indication() [ s3=file_open_information() ] <SEMI_T>
{
QCString t1=s2+" "+s3;
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public);
return " file "+s+":"+s2+" "+s3+";";
}
}
@@ -1204,38 +1221,41 @@ QCString formal_part() : {QCString s,s1;}
s=name() [<LPAREN_T> formal_designator() <RPAREN_T> {s+"("+s1+")";}] {return s;}
}
-QCString full_type_declaration() : {Entry *tmpEntry;QCString s,s1,s2;}
+QCString full_type_declaration() : { std::shared_ptr<Entry> tmpEntry;QCString s,s1,s2; }
{
-<TYPE_T> s=identifier() <IS_T>
-{
- tmpEntry=current.get();
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public);
-}
- try{
- s2=type_definition()
- }catch(...){error_skipto(SEMI_T);}
- <SEMI_T>
- {
- if (s2.contains("#")) {
- VhdlDocGen::deleteAllChars(s2,'#');
- tmpEntry->spec=VhdlDocGen::RECORD;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public);
- }
- else if (s2.contains("%")) {
- VhdlDocGen::deleteAllChars(s2,'%');
- tmpEntry->spec=VhdlDocGen::UNITS;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public);
- }
- else {
- tmpEntry->spec=VhdlDocGen::TYPE;
- tmpEntry->type=s2.data();
- //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public);
- }
- tmpEntry=0;
- return "type "+s+" is "+s2+";";
- }
+ <TYPE_T> s=identifier() <IS_T>
+ {
+ tmpEntry=m_sharedState->current;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public);
+ }
+ try
+ {
+ s2=type_definition()
+ }
+ catch(...)
+ { outlineParser()->error_skipto(SEMI_T); }
+ <SEMI_T>
+ {
+ if (s2.contains("#")) {
+ VhdlDocGen::deleteAllChars(s2,'#');
+ tmpEntry->spec=VhdlDocGen::RECORD;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public);
+ }
+ else if (s2.contains("%")) {
+ VhdlDocGen::deleteAllChars(s2,'%');
+ tmpEntry->spec=VhdlDocGen::UNITS;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public);
+ }
+ else {
+ tmpEntry->spec=VhdlDocGen::TYPE;
+ tmpEntry->type=s2.data();
+ //outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public);
+ }
+ tmpEntry.reset();
+ return "type "+s+" is "+s2+";";
+ }
}
QCString function_call() : {QCString s,s1;}
@@ -1248,11 +1268,11 @@ void generate_statement() : {QCString s;}
s=identifier() <COLON_T>
try{
generate_scheme() <GENERATE_T>
- { pushLabel(genLabels,s); }
+ { outlineParser()->pushLabel(m_sharedState->genLabels,s); }
generate_statement_body1()
<END_T>
- }catch(...){error_skipto(GENERATE_T);}
- <GENERATE_T> [ identifier() ] <SEMI_T> {genLabels=popLabel(genLabels); }
+ }catch(...){outlineParser()->error_skipto(GENERATE_T);}
+ <GENERATE_T> [ identifier() ] <SEMI_T> {m_sharedState->genLabels=outlineParser()->popLabel(m_sharedState->genLabels); }
}
void generate_scheme() : {}
@@ -1263,7 +1283,7 @@ void generate_scheme() : {}
void generic_clause() : {QCString s;}
{
- <GENERIC_T> <LPAREN_T> { parse_sec=GEN_SEC; } s=generic_list() <RPAREN_T> <SEMI_T> { parse_sec=0; }
+ <GENERIC_T> <LPAREN_T> { m_sharedState->parse_sec=GEN_SEC; } s=generic_list() <RPAREN_T> <SEMI_T> { m_sharedState->parse_sec=0; }
}
QCString generic_list() : {QCString s;}
@@ -1321,30 +1341,30 @@ QCString identifier_list() : {QCString str,str1;}
void if_statement() : {QCString s,s1;}
{
-[LOOKAHEAD(1) identifier() <COLON_T> ]
+ [LOOKAHEAD(1) identifier() <COLON_T> ]
<IF_T> s=condition() <THEN_T>
{
- s.prepend("if ");
- FlowChart::addFlowChart(FlowChart::IF_NO,0,s);
+ s.prepend("if ");
+ FlowChart::addFlowChart(FlowChart::IF_NO,0,s);
+ }
+ sequence_of_statement()
+ (
+ <ELSIF_T> s1=condition() <THEN_T>
+ {
+ s1.prepend("elsif ");
+ FlowChart::addFlowChart(FlowChart::ELSIF_NO,0,s1.data());
+ }
+ sequence_of_statement()
+ )*
+ [LOOKAHEAD(1) <ELSE_T>
+ {
+ FlowChart::addFlowChart(FlowChart::ELSE_NO,0,0);
+ }
+ sequence_of_statement() ] <END_T> <IF_T> [ identifier() ] <SEMI_T>
+ {
+ FlowChart::moveToPrevLevel();
+ FlowChart::addFlowChart(FlowChart::ENDIF_NO,0,0);
}
- sequence_of_statement()
- (
- <ELSIF_T> s1=condition() <THEN_T>
- {
- s1.prepend("elsif ");
- FlowChart::addFlowChart(FlowChart::ELSIF_NO,0,s1.data());
- }
- sequence_of_statement()
- )*
- [LOOKAHEAD(1) <ELSE_T>
- {
- FlowChart::addFlowChart(FlowChart::ELSE_NO,0,0);
- }
- sequence_of_statement() ] <END_T> <IF_T> [ identifier() ] <SEMI_T>
- {
- FlowChart::moveToPrevLevel();
- FlowChart::addFlowChart(FlowChart::ENDIF_NO,0,0);
- }
}
QCString incomplete_type_declaration() : {QCString s;}
@@ -1359,7 +1379,7 @@ QCString index_constraint() : {QCString s="("; QCString s1,s2;}
{
//try{
<LPAREN_T> s2=discrete_range(){s+=s2;}(LOOKAHEAD(1)<COMMA_T> s1=discrete_range(){s+=",";s+=s1;})* <RPAREN_T> {return s+")";}
-//}catch(...){ error_skipto(SEMI_T);hasError=false;return "";}
+//}catch(...){ outlineParser()->error_skipto(SEMI_T);hasError=false;return "";}
}
QCString index_specification() : {QCString s;}
@@ -1417,68 +1437,67 @@ subprogram_declaration() { return s;}
|
s=object_class() s1=identifier()
{
- if (parse_sec==GEN_SEC)
-
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,s1.data(),0,Public);
- return s;
- }
+ if (m_sharedState->parse_sec==GEN_SEC)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,s1.data(),0,Public);
+ return s;
+ }
}
QCString interface_element() : {QCString s;}
{
-s=interface_declaration(){ return s;}
+ s=interface_declaration(){ return s;}
}
QCString interface_file_declaration() : {QCString s,s1;}
{
-<FILE_T> s=identifier_list() <COLON_T> s1=subtype_indication()
-{
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
- return " file "+s+":"+s1;
-}
+ <FILE_T> s=identifier_list() <COLON_T> s1=subtype_indication()
+ {
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
+ return " file "+s+":"+s1;
+ }
}
QCString interface_list() : {QCString s,s1,s2;}
{
-s=interface_element() (LOOKAHEAD(1) <SEMI_T> s1=interface_element(){s2+=";";s2+=s1;})* { return s+s2;}
+ s=interface_element() (LOOKAHEAD(1) <SEMI_T> s1=interface_element(){s2+=";";s2+=s1;})* { return s+s2;}
}
QCString interface_variable_declaration() : {Token *tok=0;Token *tok1=0;Token *tok2=0;QCString s,s1,s2,s3,s4,s5;}
{
-[( tok=<VARIABLE_T> | tok=<SIGNAL_T> | tok=<CONSTANT_T>|tok=<SHARED_T>) ]
- s=identifier_list() <COLON_T> [ s1=mode() ]
- s2=subtype_indication() [ tok1=<BUS_T> ] [ tok2=<VARASSIGN_T> s4=expression() ]
-{
- if(tok)
- s5=tok->image.c_str();
+[ ( tok=<VARIABLE_T> | tok=<SIGNAL_T> | tok=<CONSTANT_T>|tok=<SHARED_T>) ]
+ s=identifier_list() <COLON_T> [ s1=mode() ]
+ s2=subtype_indication() [ tok1=<BUS_T> ] [ tok2=<VARASSIGN_T> s4=expression() ]
+ {
+ if(tok)
+ s5=tok->image.c_str();
- if(tok1)
- s3=tok1->image.data();
+ if(tok1)
+ s3=tok1->image.data();
- if(tok2)
- s3+=":=";
+ if(tok2)
+ s3+=":=";
- QCString it=s+":"+s1+" "+s2+" "+s3+" "+s4;
- if (currP!=VhdlDocGen::COMPONENT)
- {
- if (currP==VhdlDocGen::FUNCTION || currP==VhdlDocGen::PROCEDURE)
- {
- addProto(s5.data(),s.data(),s1.data(),s2.data(),s3.data(),s4.data());
- }
- else
- {
- QCString i=s2+s3+s4;
- if (currP==VhdlDocGen::GENERIC && param_sec==0)
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,i.data(),s1.data(),Public);
- else if(parse_sec != GEN_SEC)
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,currP,i.data(),s1.data(),Public);
- }
- // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
- } // if component
- return it;
- }
+ QCString it=s+":"+s1+" "+s2+" "+s3+" "+s4;
+ if (m_sharedState->currP!=VhdlDocGen::COMPONENT)
+ {
+ if (m_sharedState->currP==VhdlDocGen::FUNCTION || m_sharedState->currP==VhdlDocGen::PROCEDURE)
+ {
+ outlineParser()->addProto(s5.data(),s.data(),s1.data(),s2.data(),s3.data(),s4.data());
+ }
+ else
+ {
+ QCString i=s2+s3+s4;
+ if (m_sharedState->currP==VhdlDocGen::GENERIC && m_sharedState->param_sec==0)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
+ else if(m_sharedState->parse_sec != GEN_SEC)
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
+ }
+ // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
+ } // if component
+ return it;
+ }
}
QCString iteration_scheme() : {QCString s;}
@@ -1486,15 +1505,15 @@ QCString iteration_scheme() : {QCString s;}
<WHILE_T> s=condition()
{
s.prepend("while ");
- FlowChart::addFlowChart(FlowChart::WHILE_NO,0,s.data(),lab.data());
- lab="";
+ FlowChart::addFlowChart(FlowChart::WHILE_NO,0,s.data(),m_sharedState->lab.data());
+ m_sharedState->lab="";
return s;
}
| <FOR_T> s=parameter_specification()
{
- QCString q=lab+" for "+s;
- FlowChart::addFlowChart(FlowChart::FOR_NO,0,q.data(),lab.data());
- lab="";
+ QCString q=m_sharedState->lab+" for "+s;
+ FlowChart::addFlowChart(FlowChart::FOR_NO,0,q.data(),m_sharedState->lab.data());
+ m_sharedState->lab="";
return q;
}
}
@@ -1509,9 +1528,9 @@ QCString library_clause() : {QCString s;}
(<LIBRARY_T> s=identifier_list() <SEMI_T>
)
{
- if ( parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
+ if ( m_sharedState->parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
{
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Public);
}
QCString s1="library "+s;
return s1;
@@ -1652,7 +1671,7 @@ QCString next_statement() : {QCString s,s1,s2;Token *t=0;Token *t1=0;}
{
if(t) s+=":";
FlowChart::addFlowChart(FlowChart::NEXT_NO,"next ",s2.data(),s1.data());
- lab.resize(0);
+ m_sharedState->lab.resize(0);
if(t1) s2.prepend("when ");
return s+s1+s2+";";
}
@@ -1695,13 +1714,13 @@ void package_body() : {QCString s;}
{
<PACKAGE_T> <BODY_T> s=name() <IS_T>
{
- lastCompound=current.get();
+ m_sharedState->lastCompound=m_sharedState->current;
s.prepend("_");
- addVhdlType(s,getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
+ outlineParser()->addVhdlType(s,outlineParser()->getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
}
package_body_declarative_part()
-<END_T> [<PACKAGE_T> <BODY_T> ] [ name() ] <SEMI_T> { lastCompound=0; genLabels.resize(0); }
+<END_T> [<PACKAGE_T> <BODY_T> ] [ name() ] <SEMI_T> { m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0); }
}
void package_body_declarative_item() : {}
@@ -1731,20 +1750,20 @@ void package_declaration(): {QCString s;}
<PACKAGE_T> s=identifier() <IS_T>
{
- lastCompound=current.get();
- std::shared_ptr<Entry> clone=std::make_shared<Entry>(*current);
+ m_sharedState->lastCompound=m_sharedState->current;
+ std::shared_ptr<Entry> clone=std::make_shared<Entry>(*m_sharedState->current);
clone->section=Entry::NAMESPACE_SEC;
clone->spec=VhdlDocGen::PACKAGE;
clone->name=s;
- clone->startLine=getLine(PACKAGE_T);
- clone->bodyLine=getLine(PACKAGE_T);
+ clone->startLine=outlineParser()->getLine(PACKAGE_T);
+ clone->bodyLine=outlineParser()->getLine(PACKAGE_T);
clone->protection=Package;
- current_root->moveToSubEntryAndKeep(clone);
- addVhdlType(s,getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
+ m_sharedState->current_root->moveToSubEntryAndKeep(clone);
+ outlineParser()->addVhdlType(s,outlineParser()->getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
}
package_declarative_part()
<END_T> [ <PACKAGE_T>] [ name() ] <SEMI_T>
-{ lastEntity=0;lastCompound=0; genLabels.resize(0); }
+{ m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLabels.resize(0); }
}
void geninter():{}
@@ -1800,7 +1819,7 @@ QCString physical_literal() : {QCString s,s1;}
QCString physical_type_definition() : {QCString s,s1,s2;}
{
<UNITS_T>
- s=identifier()<SEMI_T> { addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);}
+ s=identifier()<SEMI_T> { outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);}
(
s1=secondary_unit_declaration()
)*
@@ -1811,7 +1830,7 @@ QCString physical_type_definition() : {QCString s,s1,s2;}
void port_clause() : {}
{
- <PORT_T> <LPAREN_T> port_list()<RPAREN_T> <SEMI_T>{ currP=0; }
+ <PORT_T> <LPAREN_T> port_list()<RPAREN_T> <SEMI_T>{ m_sharedState->currP=0; }
}
QCString port_list() : {QCString s;}
@@ -1909,9 +1928,9 @@ void process_statement() : {QCString s,s1,s2;Token *tok=0;}
[ s=identifier() <COLON_T> ]
[ <POSTPONED_T> ]
{
- currP=VhdlDocGen::PROCESS;
- current->startLine=getLine();
- current->bodyLine=getLine();
+ m_sharedState->currP=VhdlDocGen::PROCESS;
+ m_sharedState->current->startLine=outlineParser()->getLine();
+ m_sharedState->current->bodyLine=outlineParser()->getLine();
}
<PROCESS_T>
//try{
@@ -1925,25 +1944,25 @@ void process_statement() : {QCString s,s1,s2;Token *tok=0;}
<BEGIN_T>
process_statement_part()
<END_T> [ <POSTPONED_T> ]
- // }catch(...){error_skipto(PROCESS_T);}
+ // }catch(...){outlineParser()->error_skipto(PROCESS_T);}
<PROCESS_T> [ identifier() ] <SEMI_T>
- {
- if(s.isEmpty())
- currName=VhdlDocGen::getProcessNumber();
- else
- currName=s;
-
- current->name=currName;
- tempEntry=current.get();
- current->endBodyLine=getLine();
- currP=0;
- if(tok)
- s1=tok->image.data();
- createFunction(currName,VhdlDocGen::PROCESS,s1.data());
- createFlow();
- currName="";
- newEntry();
-}
+ {
+ if(s.isEmpty())
+ m_sharedState->currName=VhdlDocGen::getProcessNumber();
+ else
+ m_sharedState->currName=s;
+
+ m_sharedState->current->name=m_sharedState->currName;
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->endBodyLine=outlineParser()->getLine();
+ m_sharedState->currP=0;
+ if(tok)
+ s1=tok->image.data();
+ outlineParser()->createFunction(m_sharedState->currName,VhdlDocGen::PROCESS,s1.data());
+ outlineParser()->createFlow();
+ m_sharedState->currName="";
+ outlineParser()->newEntry();
+ }
}
void process_statement_part() : {}
@@ -1981,7 +2000,7 @@ void record_type_definition() : {}
<RECORD_T>
// try{
(element_declaration())+
- // }catch(...){error_skipto(END_T);}
+ // }catch(...){outlineParser()->error_skipto(END_T);}
<END_T>
<RECORD_T> [ name()]
}
@@ -2038,8 +2057,8 @@ QCString secondary_unit_declaration() : {QCString s,s1;}
{
s=identifier() <EQU_T> s1=physical_literal() <SEMI_T>
{
- //printf("\n %s %s [%d]",s.data(),s1.data(),getLine());
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public);
+ //printf("\n %s %s [%d]",s.data(),s1.data(),outlineParser()->getLine());
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public);
return s+"="+s1; }
}
@@ -2172,7 +2191,7 @@ void signal_declaration() : { Token* tok=0;QCString s,s1,s2,s3,s4;}
if(tok)
s3.prepend(":=");
s4=s1+s2+s3;
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public);
}
}
QCString signal_kind() : {}
@@ -2230,14 +2249,14 @@ tok=<STRINGLITERAL> {return tok->image.c_str();}
}
FlowChart::addFlowChart(FlowChart::BEGIN_NO,"BEGIN",0);
}
- // }catch(...){error_skipto(BEGIN_T);}
+ // }catch(...){outlineParser()->error_skipto(BEGIN_T);}
<BEGIN_T>
subprogram_statement_part()
<END_T> [ subprogram_kind() ] [ designator() ] <SEMI_T>
{
- tempEntry->endBodyLine=getLine(END_T);
- createFlow();
- currP=0;
+ m_sharedState->tempEntry->endBodyLine=outlineParser()->getLine(END_T);
+ outlineParser()->createFlow();
+ m_sharedState->currP=0;
}
}
@@ -2246,7 +2265,7 @@ void subprogram_declaration() : {}
LOOKAHEAD(subprogram_instantiation_declaration())
subprogram_instantiation_declaration()
|
-subprogram_specification()subprogram_1(){currP=0;}
+subprogram_specification()subprogram_1(){m_sharedState->currP=0;}
}
void subprogram_1() : {}
@@ -2292,35 +2311,35 @@ void subprogram_specification() : {QCString s;Token *tok=0;Token *t;}
{
<PROCEDURE_T> s=designator()
{
- currP=VhdlDocGen::PROCEDURE;
- createFunction(s.data(),currP,0);
- tempEntry=current.get();
- current->startLine=getLine(PROCEDURE_T);
- current->bodyLine=getLine(PROCEDURE_T);
-
- } [LOOKAHEAD(1) <LPAREN_T> { param_sec=PARAM_SEC; } interface_list() { param_sec=0; }<RPAREN_T> ]
- [LOOKAHEAD(2) gen_interface_list()]
- [ LOOKAHEAD(2) gen_assoc_list()]
- param()
- { newEntry(); }
-|
+ m_sharedState->currP=VhdlDocGen::PROCEDURE;
+ outlineParser()->createFunction(s.data(),m_sharedState->currP,0);
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->startLine=outlineParser()->getLine(PROCEDURE_T);
+ m_sharedState->current->bodyLine=outlineParser()->getLine(PROCEDURE_T);
+
+ } [LOOKAHEAD(1) <LPAREN_T> { m_sharedState->param_sec=PARAM_SEC; } interface_list() { m_sharedState->param_sec=0; }<RPAREN_T> ]
+ [LOOKAHEAD(2) gen_interface_list()]
+ [ LOOKAHEAD(2) gen_assoc_list()]
+ param()
+ { outlineParser()->newEntry(); }
+ |
[ (tok=<PURE_T> | tok=<IMPURE_T>) ] t=<FUNCTION_T> s=designator()
- {
- currP=VhdlDocGen::FUNCTION;
- if(tok)
- createFunction(tok->image.c_str(),currP,s.data());
- else
- createFunction(0,currP,s.data());
- tempEntry=current.get();
- current->startLine=getLine(FUNCTION_T);
- current->bodyLine=getLine(FUNCTION_T);
- }
- [{ param_sec=PARAM_SEC; } <LPAREN_T> formal_parameter_list() <RPAREN_T> { param_sec=0; }]
+ {
+ m_sharedState->currP=VhdlDocGen::FUNCTION;
+ if(tok)
+ outlineParser()->createFunction(tok->image.c_str(),m_sharedState->currP,s.data());
+ else
+ outlineParser()->createFunction(0,m_sharedState->currP,s.data());
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->startLine=outlineParser()->getLine(FUNCTION_T);
+ m_sharedState->current->bodyLine=outlineParser()->getLine(FUNCTION_T);
+ }
+ [{ m_sharedState->param_sec=PARAM_SEC; } <LPAREN_T> formal_parameter_list() <RPAREN_T> { m_sharedState->param_sec=0; }]
<RETURN_T> s=type_mark()
{
- tempEntry=current.get();
- current->type=s;
- newEntry();
+ m_sharedState->tempEntry=m_sharedState->current;
+ m_sharedState->current->type=s;
+ outlineParser()->newEntry();
}
}
@@ -2332,20 +2351,20 @@ void subprogram_statement_part() : {}
QCString subtype_declaration() : {QCString s,s1;}
{
<SUBTYPE_T> s=identifier() <IS_T> s1=subtype_indication() <SEMI_T>
- {
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public);
+{
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public);
return " subtype "+s+" is "+s1+";";
- }
+}
}
QCString subtype_indication() : {QCString s,s1,s2;}
{
s=name()
[LOOKAHEAD (name()) s1=name()] [LOOKAHEAD(constraint() ) s2=constraint()]
- {return s+" "+s1+" "+s2;}
+ { return s+" "+s1+" "+s2; }
}
-QCString suffix() : {QCString s;}
+QCString suffix() : { QCString s; }
{
LOOKAHEAD(name())
s=name() { return s;}
@@ -2354,18 +2373,18 @@ s=name() { return s;}
| <ALL_T> {return " all ";}
}
-QCString target() : {QCString s;}
+QCString target() : { QCString s; }
{
s=name(){ return s;}
| s=aggregate() { return s;}
}
-QCString term() : {QCString s,s1,s2;}
+QCString term() : { QCString s,s1,s2; }
{
s=factor() ( LOOKAHEAD(2) s1=multiplying_operation() s2=factor(){s+=s1;s+=s2;} )* { return s;}
}
-QCString timeout_clause() : {QCString s;}
+QCString timeout_clause() : { QCString s; }
{
<FOR_T> s=expression()
{
@@ -2396,7 +2415,7 @@ s=scalar_type_definition(){ return s;}
LOOKAHEAD(2)
protected_type_body() { return ""; }
| protected_type_declaration() { return ""; }
-//}catch(...){error_skipto(SEMI_T); return "";}
+//}catch(...){outlineParser()->error_skipto(SEMI_T); return "";}
}
QCString type_mark() : {QCString s; }
@@ -2419,9 +2438,9 @@ QCString unconstraint_array_definition() : {QCString s,s1,s2,s3;}
{
QCStringList ql=QCStringList::split(".",ql1[j]);
QCString it=ql[1];
- if ( parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
+ if ( m_sharedState->parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
{
- VhdlParser::addVhdlType(it.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::USE,it.data(),"_use_",Public);
+ outlineParser()->addVhdlType(it.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::USE,it.data(),"_use_",Public);
}
}
s1="use "+s;
@@ -2444,27 +2463,28 @@ QCString variable_declaration() : {Token *tok=0;Token *t1=0;QCString s,s1,s2;}
[ t1=<VARASSIGN_T> s2=expression() ] <SEMI_T>
{
- int spec;
- if(t1)
- s2.prepend(":=");
- QCString val=" variable "+s+":"+s1+s2+";";
- QCString it=s1;
- if(tok != 0)
- {
- it.prepend(" shared ");
- val.prepend(" shared");
- spec=VhdlDocGen::SHAREDVARIABLE;
- }
- else
- spec=VhdlDocGen::SHAREDVARIABLE;
+ int spec;
+ if(t1)
+ s2.prepend(":=");
+ QCString val=" variable "+s+":"+s1+s2+";";
+ QCString it=s1;
+ if(tok != 0)
+ {
+ it.prepend(" shared ");
+ val.prepend(" shared");
+ spec=VhdlDocGen::SHAREDVARIABLE;
+ }
+ else
+ spec=VhdlDocGen::SHAREDVARIABLE;
- if(t1){
- it+=":=";
- it+=s2;
- }
- addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public);
- return val;
- }
+ if(t1)
+ {
+ it+=":=";
+ it+=s2;
+ }
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public);
+ return val;
+}
}
@@ -2502,7 +2522,7 @@ QCString protected_type_body() :{ }
<PROTECTED_T> <BODY_T>
protected_type_body_declarative_part()
- //}catch(...){error_skipto(END_T);}
+ //}catch(...){outlineParser()->error_skipto(END_T);}
<END_T><PROTECTED_T> <BODY_T> [identifier()] {return "";}
}
@@ -2538,7 +2558,7 @@ QCString protected_type_declaration() : { }
<PROTECTED_T>
try{
protected_type_declarative_part()
- }catch(...){error_skipto(END_T);}
+ }catch(...){outlineParser()->error_skipto(END_T);}
<END_T><PROTECTED_T> [ identifier() ] { return "";}
}
@@ -2569,10 +2589,10 @@ QCString context_ref() : {QCString s;}
void context_declaration(): {QCString s,s1;}
{
- <CONTEXT_T> s=identifier() <IS_T> { parse_sec=CONTEXT_SEC; } (s1=libustcont_stats())* <END_T> [ <CONTEXT_T> ][identifier()] <SEMI_T>
+ <CONTEXT_T> s=identifier() <IS_T> { m_sharedState->parse_sec=CONTEXT_SEC; } (s1=libustcont_stats())* <END_T> [ <CONTEXT_T> ][identifier()] <SEMI_T>
{
- parse_sec=0;
- addVhdlType(s.data(),getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public);
+ m_sharedState->parse_sec=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public);
}
}
@@ -2588,7 +2608,7 @@ QCString libustcont_stats(): {QCString s;}
<PACKAGE_T> s=identifier() <IS_T> <NEW_T> s1=name() s2=signature() [gen_assoc_list()] <SEMI_T>
{
QCString q=" is new "+s1+s2;
- addVhdlType(s.data(),getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public);
}
}
@@ -2596,7 +2616,7 @@ QCString interface_package_declaration(): {QCString s,s1;}
{
<PACKAGE_T> s=identifier() <IS_T> <NEW_T> s1=name() [gen_assoc_list()]
{
- current->name=s;
+ m_sharedState->current->name=s;
return "package "+s+" is new "+s1;
}
}
@@ -2606,7 +2626,7 @@ QCString subprogram_instantiation_declaration():{QCString s,s1,s2;}
<FUNCTION_T> s=identifier() <IS_T> <NEW_T> s1=name() s2=signature() [gen_assoc_list()] <SEMI_T>
{
QCString q= " is new "+s1+s2;
- addVhdlType(s.data(),getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public);
return q;
}
}
@@ -2622,12 +2642,12 @@ void gen_interface_list() : {}
<GENERIC_T><LPAREN_T>
{
//int u=s_str.iLine;
- parse_sec=GEN_SEC;
+ m_sharedState->parse_sec=GEN_SEC;
}
interface_list()
{
// QCString vo=$3;
- parse_sec=0;
+ m_sharedState->parse_sec=0;
}
<RPAREN_T>
}
@@ -2719,86 +2739,93 @@ QCString pathname_element ():{QCString s,s1;}
QCString pathname_element_list():{QCString s,s1,s2;}
{
- ( s=pathname_element() <DOT_T> ) {s+=".";} (LOOKAHEAD(pathname_element() <DOT_T>) s1=pathname_element() <DOT_T> {s2+=s1;s2+="."; })*
- { return s+s2; }
+ ( s=pathname_element() <DOT_T> ) {s+=".";} (LOOKAHEAD(pathname_element() <DOT_T>) s1=pathname_element() <DOT_T> {s2+=s1;s2+="."; })*
+ { return s+s2; }
}
QCString package_path_name():{QCString s;}
{
- <AT_T> s=name() { return "@"+s; }
+ <AT_T> s=name() { return "@"+s; }
}
void conditional_signal_assignment_wave(): {}
{
LOOKAHEAD(conditional_force_assignment())
- conditional_force_assignment()
- |conditional_waveform_assignment()
+ conditional_force_assignment() |
+ conditional_waveform_assignment()
}
void conditional_waveform_assignment():{}
{
- target() <LESSTHAN_T> [LOOKAHEAD(1) delay_mechanism() ] waveform_element() <WHEN_T> expression() [else_wave_list()] <SEMI_T>
- }
+ target()
+ <LESSTHAN_T> [LOOKAHEAD(1) delay_mechanism() ] waveform_element()
+ <WHEN_T> expression() [else_wave_list()]
+ <SEMI_T>
+}
void else_wave_list(): {}
{
-<ELSE_T> expression() [ <WHEN_T> expression()]
+ <ELSE_T> expression() [ <WHEN_T> expression()]
}
void conditional_force_assignment(): {}
{
- target() <LESSTHAN_T> <FORCE_T> [inout_stat()] expression() <WHEN_T> [expression() else_stat()] <SEMI_T>
+ target()
+ <LESSTHAN_T>
+ <FORCE_T> [inout_stat()] expression()
+ <WHEN_T> [expression() else_stat()]
+ <SEMI_T>
}
void selected_signal_assignment_wave() : {}
{
- LOOKAHEAD(selected_force_assignment() )
- selected_force_assignment()
-| selected_waveform_assignment()
+ LOOKAHEAD(selected_force_assignment() )
+ selected_force_assignment() |
+ selected_waveform_assignment()
}
void selected_variable_assignment():{}
{
- <WITH_T> expression() <SELECT_T> [<Q_T>] select_name() <VARASSIGN_T> sel_var_list() // { $$=""; }
+ <WITH_T> expression()
+ <SELECT_T> [<Q_T>] select_name()
+ <VARASSIGN_T> sel_var_list() // { $$=""; }
}
void select_name(): {}
{
- LOOKAHEAD(aggregate())
- aggregate()
- | name()
-
+ LOOKAHEAD(aggregate())
+ aggregate() |
+ name()
}
void selected_waveform_assignment():{}
{
- <WITH_T> expression() <SELECT_T> [<Q_T>]
- target() <LESSTHAN_T> [delay_mechanism()] sel_wave_list()
+ <WITH_T> expression()
+ <SELECT_T> [<Q_T>] target()
+ <LESSTHAN_T> [delay_mechanism()] sel_wave_list()
}
void selected_force_assignment():{}
{
-<WITH_T> expression() <SELECT_T> [<Q_T>] target() <LESSTHAN_T> <FORCE_T>
+ <WITH_T> expression() <SELECT_T> [<Q_T>] target() <LESSTHAN_T> <FORCE_T>
[inout_stat()] sel_var_list()
}
void sel_var_list(): {}
{
(expression() <WHEN_T> choices() (<COMMA_T>|<SEMI_T>))(LOOKAHEAD(expression() <WHEN_T>) expression() <WHEN_T> choices() (<COMMA_T>|<SEMI_T>))*
-
}
void sel_wave_list() : {}
{
waveform_element() <WHEN_T> choices() (LOOKAHEAD(1) <COMMA_T> sel_wave_list())* <SEMI_T>
- // | sel_wave_list_1()
}
void inout_stat(): {}
{
- <IN_T>
- | <OUT_T>
+ <IN_T> |
+ <OUT_T>
}
void else_stat(): {}
@@ -2810,68 +2837,64 @@ void else_stat(): {}
QCString interface_subprogram_declaration(): {QCString s;}
{
- s=iproc() { return s;}
+ s=iproc() { return s;}
| s=ifunc() { return s; }
}
QCString iproc(): {QCString s,s1;}
- {
+{
<PROCEDURE_T> s=identifier() s1=param()
{
- current->name=s;
- return "procedure "+s+s1;
+ m_sharedState->current->name=s;
+ return "procedure "+s+s1;
}
- }
+}
QCString ifunc():{QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *t2=0;}
{
-
[t=<PURE_T> | t=<IMPURE_T> ] <FUNCTION_T> s=name() s1=param() <RETURN_T> s2=name() [t1=<IS_T> (s3=identifier() | t2=<BOX_T>)]
- {
- QCString q;
- if(t) q=t->image.data();
- if(t2) s3="<>";
- if (!s3.isEmpty())
- {
- s3.prepend(" is ");
- }
- current->name=s;
- if (parse_sec==GEN_SEC)
- {
- QCString ss=q+" function "+s1+" return "+s2+s3;
- int a=getLine(FUNCTION_T);
- int b=getLine(PROCEDURE_T);
-
- if (a>b) b=a;
- addVhdlType(current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Public);
- }
- currP=0;return "";
- }
+ {
+ QCString q;
+ if(t) q=t->image.data();
+ if(t2) s3="<>";
+ if (!s3.isEmpty())
+ {
+ s3.prepend(" is ");
+ }
+ m_sharedState->current->name=s;
+ if (m_sharedState->parse_sec==GEN_SEC)
+ {
+ QCString ss=q+" function "+s1+" return "+s2+s3;
+ int a=outlineParser()->getLine(FUNCTION_T);
+ int b=outlineParser()->getLine(PROCEDURE_T);
- }
+ if (a>b) b=a;
+ outlineParser()->addVhdlType(m_sharedState->current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Public);
+ }
+ m_sharedState->currP=0;return "";
+ }
+}
QCString param(): {QCString s,s1;Token *tok=0;}
{
-[ tok=<PARAMETER_T> ] { param_sec=PARAM_SEC; }
- [ <LPAREN_T> s1=interface_list() <RPAREN_T>]
- {
- if(tok)
- {
- s = tok->image.data();
-
- }
- param_sec=0;
- return s+"("+s1+")";
- }
-
- }
+ [ tok=<PARAMETER_T> ] { m_sharedState->param_sec=PARAM_SEC; }
+ [ <LPAREN_T> s1=interface_list() <RPAREN_T>]
+ {
+ if(tok)
+ {
+ s = tok->image.data();
+ }
+ m_sharedState->param_sec=0;
+ return s+"("+s1+")";
+ }
+}
// -----------------------------------------------------------------
// needed for inline (function/process/procedure) parsing
void parseInline() : {}
{
- process_statement()
- | subprogram_declaration()
- }
+ process_statement() |
+ subprogram_declaration()
+}