Adding handling for primitives, non-primitives, and user-defined types; doesn't handl...
[iot2.git] / iotjava / iotpolicy / parser / Lexer.java
index aa40a6e2203350a018122e62ee33e51f3433c1dc..947b4e32b832e749b71de15e5cfbdc924495e620 100644 (file)
@@ -1,5 +1,3 @@
-package iotpolicy.parser;
-
 /* The following code was generated by JFlex 1.6.1 */
 
 // JFlex parser specification written by
@@ -9,6 +7,7 @@ package iotpolicy.parser;
 
 // Technische Universitaet Muenchen 
 // Fakultaet fuer Informatik 
+package iotpolicy.parser;
 
 import java_cup.runtime.Symbol;
 import java_cup.runtime.ComplexSymbolFactory;
@@ -46,13 +45,13 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
    * Translates characters to character classes
    */
   private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\6\1\4\1\47\1\6\1\3\22\0\1\6\1\0\1\36"+
-    "\1\0\1\1\3\0\1\41\1\42\2\0\1\37\1\0\1\40\1\0"+
-    "\12\2\1\0\1\5\1\0\1\45\3\0\22\1\1\30\7\1\1\0"+
-    "\1\46\2\0\1\1\1\0\1\24\1\16\1\27\1\25\1\20\1\23"+
-    "\1\22\1\13\1\7\2\1\1\21\1\33\1\10\1\14\1\32\1\34"+
-    "\1\15\1\12\1\11\1\26\1\31\1\35\1\1\1\17\1\1\1\43"+
-    "\1\0\1\44\7\0\1\47\u1fa2\0\1\47\1\47\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
+    "\11\0\1\6\1\4\1\50\1\6\1\3\22\0\1\6\1\0\1\36"+
+    "\1\0\1\1\3\0\1\40\1\41\2\0\1\37\3\0\12\2\1\0"+
+    "\1\5\1\42\1\46\1\43\2\0\22\1\1\30\7\1\1\0\1\47"+
+    "\2\0\1\1\1\0\1\24\1\16\1\27\1\25\1\20\1\23\1\22"+
+    "\1\13\1\7\2\1\1\21\1\33\1\10\1\14\1\32\1\34\1\15"+
+    "\1\12\1\11\1\26\1\31\1\35\1\1\1\17\1\1\1\44\1\0"+
+    "\1\45\7\0\1\50\u1fa2\0\1\50\1\50\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
 
   /** 
    * Translates characters to character classes
@@ -67,14 +66,15 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
   private static final String ZZ_ACTION_PACKED_0 =
     "\2\0\1\1\1\2\2\3\1\4\16\2\1\5\1\6"+
     "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
-    "\1\17\1\0\10\2\1\20\11\2\1\21\1\22\1\23"+
-    "\1\24\1\25\25\2\1\26\1\27\3\2\1\30\2\2"+
-    "\1\31\2\2\1\32\2\2\1\33\2\2\1\34\7\2"+
-    "\1\35\2\2\1\36\2\2\1\37\1\40\1\41\2\2"+
-    "\1\42\3\2\1\43\2\2\1\44\3\2\1\45\1\46";
+    "\1\17\1\20\1\0\10\2\1\21\11\2\1\22\1\23"+
+    "\1\24\1\25\1\26\25\2\1\27\1\30\3\2\1\31"+
+    "\2\2\1\32\2\2\1\33\2\2\1\34\2\2\1\35"+
+    "\7\2\1\36\2\2\1\37\2\2\1\40\1\41\1\42"+
+    "\2\2\1\43\3\2\1\44\2\2\1\45\3\2\1\46"+
+    "\1\47";
 
   private static int [] zzUnpackAction() {
-    int [] result = new int[126];
+    int [] result = new int[127];
     int offset = 0;
     offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
     return result;
@@ -99,25 +99,25 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
   private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
 
   private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\50\0\120\0\170\0\240\0\120\0\120\0\310"+
-    "\0\360\0\u0118\0\u0140\0\u0168\0\u0190\0\u01b8\0\u01e0\0\u0208"+
-    "\0\u0230\0\u0258\0\u0280\0\u02a8\0\u02d0\0\120\0\120\0\120"+
-    "\0\120\0\120\0\120\0\120\0\120\0\u02f8\0\120\0\u0320"+
-    "\0\u0348\0\u0370\0\u0398\0\u03c0\0\u03e8\0\u0410\0\u0438\0\u0460"+
-    "\0\u0488\0\170\0\u04b0\0\u04d8\0\u0500\0\u0528\0\u0550\0\u0578"+
-    "\0\u05a0\0\u05c8\0\u05f0\0\120\0\120\0\120\0\120\0\u0618"+
-    "\0\u0640\0\u0668\0\u0690\0\u06b8\0\u06e0\0\u0708\0\u0730\0\u0758"+
-    "\0\u0780\0\u07a8\0\u07d0\0\u07f8\0\u0820\0\u0848\0\u0870\0\u0898"+
-    "\0\u08c0\0\u08e8\0\u0910\0\u0938\0\u0960\0\170\0\170\0\u0988"+
-    "\0\u09b0\0\u09d8\0\170\0\u0a00\0\u0a28\0\170\0\u0a50\0\u0a78"+
-    "\0\170\0\u0aa0\0\u0ac8\0\170\0\u0af0\0\u0b18\0\170\0\u0b40"+
-    "\0\u0b68\0\u0b90\0\u0bb8\0\u0be0\0\u0c08\0\u0c30\0\170\0\u0c58"+
-    "\0\u0c80\0\170\0\u0ca8\0\u0cd0\0\170\0\170\0\170\0\u0cf8"+
-    "\0\u0d20\0\170\0\u0d48\0\u0d70\0\u0d98\0\170\0\u0dc0\0\u0de8"+
-    "\0\170\0\u0e10\0\u0e38\0\u0e60\0\170\0\170";
+    "\0\0\0\51\0\122\0\173\0\244\0\122\0\122\0\315"+
+    "\0\366\0\u011f\0\u0148\0\u0171\0\u019a\0\u01c3\0\u01ec\0\u0215"+
+    "\0\u023e\0\u0267\0\u0290\0\u02b9\0\u02e2\0\122\0\122\0\122"+
+    "\0\122\0\122\0\122\0\122\0\122\0\122\0\u030b\0\122"+
+    "\0\u0334\0\u035d\0\u0386\0\u03af\0\u03d8\0\u0401\0\u042a\0\u0453"+
+    "\0\u047c\0\u04a5\0\173\0\u04ce\0\u04f7\0\u0520\0\u0549\0\u0572"+
+    "\0\u059b\0\u05c4\0\u05ed\0\u0616\0\122\0\122\0\122\0\122"+
+    "\0\u063f\0\u0668\0\u0691\0\u06ba\0\u06e3\0\u070c\0\u0735\0\u075e"+
+    "\0\u0787\0\u07b0\0\u07d9\0\u0802\0\u082b\0\u0854\0\u087d\0\u08a6"+
+    "\0\u08cf\0\u08f8\0\u0921\0\u094a\0\u0973\0\u099c\0\173\0\173"+
+    "\0\u09c5\0\u09ee\0\u0a17\0\173\0\u0a40\0\u0a69\0\173\0\u0a92"+
+    "\0\u0abb\0\173\0\u0ae4\0\u0b0d\0\173\0\u0b36\0\u0b5f\0\173"+
+    "\0\u0b88\0\u0bb1\0\u0bda\0\u0c03\0\u0c2c\0\u0c55\0\u0c7e\0\173"+
+    "\0\u0ca7\0\u0cd0\0\173\0\u0cf9\0\u0d22\0\173\0\173\0\173"+
+    "\0\u0d4b\0\u0d74\0\173\0\u0d9d\0\u0dc6\0\u0def\0\173\0\u0e18"+
+    "\0\u0e41\0\173\0\u0e6a\0\u0e93\0\u0ebc\0\173\0\173";
 
   private static int [] zzUnpackRowMap() {
-    int [] result = new int[126];
+    int [] result = new int[127];
     int offset = 0;
     offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
     return result;
@@ -144,78 +144,78 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
     "\2\4\1\11\2\4\1\12\1\13\2\4\1\14\1\4"+
     "\1\15\1\16\1\17\1\4\1\20\1\21\1\22\1\23"+
     "\1\24\1\4\1\25\1\26\1\27\1\30\1\31\1\32"+
-    "\1\33\1\34\1\35\1\3\1\0\3\36\1\0\1\3"+
-    "\31\36\1\37\7\36\1\40\1\36\51\0\2\4\4\0"+
-    "\27\4\16\0\1\41\44\0\2\4\4\0\1\4\1\42"+
-    "\25\4\13\0\2\4\4\0\2\4\1\43\1\4\1\44"+
-    "\22\4\13\0\2\4\4\0\11\4\1\45\15\4\13\0"+
-    "\2\4\4\0\5\4\1\46\2\4\1\47\16\4\13\0"+
-    "\2\4\4\0\5\4\1\50\21\4\13\0\2\4\4\0"+
-    "\12\4\1\51\14\4\13\0\2\4\4\0\3\4\1\52"+
-    "\23\4\13\0\2\4\4\0\5\4\1\53\3\4\1\54"+
-    "\15\4\13\0\2\4\4\0\4\4\1\55\10\4\1\56"+
-    "\11\4\13\0\2\4\4\0\2\4\1\57\24\4\13\0"+
-    "\2\4\4\0\5\4\1\60\21\4\13\0\2\4\4\0"+
-    "\17\4\1\61\7\4\13\0\2\4\4\0\11\4\1\62"+
-    "\15\4\13\0\2\4\4\0\1\63\26\4\12\0\3\36"+
-    "\2\0\31\36\1\0\7\36\1\0\1\36\10\0\1\64"+
-    "\1\65\3\0\1\66\20\0\1\67\16\0\1\6\43\0"+
-    "\2\4\4\0\2\4\1\70\24\4\13\0\2\4\4\0"+
-    "\6\4\1\71\20\4\13\0\2\4\4\0\5\4\1\72"+
-    "\21\4\13\0\2\4\4\0\25\4\1\73\1\4\13\0"+
-    "\2\4\4\0\5\4\1\74\21\4\13\0\2\4\4\0"+
-    "\2\4\1\75\24\4\13\0\2\4\4\0\1\4\1\76"+
-    "\25\4\13\0\2\4\4\0\5\4\1\77\21\4\13\0"+
-    "\2\4\4\0\17\4\1\100\7\4\13\0\2\4\4\0"+
-    "\3\4\1\101\23\4\13\0\2\4\4\0\15\4\1\102"+
-    "\11\4\13\0\2\4\4\0\23\4\1\103\3\4\13\0"+
-    "\2\4\4\0\6\4\1\104\20\4\13\0\2\4\4\0"+
-    "\1\105\26\4\13\0\2\4\4\0\7\4\1\106\17\4"+
-    "\13\0\2\4\4\0\2\4\1\107\24\4\13\0\2\4"+
-    "\4\0\2\4\1\110\24\4\13\0\2\4\4\0\11\4"+
-    "\1\111\15\4\13\0\2\4\4\0\1\112\26\4\13\0"+
-    "\2\4\4\0\6\4\1\113\20\4\13\0\2\4\4\0"+
-    "\17\4\1\114\7\4\13\0\2\4\4\0\12\4\1\115"+
-    "\14\4\13\0\2\4\4\0\11\4\1\116\15\4\13\0"+
-    "\2\4\4\0\13\4\1\117\13\4\13\0\2\4\4\0"+
-    "\15\4\1\120\11\4\13\0\2\4\4\0\7\4\1\121"+
-    "\17\4\13\0\2\4\4\0\20\4\1\122\6\4\13\0"+
-    "\2\4\4\0\6\4\1\123\20\4\13\0\2\4\4\0"+
-    "\15\4\1\124\11\4\13\0\2\4\4\0\1\125\26\4"+
-    "\13\0\2\4\4\0\16\4\1\126\10\4\13\0\2\4"+
-    "\4\0\12\4\1\127\14\4\13\0\2\4\4\0\4\4"+
-    "\1\130\22\4\13\0\2\4\4\0\4\4\1\131\22\4"+
-    "\13\0\2\4\4\0\6\4\1\132\20\4\13\0\2\4"+
-    "\4\0\1\4\1\133\25\4\13\0\2\4\4\0\2\4"+
-    "\1\134\24\4\13\0\2\4\4\0\1\135\26\4\13\0"+
-    "\2\4\4\0\11\4\1\136\15\4\13\0\2\4\4\0"+
-    "\2\4\1\137\24\4\13\0\2\4\4\0\12\4\1\140"+
-    "\14\4\13\0\2\4\4\0\6\4\1\141\20\4\13\0"+
-    "\2\4\4\0\7\4\1\142\17\4\13\0\2\4\4\0"+
-    "\1\4\1\143\25\4\13\0\2\4\4\0\1\144\26\4"+
-    "\13\0\2\4\4\0\5\4\1\145\21\4\13\0\2\4"+
-    "\4\0\14\4\1\146\12\4\13\0\2\4\4\0\13\4"+
-    "\1\147\13\4\13\0\2\4\4\0\6\4\1\150\20\4"+
-    "\13\0\2\4\4\0\15\4\1\151\11\4\13\0\2\4"+
-    "\4\0\11\4\1\152\15\4\13\0\2\4\4\0\1\153"+
-    "\26\4\13\0\2\4\4\0\1\154\26\4\13\0\2\4"+
-    "\4\0\13\4\1\155\13\4\13\0\2\4\4\0\20\4"+
-    "\1\156\6\4\13\0\2\4\4\0\16\4\1\157\10\4"+
-    "\13\0\2\4\4\0\15\4\1\160\11\4\13\0\2\4"+
-    "\4\0\11\4\1\161\15\4\13\0\2\4\4\0\1\4"+
-    "\1\162\25\4\13\0\2\4\4\0\23\4\1\163\3\4"+
-    "\13\0\2\4\4\0\12\4\1\164\14\4\13\0\2\4"+
-    "\4\0\20\4\1\165\6\4\13\0\2\4\4\0\3\4"+
-    "\1\166\23\4\13\0\2\4\4\0\2\4\1\167\24\4"+
-    "\13\0\2\4\4\0\1\170\26\4\13\0\2\4\4\0"+
-    "\11\4\1\171\15\4\13\0\2\4\4\0\1\172\26\4"+
-    "\13\0\2\4\4\0\2\4\1\173\24\4\13\0\2\4"+
-    "\4\0\5\4\1\174\21\4\13\0\2\4\4\0\10\4"+
-    "\1\175\16\4\13\0\2\4\4\0\1\4\1\176\25\4"+
-    "\12\0";
+    "\1\33\1\34\1\35\1\36\1\3\1\0\3\37\1\0"+
+    "\1\3\31\37\1\40\10\37\1\41\1\37\52\0\2\4"+
+    "\4\0\27\4\17\0\1\42\45\0\2\4\4\0\1\4"+
+    "\1\43\25\4\14\0\2\4\4\0\2\4\1\44\1\4"+
+    "\1\45\22\4\14\0\2\4\4\0\11\4\1\46\15\4"+
+    "\14\0\2\4\4\0\5\4\1\47\2\4\1\50\16\4"+
+    "\14\0\2\4\4\0\5\4\1\51\21\4\14\0\2\4"+
+    "\4\0\12\4\1\52\14\4\14\0\2\4\4\0\3\4"+
+    "\1\53\23\4\14\0\2\4\4\0\5\4\1\54\3\4"+
+    "\1\55\15\4\14\0\2\4\4\0\4\4\1\56\10\4"+
+    "\1\57\11\4\14\0\2\4\4\0\2\4\1\60\24\4"+
+    "\14\0\2\4\4\0\5\4\1\61\21\4\14\0\2\4"+
+    "\4\0\17\4\1\62\7\4\14\0\2\4\4\0\11\4"+
+    "\1\63\15\4\14\0\2\4\4\0\1\64\26\4\13\0"+
+    "\3\37\2\0\31\37\1\0\10\37\1\0\1\37\10\0"+
+    "\1\65\1\66\3\0\1\67\20\0\1\70\17\0\1\6"+
+    "\44\0\2\4\4\0\2\4\1\71\24\4\14\0\2\4"+
+    "\4\0\6\4\1\72\20\4\14\0\2\4\4\0\5\4"+
+    "\1\73\21\4\14\0\2\4\4\0\25\4\1\74\1\4"+
+    "\14\0\2\4\4\0\5\4\1\75\21\4\14\0\2\4"+
+    "\4\0\2\4\1\76\24\4\14\0\2\4\4\0\1\4"+
+    "\1\77\25\4\14\0\2\4\4\0\5\4\1\100\21\4"+
+    "\14\0\2\4\4\0\17\4\1\101\7\4\14\0\2\4"+
+    "\4\0\3\4\1\102\23\4\14\0\2\4\4\0\15\4"+
+    "\1\103\11\4\14\0\2\4\4\0\23\4\1\104\3\4"+
+    "\14\0\2\4\4\0\6\4\1\105\20\4\14\0\2\4"+
+    "\4\0\1\106\26\4\14\0\2\4\4\0\7\4\1\107"+
+    "\17\4\14\0\2\4\4\0\2\4\1\110\24\4\14\0"+
+    "\2\4\4\0\2\4\1\111\24\4\14\0\2\4\4\0"+
+    "\11\4\1\112\15\4\14\0\2\4\4\0\1\113\26\4"+
+    "\14\0\2\4\4\0\6\4\1\114\20\4\14\0\2\4"+
+    "\4\0\17\4\1\115\7\4\14\0\2\4\4\0\12\4"+
+    "\1\116\14\4\14\0\2\4\4\0\11\4\1\117\15\4"+
+    "\14\0\2\4\4\0\13\4\1\120\13\4\14\0\2\4"+
+    "\4\0\15\4\1\121\11\4\14\0\2\4\4\0\7\4"+
+    "\1\122\17\4\14\0\2\4\4\0\20\4\1\123\6\4"+
+    "\14\0\2\4\4\0\6\4\1\124\20\4\14\0\2\4"+
+    "\4\0\15\4\1\125\11\4\14\0\2\4\4\0\1\126"+
+    "\26\4\14\0\2\4\4\0\16\4\1\127\10\4\14\0"+
+    "\2\4\4\0\12\4\1\130\14\4\14\0\2\4\4\0"+
+    "\4\4\1\131\22\4\14\0\2\4\4\0\4\4\1\132"+
+    "\22\4\14\0\2\4\4\0\6\4\1\133\20\4\14\0"+
+    "\2\4\4\0\1\4\1\134\25\4\14\0\2\4\4\0"+
+    "\2\4\1\135\24\4\14\0\2\4\4\0\1\136\26\4"+
+    "\14\0\2\4\4\0\11\4\1\137\15\4\14\0\2\4"+
+    "\4\0\2\4\1\140\24\4\14\0\2\4\4\0\12\4"+
+    "\1\141\14\4\14\0\2\4\4\0\6\4\1\142\20\4"+
+    "\14\0\2\4\4\0\7\4\1\143\17\4\14\0\2\4"+
+    "\4\0\1\4\1\144\25\4\14\0\2\4\4\0\1\145"+
+    "\26\4\14\0\2\4\4\0\5\4\1\146\21\4\14\0"+
+    "\2\4\4\0\14\4\1\147\12\4\14\0\2\4\4\0"+
+    "\13\4\1\150\13\4\14\0\2\4\4\0\6\4\1\151"+
+    "\20\4\14\0\2\4\4\0\15\4\1\152\11\4\14\0"+
+    "\2\4\4\0\11\4\1\153\15\4\14\0\2\4\4\0"+
+    "\1\154\26\4\14\0\2\4\4\0\1\155\26\4\14\0"+
+    "\2\4\4\0\13\4\1\156\13\4\14\0\2\4\4\0"+
+    "\20\4\1\157\6\4\14\0\2\4\4\0\16\4\1\160"+
+    "\10\4\14\0\2\4\4\0\15\4\1\161\11\4\14\0"+
+    "\2\4\4\0\11\4\1\162\15\4\14\0\2\4\4\0"+
+    "\1\4\1\163\25\4\14\0\2\4\4\0\23\4\1\164"+
+    "\3\4\14\0\2\4\4\0\12\4\1\165\14\4\14\0"+
+    "\2\4\4\0\20\4\1\166\6\4\14\0\2\4\4\0"+
+    "\3\4\1\167\23\4\14\0\2\4\4\0\2\4\1\170"+
+    "\24\4\14\0\2\4\4\0\1\171\26\4\14\0\2\4"+
+    "\4\0\11\4\1\172\15\4\14\0\2\4\4\0\1\173"+
+    "\26\4\14\0\2\4\4\0\2\4\1\174\24\4\14\0"+
+    "\2\4\4\0\5\4\1\175\21\4\14\0\2\4\4\0"+
+    "\10\4\1\176\16\4\14\0\2\4\4\0\1\4\1\177"+
+    "\25\4\13\0";
 
   private static int [] zzUnpackTrans() {
-    int [] result = new int[3720];
+    int [] result = new int[3813];
     int offset = 0;
     offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
     return result;
@@ -253,11 +253,11 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
   private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
 
   private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\2\0\1\11\2\1\2\11\16\1\10\11\1\1\1\11"+
+    "\2\0\1\11\2\1\2\11\16\1\11\11\1\1\1\11"+
     "\1\1\1\0\22\1\4\11\107\1";
 
   private static int [] zzUnpackAttribute() {
-    int [] result = new int[126];
+    int [] result = new int[127];
     int offset = 0;
     offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
     return result;
@@ -379,7 +379,7 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
     char [] map = new char[0x110000];
     int i = 0;  /* index in packed string  */
     int j = 0;  /* index in unpacked array */
