Adding new policies for stub/skeleton generation - second benchmark
[iot2.git] / others / jflex / iotparser.jflex
index bad298efff7e36044e4b2b72f929fe7a38778e74..6c33ece4d95af30bd748e90c5eec31da9cf055ec 100644 (file)
@@ -52,7 +52,7 @@ import java_cup.runtime.ComplexSymbolFactory.Location;
 %eofval}
 
 
-Ident = [a-zA-Z$_] [a-zA-Z0-9$_]*
+Ident = [a-zA-Z$_] [a-zA-Z0-9$_\[\]]*
 
 new_line = \r|\n|\r\n;
 
@@ -64,16 +64,17 @@ white_space = {new_line} | [ \t\f]
 
 <YYINITIAL>{
 /* keywords */
-"int"             { return symbol("int",TYPE, "INT" ); }
-"short"           { return symbol("short",TYPE, "SHORT" ); }
-"byte"            { return symbol("byte",TYPE, "BYTE" ); }
-"long"            { return symbol("long",TYPE, "LONG" ); }
-"float"           { return symbol("float",TYPE, "FLOAT" ); }
-"double"          { return symbol("double",TYPE, "DOUBLE" ); }
-"char"            { return symbol("char",TYPE, "CHAR" ); }
-"string"          { return symbol("string",TYPE, "STRING" ); }
-"boolean"         { return symbol("boolean",TYPE, "BOOL" ); }
-"void"            { return symbol("void",TYPE, "VOID" ); }
+"int"             { return symbol("int",TYPE, "int" ); }
+"short"           { return symbol("short",TYPE, "short" ); }
+"byte"            { return symbol("byte",TYPE, "byte" ); }
+"long"            { return symbol("long",TYPE, "long" ); }
+"float"           { return symbol("float",TYPE, "float" ); }
+"double"          { return symbol("double",TYPE, "double" ); }
+"char"            { return symbol("char",TYPE, "char" ); }
+"string"          { return symbol("string",TYPE, "String" ); }
+"String"          { return symbol("String",TYPE, "String" ); }
+"boolean"         { return symbol("boolean",TYPE, "boolean" ); }
+"void"            { return symbol("void",TYPE, "void" ); }
 "public"          { return symbol("public",PUBLIC); }
 "interface"       { return symbol("interface",INTERFACE); }
 "capability"      { return symbol("capability",CAPABILITY); }
@@ -82,6 +83,8 @@ white_space = {new_line} | [ \t\f]
 "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()); }
@@ -101,9 +104,10 @@ white_space = {new_line} | [ \t\f]
   \"              { 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); }