STRING ["](\\[\x00-\xff]|[^\\"\n])*["]|['](\\[\x00-\xff]|[^\\'\n])*[']
S [ \n\r\t]
-MULTILINE_COMMENT [/][*]+([*][^/]|[^/*]|[\x00-\x1f])*[*]+[/]
+MULTILINE_COMMENT [/][*]+([*][^/]|[^/*]|[^*][/]|[\x00-\x1f])*[*]+[/]
SINGLELINE_COMMENT \/\/[^\n]*\n
REGEXP [/]([^/\n]|\\[/])*[/][a-zA-Z]*
%%
[-][=] {c();return m(T_MINUSBY);}
[/][=] {c();return m(T_DIVBY);}
[%][=] {c();return m(T_MODBY);}
+[*][=] {c();return m(T_MULBY);}
[>][>][=] {c();return m(T_SHRBY);}
[<][<][=] {c();return m(T_SHLBY);}
[>][>][>][=] {c();return m(T_USHRBY);}
[<][<] {c();return m(T_SHL);}
[>][>][>] {c();return m(T_USHR);}
[>][>] {c();return m(T_SHR);}
+\.\.\. {c();return m(T_DOTDOTDOT);}
\.\. {c();return m(T_DOTDOT);}
\. {c();return m('.');}
:: {c();return m(T_COLONCOLON);}