summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/latexgen.cpp2
-rw-r--r--src/scanner.l27
2 files changed, 21 insertions, 8 deletions
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 60bf2ba..66a1f8e 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -553,7 +553,7 @@ static void writeDefaultHeaderPart1(FTextStream &t)
"\\hbadness=750\n"
"\\setlength{\\emergencystretch}{15pt}\n"
"\\setlength{\\parindent}{0cm}\n"
- "\\setlength{\\parskip}{0.2cm}\n";
+ "\\setlength{\\parskip}{3ex plus 2ex minus 2ex}\n";
// Redefine paragraph/subparagraph environments, using sectsty fonts
t << "\\makeatletter\n"
"\\renewcommand{\\paragraph}{%\n"
diff --git a/src/scanner.l b/src/scanner.l
index e9d5707..e468b8f 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -75,6 +75,7 @@ static int lastCSConstraint;
static int lastHereDocContext;
static int lastDefineContext;
static int lastAlignAsContext;
+static int lastC11AttributeContext;
static Protection protection;
static Protection baseProt;
static int sharpCount = 0 ;
@@ -668,6 +669,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
%x SkipPHPString
%x SkipInits
%x SkipC11Inits
+%x SkipC11Attribute
%x SkipCPP
%x SkipCPPBlock
%x SkipComment
@@ -2431,6 +2433,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
else
{
+ externC=FALSE; // see bug759247
BEGIN(FindMembers);
}
}
@@ -3417,6 +3420,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
{
current->args += yytext ;
squareCount=1;
+ externC=FALSE; // see bug759247
BEGIN( Array ) ;
}
}
@@ -5022,6 +5026,9 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
BEGIN(SkipInits);
}
}
+<SkipC11Attribute>"]]" {
+ BEGIN(lastC11AttributeContext);
+ }
<SkipInits>"{" { // C++11 style initializer
unput('{');
BEGIN( Function );
@@ -5125,7 +5132,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
//addToBody(yytext);
BEGIN( SkipCurlyCpp );
}
-<SkipCurly,SkipC11Inits,SkipInits>\n {
+<SkipCurly,SkipC11Inits,SkipInits,SkipC11Attribute>\n {
lineCount();
//addToBody(yytext);
}
@@ -5154,22 +5161,22 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
//addToBody(yytext);
lineCount();
}
-<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>"/*" {
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp,SkipC11Attribute>"/*" {
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipComment);
}
-<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>"//" {
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp,SkipC11Attribute>"//" {
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipCxxComment);
}
-<SkipInits,SkipC11Inits>"(" {
+<SkipInits,SkipC11Inits,SkipC11Attribute>"(" {
roundCount=0;
lastSkipRoundContext=YY_START;
BEGIN(SkipRound);
}
-<SkipInits,SkipC11Inits>\" {
+<SkipInits,SkipC11Inits,SkipC11Attribute>\" {
lastStringContext=YY_START;
BEGIN( SkipString );
}
@@ -5204,7 +5211,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
BEGIN(SkipPHPString);
}
}
-<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>. { }
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp,SkipC11Attribute>. { }
<SkipString,SkipPHPString>\\. { }
<SkipString>\" {
BEGIN( lastStringContext );
@@ -5999,7 +6006,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
<Comment>. { current->program += *yytext ; }
-<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar,SkipInits,SkipC11Inits,Bases,OldStyleArgs>("//"{B}*)?"/*!" {
+<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar,SkipInits,SkipC11Inits,SkipC11Attribute,Bases,OldStyleArgs>("//"{B}*)?"/*!" {
//printf("Start doc block at %d\n",yyLineNr);
removeSlashes=(yytext[1]=='/');
tmpDocType=-1;
@@ -6528,6 +6535,12 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
BEGIN( lastCContext ) ;
}
<SkipComment>[^\*\n]+
+
+"[[" { // C++11 attribute
+ lastC11AttributeContext = YY_START;
+ BEGIN( SkipC11Attribute );
+ }
+
<*>\n { lineCount(); }
<*>\" {
if (insideIDL && insideCppQuote)