%eofval}
-Ident = [a-zA-Z$_] [a-zA-Z0-9$_<>]*
+Ident = [a-zA-Z$_] [a-zA-Z0-9$_\[\]]*
new_line = \r|\n|\r\n;
"requires" { return symbol("requires",REQUIRES); }
"with" { return symbol("with",WITH); }
"as" { return symbol("as",AS); }
+"enum" { return symbol("enum",ENUM); }
+"struct" { return symbol("struct",STRUCT); }
/* names */
{Ident} { return symbol("Identifier",IDENT, yytext()); }
"," { return symbol("comma",COMMA); }
"(" { return symbol("(",LPAR); }
")" { return symbol(")",RPAR); }
+"<" { return symbol("<",LANG); }
+">" { return symbol(">",RANG); }
"{" { return symbol("{",BEGIN); }
"}" { return symbol("}",END); }
"=" { return symbol("=",ASSIGN); }