%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()); }
\" { string.setLength(0); yybegin(STRING); }
";" { return symbol("semicolon",SEMICOLON); }
"," { return symbol("comma",COMMA); }
-"." { return symbol("dot",DOT); }
"(" { return symbol("(",LPAR); }
")" { return symbol(")",RPAR); }
+"<" { return symbol("<",LANG); }
+">" { return symbol(">",RANG); }
"{" { return symbol("{",BEGIN); }
"}" { return symbol("}",END); }
"=" { return symbol("=",ASSIGN); }