diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-04-30 15:16:33 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-04-30 15:16:33 (GMT) |
commit | 5d868ee9ffe34968c9878341da80a95e8117de7b (patch) | |
tree | 4bb6e32b230b56f394a686986392ebbd802fb63b /src/vhdlscanner.l | |
parent | aa9c531961aea00c8d9c139de3c48844f11dc9f1 (diff) | |
download | Doxygen-5d868ee9ffe34968c9878341da80a95e8117de7b.zip Doxygen-5d868ee9ffe34968c9878341da80a95e8117de7b.tar.gz Doxygen-5d868ee9ffe34968c9878341da80a95e8117de7b.tar.bz2 |
Release-1.5.9
Diffstat (limited to 'src/vhdlscanner.l')
-rw-r--r-- | src/vhdlscanner.l | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/vhdlscanner.l b/src/vhdlscanner.l index cedf780..073e0a1 100644 --- a/src/vhdlscanner.l +++ b/src/vhdlscanner.l @@ -417,6 +417,7 @@ static void parseFunctionProto() VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret); //printf("parseFuncProto(%s)=%s,%s\n",qcs.data(),name.data(),ret.data()); + VhdlDocGen::deleteAllChars(name,';'); current->name=name; current->startLine=iFuncLine; current->bodyLine=iFuncLine; @@ -639,6 +640,11 @@ BRACECLOSE [)]{1} ALLID [^;()\t ] +/* VHDL 2001 */ +ENDPROTECTED ("end"{BR}+"protected"{BR}+{NAME}{BR}*";")|("end"{BR}+"protected"{BR}*";") +ENDPROTECEDBODY "end"{BR}+"protected"{BR}+"body"{BR}+{NAME} + + %option noyywrap /* language parsing states */ @@ -661,6 +667,12 @@ ALLID [^;()\t ] %% +<Start>{ENDPROTECTED}|{ENDPROTECEDBODY} { + lineCount(); +} + + + <Start>{CONFIG} { // found configuration QCString qcs(vhdlscanYYtext); @@ -986,6 +998,21 @@ ALLID [^;()\t ] BEGIN(ParseType); } + +<ParseType>("is"){BR}+("protected"){BR}+("body") {lineCount(); BEGIN(Start); } + +<ParseType>("is"){BR}+("protected"){BR}+ { + lineCount(); + current->section=Entry::VARIABLE_SEC; + current->spec=VhdlDocGen::TYPE; + current->type="protected"; + newEntry(); + BEGIN(Start); +} + + + + <ParseType>("is"){BR}*("record") { // find record lineCount(); if (isFunc) |