diff options
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r-- | src/doctokenizer.l | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 7f11aca..d9f845a 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -395,6 +395,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} %x St_HtmlOnly %x St_ManOnly %x St_LatexOnly +%x St_RtfOnly %x St_XmlOnly %x St_Verbatim %x St_Dot @@ -708,9 +709,10 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} return TK_NEWPARA; } } -<St_CodeOpt>"{"{LABELID}"}" { +<St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" { g_token->name = yytext; - g_token->name = g_token->name.mid(1,g_token->name.length()-2); + int i=g_token->name.find('{'); + g_token->name = g_token->name.mid(i+1,g_token->name.length()-i-2); BEGIN(St_Code); } <St_CodeOpt>\n | @@ -745,6 +747,14 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} <St_ManOnly>. { g_token->verb+=yytext; } +<St_RtfOnly>{CMD}"endrtfonly" { + return RetVal_OK; + } +<St_RtfOnly>[^\\@\n$]+ | +<St_RtfOnly>\n | +<St_RtfOnly>. { + g_token->verb+=yytext; + } <St_LatexOnly>{CMD}"endlatexonly" { return RetVal_OK; } @@ -1199,6 +1209,12 @@ void doctokenizerYYsetStateManOnly() BEGIN(St_ManOnly); } +void doctokenizerYYsetStateRtfOnly() +{ + g_token->verb=""; + BEGIN(St_RtfOnly); +} + void doctokenizerYYsetStateXmlOnly() { g_token->verb=""; |