-    while (i < 168) {
+    while (i < 166) {
       int  count = packed.charAt(i++);
       char value = packed.charAt(i++);
       do map[j++] = value; while (--count > 0);
@@ -749,156 +749,160 @@ public class Lexer implements java_cup.runtime.Scanner, sym {
             { /* throw new Error("Illegal character <"+ yytext()+">");*/
                    error("Illegal character <"+ yytext()+">");
             }
-          case 39: break;
+          case 40: break;
           case 2: 
             { return symbol("Identifier",IDENT, yytext());
             }
-          case 40: break;
+          case 41: break;
           case 3: 
             { /* ignore */
             }
-          case 41: break;
+          case 42: break;
           case 4: 
             { return symbol("semicolon",SEMICOLON);
             }
-          case 42: break;
+          case 43: break;
           case 5: 
             { string.setLength(0); yybegin(STRING);
             }
-          case 43: break;
+          case 44: break;
           case 6: 
             { return symbol("comma",COMMA);
             }
-          case 44: break;
-          case 7: 
-            { return symbol("dot",DOT);
-            }
           case 45: break;
-          case 8
+          case 7
             { return symbol("(",LPAR);
             }
           case 46: break;
-          case 9
+          case 8
             { return symbol(")",RPAR);
             }
           case 47: break;
-          case 10
-            { return symbol("{",BEGIN);
+          case 9
+            { return symbol("<",LANG);
             }
           case 48: break;
-          case 11
-            { return symbol("}",END);
+          case 10
+            { return symbol(">",RANG);
             }
           case 49: break;
-          case 12
-            { return symbol("=",ASSIGN);
+          case 11
+            { return symbol("{",BEGIN);
             }
           case 50: break;
-          case 13
-            { string.append( yytext() );
+          case 12
+            { return symbol("}",END);
             }
           case 51: break;
+          case 13: 
+            { return symbol("=",ASSIGN);
+            }
+          case 52: break;
           case 14: 
+            { string.append( yytext() );
+            }
+          case 53: break;
+          case 15: 
             { yybegin(YYINITIAL); 
       return symbol("StringConst",STRINGCONST,string.toString(),string.length());
             }
-          case 52: break;
-          case 15
+          case 54: break;
+          case 16
             { string.append('\\');
             }
-          case 53: break;
-          case 16
+          case 55: break;
+          case 17
             { return symbol("as",AS);
             }
-          case 54: break;
-          case 17
+          case 56: break;
+          case 18
             { string.append('\n');
             }
-          case 55: break;
-          case 18
+          case 57: break;
+          case 19
             { string.append('\t');
             }
-          case 56: break;
-          case 19
+          case 58: break;
+          case 20
             { string.append('\r');
             }
-          case 57: break;
-          case 20
+          case 59: break;
+          case 21
             { string.append('\"');
             }
-          case 58: break;
-          case 21
+          case 60: break;
+          case 22
             { return symbol("int",TYPE, "int" );
             }
-          case 59: break;
-          case 22
+          case 61: break;
+          case 23
             { return symbol("byte",TYPE, "byte" );
             }
-          case 60: break;
-          case 23
+          case 62: break;
+          case 24
             { return symbol("long",TYPE, "long" );
             }
-          case 61: break;
-          case 24
+          case 63: break;
+          case 25
             { return symbol("char",TYPE, "char" );
             }
-          case 62: break;
-          case 25
+          case 64: break;
+          case 26
             { return symbol("void",TYPE, "void" );
             }
-          case 63: break;
-          case 26
+          case 65: break;
+          case 27
             { return symbol("with",WITH);
             }
-          case 64: break;
-          case 27
+          case 66: break;
+          case 28
             { return symbol("short",TYPE, "short" );
             }
-          case 65: break;
-          case 28
+          case 67: break;
+          case 29
             { return symbol("float",TYPE, "float" );
             }
-          case 66: break;
-          case 29
+          case 68: break;
+          case 30
             { return symbol("string",TYPE, "String" );
             }
-          case 67: break;
-          case 30
+          case 69: break;
+          case 31
             { return symbol("double",TYPE, "double" );
             }
-          case 68: break;
-          case 31
+          case 70: break;
+          case 32
             { return symbol("String",TYPE, "String" );
             }
-          case 69: break;
-          case 32
+          case 71: break;
+          case 33
             { return symbol("public",PUBLIC);
             }
-          case 70: break;
-          case 33
+          case 72: break;
+          case 34
             { return symbol("method",METHOD);
             }
-          case 71: break;
-          case 34
+          case 73: break;
+          case 35
             { return symbol("boolean",TYPE, "boolean" );
             }
-          case 72: break;
-          case 35
+          case 74: break;
+          case 36
             { return symbol("requires",REQUIRES);
             }
-          case 73: break;
-          case 36
+          case 75: break;
+          case 37
             { return symbol("interface",INTERFACE);
             }
-          case 74: break;
-          case 37
+          case 76: break;
+          case 38
             { return symbol("capability",CAPABILITY);
             }
-          case 75: break;
-          case 38
+          case 77: break;
+          case 39
             { return symbol("description",DESCRIPTION);
             }
-          case 76: break;
+          case 78: break;
           default:
             zzScanError(ZZ_NO_MATCH);
         }