como escapar da palavra-chave flex

Estou usando o Flex & bison no Linux. Eu tenho o seguinte configurado:

// tokens CREATE {return token :: CREATE;}
ESQUEMA {token de retorno :: SCHEMA; }
RECORD {retornar token :: RECORD;}
[_a-zA-Z0-9] [_a-zA-Z0-9] * {yylval-> strval = strdup (texto do yy); retornar TOKEN :: NAME;}
...
// regras CREATE SCHEMA NAME ...
CRIAR NOME DO REGISTRO ... ...

Tudo funcionou muito bem. Porém, se os usuários digitarem: "create record do esquema ..." (onde 'record' é o nome do esquema a ser criado), o Flex relatará um erro, uma vez que corresponde a 'record' como um token e está procurando a regra "CRIAR REGISTRO DE ESQUEMA". Entendo que as palavras-chave podem ser escapadas, mas isso torna a experiência do usuário estranha. Minha pergunta é:

"Como criar as regras acima para aceitar 'criar registro de esquema ...' e corresponder essa entrada a 'CREATE SCHEMA NAME ...'?"

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion