cómo escapar de la palabra clave flex

Estoy usando Flex & bison en Linux. Tengo la siguiente configuración:

// tokens CREATE {return token :: CREATE;}
SCHEMA {token de retorno :: SCHEMA; }
RECORD {return token :: RECORD;}
[_a-zA-Z0-9] [_ a-zA-Z0-9] * {yylval-> strval = strdup (yytext); volver TOKEN :: NOMBRE;}
...
// reglas CREAR NOMBRE DEL ESQUEMA ...
CREAR NOMBRE DE REGISTRO ... ...

Todo funcionó bien. Pero si los usuarios ingresan: "crear registro de esquema ..." (donde 'registro' es el nombre del esquema que se creará), Flex informará un error ya que coincide con 'registro' como un token y está buscando la regla "CREAR REGISTRO DE ESQUEMA". Entiendo que se pueden escapar las palabras clave, pero eso hace que las experiencias de los usuarios sean incómodas. Mi pregunta es:

"¿Cómo puedo diseñar las reglas anteriores para que acepte 'crear registro de esquema ...' y haga coincidir esta entrada con 'CREAR NOMBRE DE ESQUEMA ...'?"

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta