diff options
Diffstat (limited to 'src/defargs.l')
-rw-r--r-- | src/defargs.l | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/defargs.l b/src/defargs.l index fa945f6..6d6136a 100644 --- a/src/defargs.l +++ b/src/defargs.l @@ -212,6 +212,7 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" else // yytext=='<' { g_argSharpCount=0; + g_argRoundCount=0; BEGIN( CopyArgSharp ); } } @@ -239,6 +240,26 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" if (g_argRoundCount>0) g_argRoundCount--; else BEGIN( g_readArgContext ); } +<CopyArgSharp>"<<" { + if (g_argRoundCount>0) + { + *g_copyArgValue += yytext; + } + else + { + REJECT; + } + } +<CopyArgSharp>">>" { + if (g_argRoundCount>0) + { + *g_copyArgValue += yytext; + } + else + { + REJECT; + } + } <CopyArgSharp>"<" { g_argSharpCount++; *g_copyArgValue += *yytext; @@ -248,6 +269,14 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" if (g_argSharpCount>0) g_argSharpCount--; else BEGIN( g_readArgContext ); } +<CopyArgSharp>"(" { + g_argRoundCount++; + *g_copyArgValue += *yytext; + } +<CopyArgSharp>")" { + g_argRoundCount--; + *g_copyArgValue += *yytext; + } <CopyArgCurly>"{" { g_argCurlyCount++; *g_copyArgValue += *yytext; |