+"..."|[][;*(),] {
+ unsigned char *match;
+ static const unsigned char tab[2][8] = {
+ "*[](),.;",
+ {
+ PACK_TOKEN(T_ASTERISK),
+ PACK_TOKEN(T_LBRACKET),
+ PACK_TOKEN(T_RBRACKET),
+ PACK_TOKEN(T_LPAREN),
+ PACK_TOKEN(T_RPAREN),
+ PACK_TOKEN(T_COMMA),
+ PACK_TOKEN(T_ELLIPSIS),
+ PACK_TOKEN(T_SEMICOLON)
+ }
+ };
+
+ match = memchr(&tab, yytext[0], sizeof tab[0]);
+ return UNPACK_TOKEN(match[sizeof tab[0]]);
+}