Как объединить несколько строковых токенов в один токен с помощью flex / lex? - PullRequest
0 голосов
/ 11 февраля 2020

В flex / lex я хочу сопоставить несколько строковых токенов в один строковый токен. Как мне написать правило flex / lex?

Теперь мое правило соответствия строк:

union {
  char *literal;
  int token;
};

\"(\\.|[^\\"])*\"       {
                          yylval.literal = strndup(yytext + 1, yyleng - 2);
                          return T_STRING_CONSTANT;
                        }

Это правило соответствует приведенному ниже источнику в 3 токена:

// source code

"hello world," " goodbye world," " my love"

Как я могу объединить их в один токен?

"hello world, goodbye world, my love"
...