[Pkg-electronics-commits] [SCM] Packaging for GTKWave branch, master, updated. debian/3.3.46-1-3-ge8414db

أحمد المحمو =?UTF-8?Q?=D8=AF=D9=8A=20?=(Ahmed El-Mahmoudy) aelmahmoudy at sabily.org
Wed Jun 12 13:29:53 UTC 2013


The following commit has been merged in the master branch:
commit 88094a03f45da0f0122fb4c46e5908796e6387e7
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy at sabily.org>
Date:   Tue Jun 11 11:25:17 2013 +0200

    Imported Upstream version 3.3.47

diff --git a/ChangeLog b/ChangeLog
index 44c735c..2a9aeaa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1286,3 +1286,9 @@
 		Fixed problem with is_gtkw_save_file getting wiped out on
 		reload.
 		Updated Mac bundle info to reflect new autoconf filenames.
+3.3.47	14may13	Fix for crash in 64-bit mode with array accesses in
+		deprecated loader.
+		Partial VCD loader fix for small files.
+		Added preliminary do-nothing generate support in vermin.
+		Fixed minmax_valid for partial VCD loader: affects scaling
+		on floating-point traces.
diff --git a/LICENSE.TXT b/LICENSE.TXT
index df1e44f..db42431 100644
--- a/LICENSE.TXT
+++ b/LICENSE.TXT
@@ -1,6 +1,6 @@
 ##########################################################################
 
-GTKWave 3.3.46 Wave Viewer is Copyright (C) 1999-2013 Tony Bybell.  
+GTKWave 3.3.47 Wave Viewer is Copyright (C) 1999-2013 Tony Bybell.  
 Portions of GTKWave are Copyright (C) 1999-2013 Udi Finkelstein. 
 Context support is Copyright (C) 2007-2013 Kermin Elliott Fleming.
 Trace group support is  Copyright (C) 2009-2013 Donald Baltus.
diff --git a/configure b/configure
index be867ca..45e92fa 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gtkwave 3.3.46.
+# Generated by GNU Autoconf 2.69 for gtkwave 3.3.47.
 #
 # Report bugs to <bybell at rocketmail.com>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gtkwave'
 PACKAGE_TARNAME='gtkwave'
-PACKAGE_VERSION='3.3.46'
-PACKAGE_STRING='gtkwave 3.3.46'
+PACKAGE_VERSION='3.3.47'
+PACKAGE_STRING='gtkwave 3.3.47'
 PACKAGE_BUGREPORT='bybell at rocketmail.com'
 PACKAGE_URL=''
 
@@ -1368,7 +1368,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gtkwave 3.3.46 to adapt to many kinds of systems.
+\`configure' configures gtkwave 3.3.47 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1434,7 +1434,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gtkwave 3.3.46:";;
+     short | recursive ) echo "Configuration of gtkwave 3.3.47:";;
    esac
   cat <<\_ACEOF
 
@@ -1576,7 +1576,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gtkwave configure 3.3.46
+gtkwave configure 3.3.47
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2182,7 +2182,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gtkwave $as_me 3.3.46, which was
+It was created by gtkwave $as_me 3.3.47, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3049,7 +3049,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gtkwave'
- VERSION='3.3.46'
+ VERSION='3.3.47'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -10220,7 +10220,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gtkwave $as_me 3.3.46, which was
+This file was extended by gtkwave $as_me 3.3.47, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10286,7 +10286,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gtkwave config.status 3.3.46
+gtkwave config.status 3.3.47
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 0c565a4..54bfbce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(gtkwave, 3.3.46, bybell at rocketmail.com)
+AC_INIT(gtkwave, 3.3.47, bybell at rocketmail.com)
 AC_CONFIG_SRCDIR([src/vcd.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADER([config.h])
diff --git a/contrib/bundle_for_osx/Info-gtkwave.plist b/contrib/bundle_for_osx/Info-gtkwave.plist
index 8fb720f..92ba1a4 100644
--- a/contrib/bundle_for_osx/Info-gtkwave.plist
+++ b/contrib/bundle_for_osx/Info-gtkwave.plist
@@ -8,7 +8,7 @@
     <key>CFBundleExecutable</key>
     <string>gtkwave</string>
     <key>CFBundleGetInfoString</key>
-    <string>3.3.46, (C) 1999-2013 Tony Bybell http://gtkwave.sourceforge.net</string>
+    <string>3.3.47, (C) 1999-2013 Tony Bybell http://gtkwave.sourceforge.net</string>
     <key>CFBundleIconFile</key>
     <string>gtkwave.icns</string>
     <key>CFBundleIdentifier</key>
@@ -18,11 +18,11 @@
     <key>CFBundlePackageType</key>
     <string>APPL</string>
     <key>CFBundleShortVersionString</key>
-    <string>3.3.46</string>
+    <string>3.3.47</string>
     <key>CFBundleSignature</key>
     <string>????</string>
     <key>CFBundleVersion</key>
-    <string>3.3.46</string>
+    <string>3.3.47</string>
     <key>NSHumanReadableCopyright</key>
     <string>Copyright 1999 - 2013 Tony Bybell, GNU General Public License.</string>
     <key>LSMinimumSystemVersion</key>
diff --git a/contrib/rtlbrowse/logfile.c b/contrib/rtlbrowse/logfile.c
index f273358..5d2d4a3 100644
--- a/contrib/rtlbrowse/logfile.c
+++ b/contrib/rtlbrowse/logfile.c
@@ -1981,7 +1981,7 @@ void bwlogbox_2(struct logfile_context_t *ctx, GtkWidget *window, GtkWidget *but
 				                        break;   
 				                case FST_HT_VAR:
 				                        scp_nam = fstReaderGetCurrentFlatScope(fst);
-							fh++;
+							if(!h->u.var.is_alias) fh++;
 							do_brk = 1;
 							break;
 						default: 
diff --git a/contrib/vermin/err.c b/contrib/vermin/err.c
index fba8254..1d6b9a8 100644
--- a/contrib/vermin/err.c
+++ b/contrib/vermin/err.c
@@ -329,7 +329,7 @@ SetWordType zzerr9[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType zzerr10[32] = {0x0,0x8,0x0,0x0, 0x0,0xa4,0xc0,0xd0, 0x1d,0x9,0x84,0x10,
-	0xf,0xfa,0x2f,0x9f, 0x4f,0xec,0xff,0xc4, 0x3,0x10,0x0,0x0,
+	0xf,0xfa,0x2f,0x9f, 0x4f,0xec,0xff,0xc4, 0x3,0x13,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd2[234] = {0x0,0x8,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,
@@ -352,7 +352,7 @@ SetWordType setwd2[234] = {0x0,0x8,0x0,0x0,0x0,0x0,0x0,
 	0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
 	0xa0,0x0,0x0,0xa0,0x0,0x0,0x0,0xa0,
 	0xa0,0xa0,0xa0,0x0,0x0,0x8,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0xa0,0x0,0x0,
+	0x0,0xa0,0xa0,0x0,0x0,0xa0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -449,7 +449,7 @@ SetWordType setwd4[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
 SetWordType zzerr20[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0xd0, 0x1d,0x9,0x80,0x10,
-	0xf,0xfa,0x2f,0x9f, 0x4f,0xec,0xff,0xc4, 0x3,0x10,0x0,0x0,
+	0xf,0xfa,0x2f,0x9f, 0x4f,0xec,0xff,0xc4, 0x3,0x13,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType zzerr21[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x4,0x0,0x2,0x10, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
@@ -478,7 +478,7 @@ SetWordType setwd5[234] = {0x0,0x40,0x0,0x0,0x0,0x0,0x0,
 	0x52,0x52,0x52,0x58,0x58,0x58,0x58,0x58,
 	0x58,0x0,0x0,0x58,0x0,0x0,0x0,0x58,
 	0x58,0x52,0x52,0x0,0x0,0x40,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x50,0x0,0x0,
+	0x0,0x50,0x50,0x0,0x0,0x50,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -595,7 +595,7 @@ SetWordType setwd8[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
 	0x10,0x0,0x0,0x10,0x0,0x0,0x0,0x10,
 	0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x98,0x0,0x0,
+	0x0,0x10,0x10,0x0,0x0,0x98,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -637,7 +637,7 @@ SetWordType setwd9[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,
 	0x51,0x0,0x54,0x51,0x0,0x0,0x54,0x51,
 	0x51,0x51,0x51,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x55,0x0,0x0,
+	0x0,0x51,0x51,0x0,0x0,0x55,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -679,7 +679,7 @@ SetWordType setwd10[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,
 	0x54,0x80,0x54,0x54,0x0,0x0,0x54,0x54,
 	0x54,0x54,0x54,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x54,0x0,0x0,
+	0x0,0x54,0x54,0x0,0x0,0x54,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -721,7 +721,7 @@ SetWordType setwd11[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x40,0x40,0x40,0x44,0x44,0x44,0x44,0x44,
 	0x44,0x3,0x40,0x44,0x0,0x0,0x40,0x44,
 	0x44,0x40,0x40,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,
+	0x0,0x40,0x40,0x0,0x0,0x40,0x0,0x0,
 	0x0,0x0,0x1a,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -739,28 +739,31 @@ SetWordType zzerr45[32] = {0x0,0x0,0x0,0x0, 0x0,0x8,0xc0,0x11, 0x0,0x0,0x0,0x0,
 SetWordType zzerr46[32] = {0x0,0x0,0x0,0x0, 0x0,0x8,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr47[32] = {0x0,0x0,0x0,0x0, 0x0,0x8,0xc0,0x11, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd12[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0xd4,0x0,
-	0x0,0xd4,0x54,0xd4,0xd4,0x0,0x0,0xff,
-	0xff,0xff,0x0,0x0,0x0,0xff,0x0,0xd4,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,
-	0xd4,0xd4,0xd4,0x0,0xd4,0xd4,0x0,0x0,
-	0xd4,0x0,0x0,0xd4,0x0,0x0,0x0,0x0,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0x0,0x0,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0x0,0x0,
-	0x0,0x0,0xd4,0x0,0xd4,0xd4,0xd4,0xd4,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0x0,0xd4,0x0,
-	0x0,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0x0,0x0,0xd4,
-	0x0,0x0,0x0,0xd4,0xd4,0x0,0xd4,0xd4,
-	0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,
-	0xd4,0x0,0xd4,0xd4,0x0,0x0,0xd4,0xd4,
-	0xd4,0xd4,0xd4,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0xd4,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x14,0x0,
+	0x0,0x14,0x14,0x14,0x14,0x0,0x0,0xff,
+	0xff,0xbf,0x0,0x0,0x0,0xff,0x0,0x54,
+	0x54,0x54,0x14,0x54,0x54,0x54,0x14,0x14,
+	0x14,0x54,0x14,0x0,0x54,0x14,0x0,0x0,
+	0x14,0x0,0x0,0x54,0x0,0x0,0x0,0x0,
+	0x54,0x14,0x14,0x14,0x14,0x54,0x0,0x0,
+	0x14,0x54,0x54,0x54,0x54,0x14,0x0,0x0,
+	0x0,0x0,0x54,0x0,0x54,0x54,0x54,0x54,
+	0x54,0x54,0x54,0x54,0x54,0x0,0x54,0x0,
+	0x0,0x54,0x54,0x54,0x54,0x54,0x14,0x14,
+	0x54,0x54,0x54,0x54,0x54,0x0,0x0,0x54,
+	0x0,0x0,0x0,0x54,0x54,0x0,0x54,0x54,
+	0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,
+	0x54,0x0,0x14,0x54,0x0,0x0,0x14,0x54,
+	0x54,0x54,0x54,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x54,0x54,0x0,0x0,0x54,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -769,40 +772,37 @@ SetWordType setwd12[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr47[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr48[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr48[32] = {0x0,0x4,0x0,0x0, 0x0,0xc8,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr49[32] = {0x0,0x4,0x0,0x0, 0x0,0xc8,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr49[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x1,0x0,0x0,0x0,
+SetWordType zzerr50[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x1,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0xc,0xfc,0xc4, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr50[32] = {0x0,0x0,0x0,0x0, 0x0,0x22,0xc4,0x11, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd13[234] = {0x0,0x0,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x0,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x0,
+SetWordType setwd13[234] = {0x0,0x0,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x0,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,
-	0x0,0x0,0x4,0x0,0x4,0x0,0xc6,0x4,
-	0x14,0x0,0x10,0xc0,0x0,0x0,0x0,0xee,
-	0xee,0xce,0x0,0x0,0x0,0xee,0x0,0x20,
-	0x20,0x20,0x0,0x20,0x20,0x20,0x0,0x0,
-	0x0,0x20,0x0,0x0,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,
-	0x20,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
-	0x0,0x20,0x20,0x20,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x20,0x0,0x20,0x20,0x20,0x20,
-	0x20,0x20,0x20,0x20,0x20,0x0,0x20,0x0,
-	0x0,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
-	0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x20,
-	0x0,0x0,0x0,0x21,0x21,0x0,0x20,0x20,
-	0x20,0x20,0x20,0x21,0x21,0x21,0x21,0x21,
-	0x21,0x0,0x0,0x21,0x0,0x0,0x0,0x21,
-	0x21,0x20,0x20,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,
+	0x0,0x0,0x40,0x0,0x50,0x0,0x63,0x40,
+	0x50,0x3,0x11,0x3,0x3,0x0,0x0,0xeb,
+	0xeb,0x6b,0x0,0x0,0x0,0xeb,0x0,0x83,
+	0x83,0x83,0x3,0x83,0x83,0x83,0x3,0x3,
+	0x3,0x83,0x3,0x0,0x83,0x3,0x0,0x0,
+	0x3,0x0,0x0,0x83,0x0,0x0,0x0,0x0,
+	0x83,0x3,0x3,0x3,0x3,0x83,0x0,0x0,
+	0x3,0x83,0x83,0x83,0x83,0x3,0x0,0x0,
+	0x0,0x0,0x83,0x0,0x83,0x83,0x83,0x83,
+	0x83,0x83,0x83,0x83,0x83,0x0,0x83,0x0,
+	0x0,0x83,0x83,0x83,0x83,0x83,0x3,0x3,
+	0x83,0x83,0x83,0x83,0x83,0x0,0x0,0x83,
+	0x0,0x0,0x0,0x87,0x87,0x0,0x83,0x83,
+	0x83,0x83,0x83,0x87,0x87,0x87,0x87,0x87,
+	0x87,0x0,0x3,0x87,0x0,0x0,0x3,0x87,
+	0x87,0x83,0x83,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x83,0x83,0x0,0x0,0x83,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -811,34 +811,37 @@ SetWordType setwd13[234] = {0x0,0x0,0x4,0x4,0x4,0x4,0x4,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr51[32] = {0x0,0x0,0x0,0x0, 0x0,0x28,0xc4,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr51[32] = {0x0,0x0,0x0,0x0, 0x0,0x22,0xc4,0x11, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr52[32] = {0x0,0x0,0x0,0x0, 0x0,0x28,0xc4,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x10,0x0,0x0,0x1, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr52[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc4,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr53[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc4,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd14[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x80,0x1,0x0,0x1e,0x0,
-	0x80,0x0,0xc0,0x6,0x0,0x0,0x0,0x3e,
-	0x3e,0x1e,0x0,0x0,0x0,0x3e,0x0,0x20,
-	0x20,0x20,0x0,0x20,0x20,0x20,0x0,0x0,
-	0x0,0x20,0x0,0x0,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,
-	0x20,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
-	0x0,0x20,0x20,0x20,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x20,0x0,0x20,0x20,0x20,0x20,
-	0x20,0x20,0x20,0x20,0x20,0x0,0x20,0x0,
-	0x0,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
-	0x20,0x20,0x20,0x20,0x20,0x1,0x0,0x20,
-	0x0,0x0,0x0,0x20,0x20,0x0,0x20,0x20,
-	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-	0x20,0x1,0x0,0x20,0x0,0x0,0x0,0x20,
-	0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x4,0x0,0x7b,0x0,
+	0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0xfb,
+	0xfb,0x7b,0x0,0x0,0x0,0xfb,0x0,0x80,
+	0x80,0x80,0x0,0x80,0x80,0x80,0x0,0x0,
+	0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
+	0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,
+	0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,
+	0x0,0x0,0x80,0x0,0x80,0x80,0x80,0x80,
+	0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x0,
+	0x0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,
+	0x80,0x80,0x80,0x80,0x80,0x4,0x0,0x80,
+	0x0,0x0,0x0,0x80,0x80,0x0,0x80,0x80,
+	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+	0x80,0x4,0x0,0x80,0x0,0x0,0x0,0x80,
+	0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x80,0x80,0x0,0x0,0x80,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -847,20 +850,17 @@ SetWordType setwd14[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr53[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr54[32] = {0x0,0x4,0x0,0x0, 0x0,0x88,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr54[32] = {0x0,0x0,0x0,0x0, 0x0,0x88,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd15[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,
-	0x64,0x0,0x65,0x0,0x0,0x0,0x0,0x1a,
-	0x1a,0x1a,0x0,0x0,0x0,0x1a,0x0,0x0,
+	0x0,0x0,0x0,0x8,0x8,0x0,0x0,0x0,
+	0x4e,0x0,0x5f,0x0,0x0,0x0,0x0,0xa0,
+	0xa0,0xa0,0x0,0x0,0x0,0xa0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -883,38 +883,35 @@ SetWordType setwd15[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr55[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x60,
-	0xa0,0x0,0xc0,0x0, 0x20,0xf,0x0,0x18, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr56[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x60,
-	0x0,0x0,0xc0,0x0, 0x0,0xf,0x0,0x18, 0x0,0x0,0x0,0x0,
+SetWordType zzerr55[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr57[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x20,
-	0x0,0x0,0x40,0x0, 0x0,0x5,0x0,0x8, 0x0,0x0,0x0,0x0,
+SetWordType zzerr56[32] = {0x0,0x4,0x0,0x0, 0x0,0x88,0x2,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr58[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x40,
-	0x0,0x0,0x80,0x0, 0x0,0xa,0x0,0x10, 0x0,0x0,0x0,0x0,
+SetWordType zzerr57[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x60,
+	0xa0,0x0,0xc0,0x0, 0x20,0xf,0x0,0x18, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd16[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x40,0x80,0x8,0x0,0x48,0x0,
-	0x81,0x0,0x1,0x48,0x0,0x0,0x0,0x48,
-	0x48,0x48,0x0,0x0,0x0,0x48,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x88,0x0,0x80,0x0,
+	0x16,0x0,0x16,0x80,0x0,0x0,0x0,0x81,
+	0x81,0x81,0x0,0x0,0x0,0x81,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x12,0x24,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x40,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,
-	0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,
-	0x0,0x12,0x24,0x12,0x24,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,
+	0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,
+	0x0,0x20,0x40,0x20,0x40,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x8,0x0,0x0,0x12,0x24,0x0,0x0,
+	0x0,0x80,0x0,0x0,0x20,0x40,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -925,69 +922,38 @@ SetWordType setwd16[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr59[32] = {0x0,0x0,0x0,0x0, 0x0,0x2a,0xc4,0x11, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x10,0x0,0x0,0x1, 0x0,0x0,0x2,0x0,
+SetWordType zzerr58[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x60,
+	0x0,0x0,0xc0,0x0, 0x0,0xf,0x0,0x18, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr60[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x80, 0x1c,0x1,0x0,0x0,
-	0x0,0xfa,0x9,0x87, 0xf,0x80,0x3,0x0, 0x3,0x0,0x0,0x0,
+SetWordType zzerr59[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x20,
+	0x0,0x0,0x40,0x0, 0x0,0x5,0x0,0x8, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr60[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x40,
+	0x0,0x0,0x80,0x0, 0x0,0xa,0x0,0x10, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr61[32] = {0x0,0x0,0x0,0x0, 0x0,0x2a,0xc4,0x11, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x10,0x0,0x0,0x1, 0x0,0x0,0x2,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType setwd17[234] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x4e,0x1,0x6,0x0,0xe,0x0,
-	0x1,0x0,0x10,0x4e,0x0,0x0,0x0,0x6e,
-	0x6e,0xe,0x0,0x0,0x0,0x6e,0x0,0x20,
-	0x20,0x20,0x0,0x20,0x20,0x20,0x0,0x0,
-	0x0,0x20,0x0,0x0,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,
-	0x20,0x0,0x0,0x0,0x0,0x20,0x80,0x80,
-	0x0,0x20,0x20,0x20,0x20,0x0,0x0,0x0,
-	0x0,0x0,0x20,0x0,0x20,0x20,0x20,0x20,
-	0x20,0x20,0x20,0x20,0x20,0x0,0x20,0x80,
-	0x80,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
-	0x20,0x20,0x20,0x20,0x20,0x6,0x0,0x20,
-	0x0,0x80,0x80,0xa0,0xa0,0x0,0x20,0x20,
-	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-	0x20,0x6,0x0,0x20,0x80,0x80,0x0,0x20,
-	0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0xe4,0x18,0x60,0x0,0xe4,0x0,
+	0x98,0x0,0x80,0xe4,0x0,0x0,0x0,0xe4,
+	0xe4,0xe4,0x0,0x0,0x0,0xe4,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0};
-SetWordType zzerr61[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr62[32] = {0x0,0x0,0x0,0x0, 0x0,0x8c,0x0,0x0, 0x0,0x0,0x0,0x60,
-	0x0,0x0,0xc0,0x0, 0x0,0xf,0x0,0x18, 0x0,0x0,0x40,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr63[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr64[32] = {0x0,0x0,0x0,0x0, 0x0,0xa,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr65[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc0,0x10, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd18[234] = {0x0,0x0,0x2,0x2,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x0,0x0,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,
-	0x0,0x0,0x3f,0x2,0x2,0x0,0x2,0x0,
-	0x42,0x0,0x40,0x5,0x0,0x0,0x0,0x9f,
-	0x9f,0x2,0x0,0x0,0x0,0x9f,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,
+	0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x60,0x0,0x0,
+	0x0,0x1,0x2,0x1,0x2,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x60,0x0,0x0,0x1,0x2,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -997,7 +963,41 @@ SetWordType setwd18[234] = {0x0,0x0,0x2,0x2,0x2,0x2,0x2,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0};
+SetWordType zzerr62[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x80, 0x1c,0x1,0x0,0x0,
+	0x0,0xfa,0x9,0x87, 0xf,0x80,0x3,0x0, 0x3,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr63[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr64[32] = {0x0,0x0,0x0,0x0, 0x0,0x8c,0x0,0x0, 0x0,0x0,0x0,0x60,
+	0x0,0x0,0xc0,0x0, 0x0,0xf,0x0,0x18, 0x0,0x0,0x40,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr65[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType setwd18[234] = {0x0,0x0,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x0,0x0,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
+	0x0,0x0,0xf4,0x20,0x20,0x0,0x20,0x0,
+	0x20,0x0,0x1,0x54,0x0,0x0,0x0,0xf6,
+	0xf6,0x20,0x0,0x0,0x0,0xf6,0x0,0x2,
+	0x2,0x2,0x0,0x2,0x2,0x2,0x0,0x0,
+	0x0,0x2,0x0,0x0,0x2,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,
+	0x2,0x0,0x0,0x0,0x0,0x2,0x8,0x8,
+	0x0,0x2,0x2,0x2,0x2,0x0,0x0,0x0,
+	0x0,0x0,0x2,0x0,0x2,0x2,0x2,0x2,
+	0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x8,
+	0x8,0x2,0x2,0x2,0x2,0x2,0x0,0x0,
+	0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x2,
+	0x0,0x8,0x8,0xa,0xa,0x0,0x2,0x2,
+	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,
+	0x2,0x0,0x0,0x2,0x8,0x8,0x0,0x2,
+	0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x2,0x2,0x0,0x0,0x2,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1006,20 +1006,23 @@ SetWordType setwd18[234] = {0x0,0x0,0x2,0x2,0x2,0x2,0x2,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr66[32] = {0x0,0x0,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
+SetWordType zzerr66[32] = {0x0,0x0,0x0,0x0, 0x0,0xa,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType zzerr67[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc0,0x10, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd19[234] = {0x0,0x10,0x2,0x2,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x0,0x0,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,
+SetWordType zzerr68[32] = {0x0,0x0,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType setwd19[234] = {0x0,0x0,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x0,0x0,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,
-	0x0,0x0,0x23,0xc,0x0,0x0,0x2,0x0,
-	0x4c,0x0,0x40,0x20,0x0,0x0,0x0,0xa2,
-	0xa2,0x2,0x0,0x0,0x0,0xa2,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
+	0x0,0x0,0x33,0xc0,0x0,0x0,0x20,0x0,
+	0xc4,0x0,0x4,0x0,0x0,0x0,0x0,0x29,
+	0x29,0x20,0x0,0x0,0x0,0x29,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1042,37 +1045,31 @@ SetWordType setwd19[234] = {0x0,0x10,0x2,0x2,0x2,0x2,0x2,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr68[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr69[32] = {0x0,0x8,0x0,0x0, 0x0,0x8c,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr70[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc0,0x10, 0x0,0x0,0x0,0x0,
+SetWordType zzerr69[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc0,0x10, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd20[234] = {0x0,0x0,0x8,0x8,0x8,0x8,0x8,
-	0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,
+SetWordType setwd20[234] = {0x0,0x1,0x80,0x80,0x80,0x80,0x80,
+	0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x35,0x0,0x0,0x0,0x0,0x0,
-	0x40,0x0,0x40,0x4,0x0,0x0,0x0,0xb6,
-	0xb6,0x0,0x0,0x0,0x0,0xb6,0x0,0x2,
-	0x2,0x2,0x0,0x2,0x2,0x2,0x0,0x0,
-	0x0,0x2,0x0,0x0,0x2,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,
-	0x2,0x0,0x0,0x0,0x0,0x2,0x0,0x0,
-	0x0,0x2,0x2,0x2,0x2,0x0,0x0,0x0,
-	0x0,0x0,0x2,0x0,0x2,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x0,
-	0x0,0x2,0x2,0x2,0x2,0x2,0x0,0x0,
-	0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x2,
-	0x0,0x0,0x0,0x2,0x2,0x0,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,
-	0x2,0x0,0x0,0x2,0x0,0x0,0x0,0x2,
-	0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,
+	0x0,0x0,0x52,0x0,0x0,0x0,0x0,0x0,
+	0x4,0x0,0x4,0x42,0x0,0x0,0x0,0x6a,
+	0x6a,0x0,0x0,0x0,0x0,0x6a,0x0,0x20,
+	0x20,0x20,0x0,0x20,0x20,0x20,0x0,0x0,
+	0x0,0x20,0x0,0x0,0x20,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,
+	0x20,0x0,0x0,0x0,0x0,0x20,0x0,0x0,
+	0x0,0x20,0x20,0x20,0x20,0x0,0x0,0x0,
+	0x0,0x0,0x20,0x0,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x0,0x20,0x0,
+	0x0,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
+	0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x20,
+	0x0,0x0,0x0,0x20,0x20,0x0,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x0,0x0,0x20,0x0,0x0,0x0,0x20,
+	0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x20,0x20,0x0,0x0,0x20,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1081,23 +1078,29 @@ SetWordType setwd20[234] = {0x0,0x0,0x8,0x8,0x8,0x8,0x8,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr71[32] = {0x0,0x0,0x0,0x0, 0x0,0xa,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr70[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc4,0x10, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr72[32] = {0x0,0x8,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr71[32] = {0x0,0x8,0x0,0x0, 0x0,0x8c,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr73[32] = {0x0,0x0,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr72[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0xc0,0x10, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr73[32] = {0x0,0x0,0x0,0x0, 0x0,0xa,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr74[32] = {0x0,0x8,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd21[234] = {0x0,0x0,0x28,0x28,0x28,0x28,0x28,
-	0x28,0x28,0x28,0x0,0x0,0x28,0x28,0x28,
-	0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x0,
+SetWordType setwd21[234] = {0x0,0x0,0x80,0x80,0x80,0x80,0x80,
+	0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,
+	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x0,
-	0x0,0x0,0x2f,0xd8,0x0,0x0,0x28,0x0,
-	0xc8,0x0,0x0,0x0,0x0,0x0,0x0,0x28,
-	0x28,0x28,0x0,0x0,0x0,0x28,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,
+	0x0,0x0,0xf3,0x80,0x0,0x0,0x80,0x0,
+	0x84,0x0,0x4,0x0,0x0,0x0,0x0,0x8b,
+	0x8b,0x80,0x0,0x0,0x0,0x8b,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1120,34 +1123,34 @@ SetWordType setwd21[234] = {0x0,0x0,0x28,0x28,0x28,0x28,0x28,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr74[32] = {0x0,0x0,0x0,0x0, 0x0,0x4,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr75[32] = {0x0,0x0,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr75[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xcf,0x11, 0xe3,0x12,0x0,0x8f,
-	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
+SetWordType zzerr76[32] = {0x0,0x0,0x0,0x0, 0x0,0x4,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd22[234] = {0x0,0x0,0xa1,0xa1,0xa1,0xa1,0xa1,
-	0xa1,0xa1,0xa1,0x80,0x0,0xa1,0xa1,0xa1,
-	0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0x0,
+SetWordType setwd22[234] = {0x0,0x0,0x12,0x12,0x12,0x12,0x12,
+	0x12,0x12,0x12,0x0,0x0,0x12,0x12,0x12,
+	0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x80,0x0,0x0,0xa1,0x0,0x0,
-	0x0,0x20,0xa1,0x2,0x80,0x0,0xf1,0x80,
-	0xa2,0x30,0x0,0x30,0x30,0x0,0x0,0xfd,
-	0xfd,0xf1,0x0,0x0,0x0,0xfd,0x0,0x2c,
-	0x2c,0x3c,0x30,0x2c,0x2c,0x2c,0x30,0x30,
-	0x30,0x2c,0x30,0x20,0x2c,0x30,0x0,0x20,
-	0x20,0x20,0x20,0x2c,0x0,0x0,0x0,0x20,
-	0x2c,0x30,0x30,0x30,0x30,0x2c,0x0,0x0,
-	0x30,0x2c,0x2c,0x2c,0x2c,0x20,0x0,0x0,
-	0x0,0x0,0x2c,0x0,0x2c,0x2c,0x2c,0x2c,
-	0x2c,0x2c,0x2c,0x2c,0x2c,0x0,0x2c,0x0,
-	0x0,0x2c,0x2c,0x2c,0x2c,0x2c,0x30,0x30,
-	0x2c,0x2c,0x2c,0x2c,0x2c,0x0,0x0,0x2c,
-	0x0,0x0,0x0,0x2c,0x2c,0x0,0x2c,0x2c,
-	0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
-	0x2c,0x0,0x30,0x2c,0x0,0x0,0x30,0x2c,
-	0x2c,0x2c,0x2c,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x2c,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x12,0x0,0x0,
+	0x0,0x0,0x12,0x2d,0x0,0x0,0x12,0x0,
+	0x2c,0x0,0x0,0x0,0x0,0x0,0x0,0xd2,
+	0xd2,0x12,0x0,0x0,0x0,0xd2,0x0,0xc0,
+	0xc0,0xc0,0x0,0xc0,0xc0,0xc0,0x0,0x0,
+	0x0,0xc0,0x0,0x0,0xc0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,
+	0xc0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,
+	0x0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,
+	0x0,0x0,0xc0,0x0,0xc0,0xc0,0xc0,0xc0,
+	0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,0x0,
+	0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,
+	0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,
+	0x0,0x0,0x0,0xc0,0xc0,0x0,0xc0,0xc0,
+	0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+	0xc0,0x0,0x0,0xc0,0x0,0x0,0x0,0xc0,
+	0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0xc0,0xc0,0x0,0x0,0xc0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1156,76 +1159,76 @@ SetWordType setwd22[234] = {0x0,0x0,0xa1,0xa1,0xa1,0xa1,0xa1,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr76[32] = {0x0,0x0,0x0,0x0, 0x0,0x81,0xd,0xc0, 0xff,0xdf,0xc7,0x9f,
-	0x1f,0xfa,0x2f,0xff, 0x4f,0xec,0xff,0xe6, 0x3,0x10,0x40,0x0,
+SetWordType zzerr77[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xcf,0x11, 0xe3,0x12,0x0,0x8f,
+	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr77[32] = {0x2,0xc,0xc0,0xff, 0xef,0xdd,0x3f,0xee, 0xff,0xff,0xff,0xff,
+SetWordType zzerr78[32] = {0x0,0x0,0x0,0x0, 0x0,0x81,0xd,0xc0, 0xff,0xdf,0xc7,0x9f,
+	0x1f,0xfa,0x2f,0xff, 0x4f,0xec,0xff,0xe6, 0x3,0x13,0x40,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr79[32] = {0x2,0xc,0xc0,0xff, 0xef,0xdd,0x3f,0xee, 0xff,0xff,0xff,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0x3,0x0,0x0};
-SetWordType setwd23[234] = {0x0,0x4,0x3e,0x3e,0x3e,0x3e,0x3e,
-	0x3e,0x3e,0x3e,0x4,0x4,0x3e,0x3e,0x3e,
-	0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x3e,0x4,0x4,
-	0x4,0x3e,0x3e,0x4,0x4,0x4,0x3f,0x4,
-	0x3e,0x47,0x5,0x47,0x7,0x4,0x4,0xbf,
-	0xbf,0xbf,0x4,0x4,0x4,0xbf,0x4,0x6,
-	0x6,0x7,0x7,0x6,0x6,0x6,0x7,0x7,
-	0x7,0x6,0x7,0x3e,0x6,0x7,0x4,0x6,
-	0x6,0x6,0x6,0x6,0x4,0x4,0x4,0x6,
-	0x6,0x7,0x7,0x7,0x7,0x6,0x4,0x4,
-	0x7,0x6,0x6,0x6,0x6,0x6,0x4,0x4,
-	0x4,0x4,0x6,0x4,0x6,0x6,0x6,0x6,
-	0x6,0x6,0x6,0x6,0x6,0x4,0x6,0x4,
-	0x4,0x6,0x6,0x6,0x6,0x6,0x7,0x7,
-	0x6,0x6,0x6,0x6,0x6,0x4,0x4,0x6,
-	0x4,0x4,0x4,0x6,0x6,0x4,0x6,0x6,
-	0x6,0x6,0x6,0x6,0x6,0x6,0x6,0x6,
-	0x6,0x4,0x7,0x6,0x4,0x4,0x7,0x6,
-	0x6,0x6,0x6,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x6,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x0,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x4};
-SetWordType zzerr78[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xcd,0x11, 0xe3,0x12,0x0,0x8f,
+SetWordType setwd23[234] = {0x0,0x40,0xea,0xea,0xea,0xea,0xea,
+	0xea,0xea,0xea,0x48,0x40,0xea,0xea,0xea,
+	0xea,0xea,0xea,0xea,0xea,0xea,0xea,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x48,0x40,0x40,0xea,0x40,0x40,
+	0x40,0xe2,0xea,0x40,0x48,0x40,0xff,0x48,
+	0xea,0x73,0x50,0x73,0x73,0x40,0x40,0xff,
+	0xff,0xff,0x40,0x40,0x40,0xff,0x40,0x62,
+	0x62,0x73,0x73,0x62,0x62,0x62,0x73,0x73,
+	0x73,0x62,0x73,0xe2,0x62,0x73,0x40,0x62,
+	0x62,0x62,0x62,0x62,0x40,0x40,0x40,0x62,
+	0x62,0x73,0x73,0x73,0x73,0x62,0x40,0x40,
+	0x73,0x62,0x62,0x62,0x62,0x62,0x40,0x40,
+	0x40,0x40,0x62,0x40,0x62,0x62,0x62,0x62,
+	0x62,0x62,0x62,0x62,0x62,0x40,0x62,0x40,
+	0x40,0x62,0x62,0x62,0x62,0x62,0x73,0x73,
+	0x62,0x62,0x62,0x62,0x62,0x40,0x40,0x62,
+	0x40,0x40,0x40,0x62,0x62,0x40,0x62,0x62,
+	0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,
+	0x62,0x40,0x73,0x62,0x40,0x40,0x73,0x62,
+	0x62,0x62,0x62,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x62,0x62,0x40,0x40,0x62,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+	0x40,0x40,0x40};
+SetWordType zzerr80[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xcd,0x11, 0xe3,0x12,0x0,0x8f,
 	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr79[32] = {0x0,0x4,0x40,0x0, 0x2,0xc9,0xf,0x0, 0xe3,0x92,0x0,0x8f,
+SetWordType zzerr81[32] = {0x0,0x4,0x40,0x0, 0x2,0xc9,0xf,0x0, 0xe3,0x92,0x0,0x8f,
 	0x10,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr80[32] = {0x0,0x4,0x0,0x0, 0x2,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr82[32] = {0x0,0x4,0x0,0x0, 0x2,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr81[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd24[234] = {0x0,0x0,0x92,0x92,0x92,0x92,0x92,
-	0x92,0x92,0x92,0x0,0x0,0x92,0x92,0x92,
-	0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x0,
+SetWordType setwd24[234] = {0x0,0x0,0x23,0x23,0x23,0x23,0x23,
+	0x23,0x23,0x23,0x0,0x0,0x23,0x23,0x23,
+	0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x92,0x0,0x0,
-	0x0,0x2,0x93,0x4,0x0,0x0,0x92,0x0,
-	0x6,0x22,0x4d,0x22,0x2,0x0,0x0,0x92,
-	0x92,0x92,0x0,0x0,0x0,0x92,0x0,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x2,
-	0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,
-	0x0,0x0,0x2,0x0,0x2,0x2,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x0,
-	0x0,0x2,0x2,0x2,0x2,0x2,0x2,0x22,
-	0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x2,
-	0x0,0x0,0x0,0x2,0x2,0x0,0x2,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,
-	0x2,0x0,0x2,0x2,0x0,0x0,0x2,0x2,
-	0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x23,0x0,0x0,
+	0x0,0x23,0x33,0x40,0x0,0x0,0x23,0x0,
+	0x63,0x24,0xd0,0x24,0x20,0x0,0x0,0x2b,
+	0x2b,0x2b,0x0,0x0,0x0,0x2b,0x0,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x23,0x20,0x20,0x0,0x20,
+	0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,
+	0x0,0x0,0x20,0x0,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x0,0x20,0x0,
+	0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x20,
+	0x0,0x0,0x0,0x20,0x20,0x0,0x20,0x20,
+	0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x0,0x20,0x20,0x0,0x0,0x20,0x20,
+	0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x20,0x20,0x0,0x0,0x20,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1234,41 +1237,38 @@ SetWordType setwd24[234] = {0x0,0x0,0x92,0x92,0x92,0x92,0x92,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr82[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType zzerr83[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
 SetWordType zzerr84[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr85[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcf,0x11, 0xe3,0x12,0x0,0x8f,
-	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
+SetWordType zzerr85[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x40, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr86[32] = {0x0,0x0,0x0,0x0, 0x0,0x81,0x0,0x0, 0x0,0x4,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
+SetWordType zzerr86[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x5,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd25[234] = {0x0,0x0,0x54,0x54,0x54,0x54,0x54,
-	0x54,0x54,0x54,0x0,0x0,0x54,0x54,0x54,
-	0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x0,
+SetWordType setwd25[234] = {0x0,0x0,0x49,0x49,0x49,0x49,0x49,
+	0x49,0x49,0x49,0x0,0x0,0x49,0x49,0x49,
+	0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x54,0x0,0x0,
-	0x0,0x50,0x54,0x0,0x0,0x0,0xfc,0x0,
-	0x50,0xa9,0x2a,0xa9,0xa8,0x0,0x0,0xfc,
-	0xfc,0xfc,0x0,0x0,0x0,0xfc,0x0,0x0,
-	0x0,0xa8,0xa8,0x0,0x0,0x0,0xa8,0xa8,
-	0xa8,0x0,0xa8,0x40,0x0,0xa8,0x0,0x0,
-	0x80,0x40,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0xa8,0xa8,0xa8,0xa8,0x0,0x0,0x0,
-	0xa8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x49,0x0,0x0,
+	0x0,0x0,0x49,0x0,0x0,0x0,0xc9,0x0,
+	0x0,0x92,0xa4,0x92,0x80,0x0,0x0,0xc9,
+	0xc9,0xc9,0x0,0x0,0x0,0xc9,0x0,0x0,
+	0x0,0x80,0x80,0x0,0x0,0x0,0x80,0x80,
+	0x80,0x0,0x80,0x0,0x0,0x80,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,
+	0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0xa8,0xa9,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x92,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0xa8,0x0,0x0,0x0,0xa8,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1279,34 +1279,37 @@ SetWordType setwd25[234] = {0x0,0x0,0x54,0x54,0x54,0x54,0x54,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr87[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcd,0x11, 0xe3,0x92,0x0,0x8f,
+SetWordType zzerr87[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcf,0x11, 0xe3,0x12,0x0,0x8f,
 	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr88[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcd,0x11, 0xe3,0x12,0x0,0x8f,
-	0x10,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
+SetWordType zzerr88[32] = {0x0,0x0,0x0,0x0, 0x0,0x81,0x0,0x0, 0x0,0x4,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr89[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcd,0x11, 0xe3,0x92,0x0,0x8f,
+	0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd26[234] = {0x0,0x0,0x8,0x8,0x8,0x8,0x8,
-	0x8,0x8,0x8,0x0,0x0,0x8,0x8,0x8,
-	0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x0,
+SetWordType setwd26[234] = {0x0,0x0,0x85,0x85,0x85,0x85,0x85,
+	0x85,0x85,0x85,0x0,0x0,0x85,0x85,0x85,
+	0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,
-	0x0,0x8,0x8,0x0,0x0,0x0,0xbd,0x0,
-	0x8,0xbd,0x0,0xbd,0xbd,0x0,0x0,0xbd,
-	0xbd,0xbd,0x0,0x0,0x0,0xbd,0x0,0x8,
-	0x8,0xbd,0xbd,0x8,0x8,0x8,0xbd,0xbd,
-	0xbd,0x8,0xbd,0x8,0x8,0xbd,0x0,0x8,
-	0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x8,
-	0x4a,0xbd,0xbd,0xbd,0xbd,0x8,0x0,0x0,
-	0xbd,0x8,0x8,0x8,0x4a,0x18,0x0,0x0,
-	0x0,0x0,0x8,0x0,0x8,0x8,0x8,0x8,
-	0x8,0x8,0x8,0x4a,0x8,0x0,0x8,0x0,
-	0x0,0x8,0x8,0x8,0x4a,0x4a,0xbd,0xbd,
-	0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x8,
-	0x0,0x0,0x0,0x8,0x8,0x0,0x8,0x4a,
-	0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-	0x8,0x0,0xbd,0x8,0x0,0x0,0xbd,0x8,
-	0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x4a,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x85,0x0,0x0,
+	0x0,0x85,0x85,0x0,0x0,0x0,0xdf,0x0,
+	0x85,0xda,0x2,0xda,0xda,0x0,0x0,0xdf,
+	0xdf,0xdf,0x0,0x0,0x0,0xdf,0x0,0x80,
+	0x80,0xda,0xda,0x80,0x80,0x80,0xda,0xda,
+	0xda,0x80,0xda,0x84,0x80,0xda,0x0,0x80,
+	0x88,0x84,0x80,0x80,0x0,0x0,0x0,0x80,
+	0xa0,0xda,0xda,0xda,0xda,0x80,0x0,0x0,
+	0xda,0x80,0x80,0x80,0xa0,0x80,0x0,0x0,
+	0x0,0x0,0x80,0x0,0x80,0x80,0x80,0x80,
+	0x80,0x80,0x80,0xa0,0x80,0x0,0x80,0x0,
+	0x0,0x80,0x80,0x80,0xa0,0xa0,0xda,0xda,
+	0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x80,
+	0x0,0x0,0x0,0x80,0x80,0x0,0x80,0xa0,
+	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+	0x80,0x0,0xda,0x80,0x0,0x0,0xda,0x80,
+	0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x80,0x80,0x0,0x0,0xa0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1315,37 +1318,34 @@ SetWordType setwd26[234] = {0x0,0x0,0x8,0x8,0x8,0x8,0x8,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr89[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x80,0x0,
-	0x8,0x0,0x4,0x18, 0x0,0x40,0x0,0x0, 0x0,0x10,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr90[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr90[32] = {0x0,0x0,0x0,0x0, 0x0,0x21,0xcd,0x11, 0xe3,0x12,0x0,0x8f,
+	0x10,0x0,0x0,0x60, 0x0,0x0,0x0,0x22, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr91[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0x2,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr91[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x80,0x0,
+	0x8,0x0,0x4,0x18, 0x0,0x40,0x0,0x0, 0x0,0x10,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd27[234] = {0x0,0x0,0x21,0x21,0x21,0x21,0x21,
-	0x21,0x21,0x21,0x0,0x0,0x21,0x21,0x21,
-	0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x0,
+SetWordType setwd27[234] = {0x0,0x0,0x10,0x10,0x10,0x10,0x10,
+	0x10,0x10,0x10,0x0,0x0,0x10,0x10,0x10,
+	0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x21,0x0,0x0,
-	0x0,0x21,0x61,0x0,0x0,0x0,0x27,0x0,
-	0x21,0x27,0xc0,0x27,0x27,0x0,0x0,0x3f,
-	0x3f,0x3f,0x0,0x0,0x0,0x3f,0x0,0x21,
-	0x21,0x27,0x27,0x21,0x21,0x21,0x27,0x27,
-	0x27,0x21,0x27,0x21,0x21,0x27,0x0,0x21,
-	0x27,0x21,0x21,0x21,0x0,0x0,0x0,0x21,
-	0x27,0x27,0x27,0x27,0x27,0x21,0x0,0x0,
-	0x27,0x21,0x21,0x21,0x27,0x27,0x0,0x0,
-	0x0,0x0,0x21,0x0,0x21,0x21,0x21,0x21,
-	0x21,0x21,0x21,0x27,0x21,0x0,0x21,0x0,
-	0x0,0x21,0x21,0x21,0x27,0x27,0x27,0x27,
-	0x21,0x21,0x21,0x21,0x21,0x0,0x0,0x21,
-	0x0,0x0,0x0,0x21,0x21,0x0,0x21,0x27,
-	0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
-	0x21,0x0,0x27,0x21,0x0,0x0,0x27,0x21,
-	0x21,0x21,0x21,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,
+	0x0,0x10,0x10,0x0,0x0,0x0,0x7b,0x0,
+	0x10,0x7b,0x0,0x7b,0x7b,0x0,0x0,0xfb,
+	0xfb,0xfb,0x0,0x0,0x0,0xfb,0x0,0x10,
+	0x10,0x7b,0x7b,0x10,0x10,0x10,0x7b,0x7b,
+	0x7b,0x10,0x7b,0x10,0x10,0x7b,0x0,0x10,
+	0x70,0x10,0x10,0x10,0x0,0x0,0x0,0x10,
+	0x74,0x7b,0x7b,0x7b,0x7b,0x10,0x0,0x0,
+	0x7b,0x10,0x10,0x10,0x74,0x71,0x0,0x0,
+	0x0,0x0,0x10,0x0,0x10,0x10,0x10,0x10,
+	0x10,0x10,0x10,0x74,0x10,0x0,0x10,0x0,
+	0x0,0x10,0x10,0x10,0x74,0x74,0x7b,0x7b,
+	0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x10,
+	0x0,0x0,0x0,0x10,0x10,0x0,0x10,0x74,
+	0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+	0x10,0x0,0x7b,0x10,0x0,0x0,0x7b,0x10,
+	0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x10,0x10,0x0,0x0,0x74,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1354,84 +1354,129 @@ SetWordType setwd27[234] = {0x0,0x0,0x21,0x21,0x21,0x21,0x21,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr92[32] = {0xfc,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xef,0xff,
+SetWordType zzerr92[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr93[32] = {0x0,0x0,0x0,0x0, 0x0,0x2,0x2,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr94[32] = {0xfc,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,
+	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0x7f,0xff,0xbf,0xff,
+	0xff,0xff,0xff,0xff, 0xff,0x3,0x0,0x0};
+SetWordType zzerr95[32] = {0x0,0xc,0xc0,0xff, 0xef,0xdd,0x3f,0xee, 0xff,0xff,0xff,0xff,
+	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0x7f,0xff,0xff,0xff,
+	0xff,0xff,0xff,0xff, 0xff,0x3,0x0,0x0};
+SetWordType zzerr96[32] = {0xfc,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xef,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xbf,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0x3,0x0,0x0};
-SetWordType zzerr93[32] = {0x0,0xc,0xc0,0xff, 0xef,0xdd,0x3f,0xee, 0xff,0xff,0xef,0xff,
+SetWordType zzerr97[32] = {0x0,0xc,0xc0,0xff, 0xef,0xdd,0x3f,0xee, 0xff,0xff,0xef,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,
 	0xff,0xff,0xff,0xff, 0xff,0x3,0x0,0x0};
-SetWordType zzerr94[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType setwd28[234] = {0x0,0x0,0x52,0x52,0x52,0x52,0x52,
+	0x52,0x52,0x52,0x50,0x50,0x52,0x52,0x52,
+	0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x52,0x50,0x50,
+	0x50,0x52,0x56,0x50,0x50,0x50,0x52,0x50,
+	0x52,0x52,0x5c,0x52,0x52,0x50,0x50,0xf3,
+	0xf3,0x53,0x50,0x50,0x50,0xf3,0x50,0xf2,
+	0xf2,0xf2,0x52,0xf2,0xf2,0xf2,0x52,0x52,
+	0x52,0xf2,0x52,0x52,0xf2,0x52,0x50,0x52,
+	0x52,0x52,0x52,0xf2,0x50,0x10,0x50,0x52,
+	0xf2,0x52,0x52,0x52,0x52,0xf2,0x50,0x50,
+	0x52,0xf2,0xf2,0xf2,0xf2,0x52,0x50,0x50,
+	0x50,0x50,0xf2,0x50,0xf2,0xf2,0xf2,0xf2,
+	0xf2,0xf2,0xf2,0xf2,0xf2,0x50,0xf2,0x50,
+	0x50,0xf2,0xf2,0xf2,0xf2,0xf2,0x52,0x52,
+	0xf2,0xf2,0xf2,0xf2,0xf2,0x50,0x50,0xf2,
+	0x50,0x50,0x50,0xf2,0xf2,0x50,0xf2,0xf2,
+	0xf2,0xf2,0xf2,0xf2,0xf2,0xf2,0xf2,0xf2,
+	0xf2,0x50,0x52,0xf2,0x50,0x50,0x52,0xf2,
+	0xf2,0xf2,0xf2,0x50,0x50,0x50,0x50,0x50,
+	0x40,0xf2,0xf2,0x50,0x50,0xf2,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x0,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
+	0x50,0x50,0x50};
+SetWordType zzerr98[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr95[32] = {0x0,0x4,0x0,0x0, 0x2,0x8,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr99[32] = {0x0,0x4,0x0,0x0, 0x2,0x8,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr96[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr100[32] = {0x0,0x0,0x0,0x0, 0x0,0x20,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd28[234] = {0x0,0x0,0x81,0x81,0x81,0x81,0x81,
-	0x81,0x81,0x1,0x31,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x31,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x41,0x81,0x45,0x1,0x41,0xc1,0x41,
-	0x45,0x1,0x75,0x1,0x1,0x1,0x1,0x8b,
-	0x8b,0x89,0x1,0x1,0x1,0x8b,0x1,0x3,
-	0x3,0x3,0x1,0x3,0x3,0x3,0x1,0x1,
-	0x1,0x3,0x1,0x1,0x3,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x3,0x1,0x0,0x1,0x1,
-	0x3,0x1,0x1,0x1,0x1,0x3,0x1,0x1,
-	0x1,0x3,0x3,0x3,0x3,0x1,0x1,0x1,
-	0x1,0x1,0x3,0x1,0x3,0x3,0x3,0x3,
-	0x3,0x43,0x3,0x3,0x3,0x1,0x3,0x1,
-	0x1,0x3,0x3,0x3,0x3,0x3,0x1,0x1,
-	0x3,0x3,0x3,0x3,0x3,0x1,0x1,0x3,
-	0x1,0x1,0x1,0x3,0x3,0x1,0x3,0x3,
-	0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,
-	0x3,0x1,0x1,0x3,0x1,0x1,0x1,0x3,
-	0x3,0x3,0x3,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x3,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,
-	0x1,0x1,0x1};
-SetWordType zzerr97[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr101[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr98[32] = {0x0,0x30,0xff,0xbf, 0xff,0xf5,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType setwd29[234] = {0x0,0x0,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x0,0xc,0x0,0xc0,0xc0,0x40,
+	0x40,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,
+	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
+	0x80,0x80,0x8c,0x80,0x80,0xc0,0x80,0x80,
+	0x0,0x10,0x20,0x11,0x0,0x10,0x30,0x10,
+	0x11,0x0,0x1d,0x0,0x0,0x0,0x0,0x22,
+	0x22,0x22,0x0,0x0,0x0,0x22,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0};
+SetWordType zzerr102[32] = {0x0,0x30,0xff,0xbf, 0xff,0xf5,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x38,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr99[32] = {0x0,0x0,0x0,0x0, 0x0,0x85,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr103[32] = {0x0,0x0,0x0,0x0, 0x0,0x85,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr100[32] = {0x0,0xf0,0x3f,0x0, 0x10,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr104[32] = {0x0,0xf0,0x3f,0x0, 0x10,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr101[32] = {0x0,0x30,0xff,0xbf, 0x7f,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr105[32] = {0x0,0x30,0xff,0xbf, 0x7f,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x38,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr102[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr106[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd29[234] = {0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,
-	0xc0,0xc0,0x80,0x0,0x0,0x83,0x83,0x81,
-	0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x2,
-	0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,
-	0x2,0x2,0x2,0x2,0x2,0x83,0x2,0x2,
-	0x0,0xc,0xc0,0x3c,0x0,0xc,0xcc,0xc,
-	0x3c,0x0,0xc,0x0,0x0,0x0,0x0,0xc0,
-	0xc0,0xc0,0x0,0x0,0x0,0xc0,0x0,0x0,
+SetWordType zzerr107[32] = {0x0,0x34,0xff,0xbf, 0xff,0xfd,0x2,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x38,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType setwd30[234] = {0x0,0x0,0x30,0x30,0x30,0x30,0x30,
+	0x30,0x30,0x20,0xc0,0x0,0xe0,0xe0,0x20,
+	0x20,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xc0,
+	0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,
+	0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xc0,0xc0,
+	0xc0,0xc3,0x30,0xcf,0x0,0xc3,0xf3,0xc3,
+	0xcf,0x0,0xc3,0x0,0x0,0x0,0x0,0x30,
+	0x30,0x30,0x0,0x0,0x0,0x30,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0xc3,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1439,7 +1484,7 @@ SetWordType setwd29[234] = {0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x2,0x2,0x2,0x0,
+	0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1447,80 +1492,80 @@ SetWordType setwd29[234] = {0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr103[32] = {0x0,0x34,0xff,0xbf, 0xff,0xfd,0x2,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x38,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr104[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr108[32] = {0x0,0x0,0x0,0x0, 0x0,0x11,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr105[32] = {0x0,0x30,0xff,0xbf, 0xff,0xfd,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr109[32] = {0x0,0x30,0xff,0xbf, 0xff,0xfd,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x38,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr106[32] = {0xfc,0x1,0x0,0x0, 0x0,0x22,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr110[32] = {0xfc,0x1,0x0,0x0, 0x0,0x22,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr107[32] = {0x0,0x0,0xc0,0xbf, 0xef,0xdd,0x2,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr111[32] = {0x0,0x0,0xc0,0xbf, 0xef,0xdd,0x2,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x78,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr108[32] = {0xfc,0x1,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr112[32] = {0xfc,0x1,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd30[234] = {0x0,0x0,0x4,0x4,0x4,0x4,0x4,
-	0x4,0x4,0x0,0x3,0x0,0xb3,0xb3,0x0,
-	0x0,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,
-	0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0x0,
-	0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,
-	0xb3,0xb3,0x0,0xb3,0x10,0xb3,0xb3,0xb3,
-	0xb3,0x0,0xb3,0x0,0x0,0x0,0x0,0x48,
-	0x48,0x8,0x0,0x0,0x0,0x48,0x0,0x0,
+SetWordType setwd31[234] = {0x0,0x0,0x41,0x41,0x41,0x41,0x41,
+	0x41,0x41,0x40,0x80,0x0,0x6c,0x6c,0x40,
+	0x40,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,
+	0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x0,
+	0x6c,0x6c,0xec,0x6c,0x6c,0x6c,0x6c,0x6c,
+	0x6c,0x6c,0x40,0x6c,0x4,0x6c,0x6c,0x6c,
+	0x6c,0x40,0xec,0x40,0x40,0x0,0x0,0x52,
+	0x52,0x42,0x0,0x0,0x0,0x52,0x0,0x0,
+	0x0,0x40,0x40,0x0,0x0,0x0,0x40,0x40,
+	0x40,0x0,0x40,0x0,0x0,0x40,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x40,0x40,0x40,0x40,0x0,0x0,0x0,
+	0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x6c,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x40,0x0,0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0xb3,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x6c,0x6c,0x6c,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0xb3,0xb3,0xb3,0x0,
+	0x0,0x0,0x0};
+SetWordType zzerr113[32] = {0x0,0x0,0x0,0x0, 0x0,0xe0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType zzerr114[32] = {0x0,0x0,0x0,0x0, 0x0,0xc5,0x0,0x0, 0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
+	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
+SetWordType setwd32[234] = {0x0,0x0,0x20,0x20,0x20,0x20,0x20,
+	0x20,0x20,0x20,0x0,0x0,0x26,0x26,0x20,
+	0x20,0x26,0x26,0x26,0x26,0x26,0x26,0x6,
+	0x6,0x6,0x6,0x6,0x6,0x6,0x6,0x0,
+	0x6,0x6,0x6,0x6,0x6,0x26,0x6,0x6,
+	0x6,0xd6,0x28,0xd6,0x0,0x6,0x26,0xd7,
+	0xc7,0x0,0x6,0x0,0x0,0x0,0x0,0x20,
+	0x20,0x20,0x0,0x0,0x0,0x20,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0};
-SetWordType zzerr109[32] = {0x0,0x0,0x0,0x0, 0x0,0xe0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd31[234] = {0x0,0x0,0x81,0x81,0x81,0x81,0x81,
-	0x81,0x81,0x81,0x2,0x0,0x99,0x99,0x81,
-	0x81,0x99,0x99,0x99,0x99,0x99,0x99,0x19,
-	0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x0,
-	0x19,0x19,0x1b,0x19,0x19,0x99,0x19,0x19,
-	0x19,0x59,0xa1,0x59,0x0,0x19,0x99,0x5d,
-	0x1d,0x1,0x1b,0x1,0x1,0x0,0x0,0x81,
-	0x81,0x81,0x0,0x0,0x0,0x81,0x0,0x0,
-	0x0,0x1,0x1,0x0,0x0,0x0,0x1,0x1,
-	0x1,0x0,0x1,0x0,0x0,0x1,0x0,0x0,
+	0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0,
-	0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x19,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x19,0x19,0x19,0x0,
+	0x0,0x0,0x0,0x0,0x6,0x6,0x6,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1528,41 +1573,38 @@ SetWordType setwd31[234] = {0x0,0x0,0x81,0x81,0x81,0x81,0x81,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr110[32] = {0x0,0x0,0x0,0x0, 0x0,0xc5,0x0,0x0, 0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
-	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr111[32] = {0x0,0x8,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr115[32] = {0x0,0x8,0x0,0x0, 0x0,0x84,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr112[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr116[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr113[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x10, 0x0,0x0,0x0,0x0,
+SetWordType zzerr117[32] = {0x0,0x0,0x0,0x0, 0x0,0x0,0xc0,0x10, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd32[234] = {0x0,0x0,0x88,0x88,0x88,0x88,0x88,
-	0x88,0x88,0x88,0x80,0x0,0x88,0x88,0x88,
-	0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x80,
-	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
-	0x80,0x80,0x80,0x80,0x80,0x88,0x80,0x80,
-	0x80,0x83,0x88,0xb7,0x80,0x80,0x88,0x83,
-	0xb3,0x80,0x80,0x80,0x80,0x0,0x0,0xc8,
-	0xc8,0x88,0x0,0x0,0x0,0xc8,0x0,0x0,
-	0x0,0x80,0x80,0x0,0x0,0x0,0x80,0x80,
-	0x80,0x0,0x80,0x0,0x0,0x80,0x0,0x0,
+SetWordType setwd33[234] = {0x0,0x0,0xe2,0xe2,0xe2,0xe2,0xe2,
+	0xe2,0xe2,0x62,0x60,0x0,0x62,0x62,0x62,
+	0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x60,
+	0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,
+	0x60,0x60,0x60,0x60,0x60,0x62,0x60,0x60,
+	0x60,0x60,0x62,0x6d,0x60,0x60,0x62,0x60,
+	0x6c,0x60,0x60,0x60,0x60,0x0,0x0,0x72,
+	0x72,0x62,0x0,0x0,0x0,0x72,0x0,0x0,
+	0x0,0x60,0x60,0x0,0x0,0x0,0x60,0x60,
+	0x60,0x0,0x60,0x0,0x0,0x60,0x0,0x0,
+	0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x40,0x60,0x60,0x60,0x60,0x0,0x0,0x0,
+	0x60,0x0,0x0,0x0,0x40,0x40,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,
-	0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x60,0x0,0x40,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x40,0x40,0x60,0x60,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x60,0x0,0x0,0x0,0x60,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x60,0x60,0x60,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1570,38 +1612,38 @@ SetWordType setwd32[234] = {0x0,0x0,0x88,0x88,0x88,0x88,0x88,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr114[32] = {0xfc,0x1,0x0,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr118[32] = {0xfc,0x1,0x0,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr115[32] = {0xfc,0x1,0x0,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr119[32] = {0xfc,0x1,0x0,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr116[32] = {0x0,0x0,0x40,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
+SetWordType zzerr120[32] = {0x0,0x0,0x40,0x0, 0x0,0x2,0xc0,0x11, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd33[234] = {0x0,0x0,0x53,0x53,0x53,0x53,0x53,
-	0x53,0x53,0x41,0x1,0x0,0x41,0x41,0x41,
-	0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x1,
-	0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,
-	0x1,0x1,0x1,0x1,0x1,0x41,0x1,0x1,
-	0x1,0x1,0x49,0x1,0x1,0x1,0x49,0x1,
-	0x1,0x41,0x41,0x41,0x41,0x0,0x0,0xed,
-	0xed,0xed,0x0,0x0,0x0,0xed,0x0,0x0,
-	0x0,0x41,0x41,0x0,0x0,0x0,0x41,0x41,
-	0x41,0x0,0x41,0x0,0x0,0x41,0x0,0x0,
-	0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x1,0x41,0x41,0x41,0x41,0x0,0x0,0x0,
-	0x41,0x0,0x0,0x0,0x1,0x1,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x1,0x1,0x41,0x41,
+SetWordType setwd34[234] = {0x0,0x0,0x54,0x54,0x54,0x54,0x54,
+	0x54,0x54,0x50,0x0,0x0,0x50,0x50,0x50,
+	0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x50,0x0,0x0,
+	0x0,0x0,0x52,0x0,0x0,0x0,0x52,0x0,
+	0x80,0x50,0x50,0x50,0x50,0x0,0x0,0x7b,
+	0x7b,0x7b,0x0,0x0,0x0,0x7b,0x0,0x0,
+	0x0,0x50,0x50,0x0,0x0,0x0,0x50,0x50,
+	0x50,0x0,0x50,0x0,0x0,0x50,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x50,0x50,0x50,0x50,0x0,0x0,0x0,
+	0x50,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x50,0x50,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x50,0x0,0x0,0x0,0x50,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x41,0x0,0x0,0x0,0x41,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
@@ -1609,32 +1651,32 @@ SetWordType setwd33[234] = {0x0,0x0,0x53,0x53,0x53,0x53,0x53,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0};
-SetWordType zzerr117[32] = {0x0,0x0,0x0,0x0, 0x0,0x80,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr121[32] = {0x0,0x0,0x0,0x0, 0x0,0x80,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x1,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType zzerr118[32] = {0x0,0x0,0x40,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
+SetWordType zzerr122[32] = {0x0,0x0,0x40,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,
 	0x0,0x4,0x10,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x40,0x0,
 	0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
-SetWordType setwd34[234] = {0x0,0x0,0x19,0x19,0x19,0x19,0x19,
-	0x19,0x19,0x19,0x0,0x0,0x19,0x19,0x19,
-	0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x8,
+SetWordType setwd35[234] = {0x0,0x0,0x6,0x6,0x6,0x6,0x6,
+	0x6,0x6,0x6,0x0,0x0,0x6,0x6,0x6,
+	0x6,0x6,0x6,0x6,0x6,0x6,0x6,0x2,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,
+	0x0,0x0,0x6,0x9,0x0,0x0,0x6,0x0,
+	0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x6,
+	0x6,0x6,0x0,0x0,0x0,0x6,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+	0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,
+	0x0,0x8,0x0,0x0,0x0,0x2,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x19,0x0,0x0,
-	0x0,0x0,0x19,0x24,0x0,0x0,0x19,0x0,
-	0x22,0x1,0x1,0x1,0x1,0x0,0x0,0x19,
-	0x19,0x19,0x0,0x0,0x0,0x19,0x0,0x0,
-	0x0,0x1,0x1,0x0,0x0,0x0,0x1,0x1,
-	0x1,0x0,0x1,0x0,0x0,0x1,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x1,0x1,0x1,0x1,0x0,0x0,0x0,
-	0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,
-	0x0,0x22,0x0,0x0,0x0,0x8,0x0,0x0,
-	0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-	0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
diff --git a/contrib/vermin/tokens.h b/contrib/vermin/tokens.h
index b42c8a4..f5a23d5 100644
--- a/contrib/vermin/tokens.h
+++ b/contrib/vermin/tokens.h
@@ -311,6 +311,12 @@ extern void v_integer_declaration();
 #endif
 
 #ifdef __USE_PROTOS
+void v_genvar_declaration(void);
+#else
+extern void v_genvar_declaration();
+#endif
+
+#ifdef __USE_PROTOS
 void v_real_declaration(void);
 #else
 extern void v_real_declaration();
@@ -359,6 +365,12 @@ extern void v_list_of_variables();
 #endif
 
 #ifdef __USE_PROTOS
+void v_optrange_list(void);
+#else
+extern void v_optrange_list();
+#endif
+
+#ifdef __USE_PROTOS
 void v_name_of_variable(void);
 #else
 extern void v_name_of_variable();
@@ -677,6 +689,12 @@ extern void v_name_of_task_or_block();
 #endif
 
 #ifdef __USE_PROTOS
+void v_generate_block(void);
+#else
+extern void v_generate_block();
+#endif
+
+#ifdef __USE_PROTOS
 void v_specify_block(void);
 #else
 extern void v_specify_block();
@@ -896,27 +914,27 @@ extern SetWordType setwd11[];
 extern SetWordType zzerr44[];
 extern SetWordType zzerr45[];
 extern SetWordType zzerr46[];
-extern SetWordType setwd12[];
 extern SetWordType zzerr47[];
+extern SetWordType setwd12[];
 extern SetWordType zzerr48[];
 extern SetWordType zzerr49[];
 extern SetWordType zzerr50[];
 extern SetWordType setwd13[];
 extern SetWordType zzerr51[];
 extern SetWordType zzerr52[];
-extern SetWordType setwd14[];
 extern SetWordType zzerr53[];
+extern SetWordType setwd14[];
 extern SetWordType zzerr54[];
 extern SetWordType setwd15[];
 extern SetWordType zzerr55[];
 extern SetWordType zzerr56[];
 extern SetWordType zzerr57[];
-extern SetWordType zzerr58[];
 extern SetWordType setwd16[];
+extern SetWordType zzerr58[];
 extern SetWordType zzerr59[];
 extern SetWordType zzerr60[];
-extern SetWordType setwd17[];
 extern SetWordType zzerr61[];
+extern SetWordType setwd17[];
 extern SetWordType zzerr62[];
 extern SetWordType zzerr63[];
 extern SetWordType zzerr64[];
@@ -924,27 +942,27 @@ extern SetWordType zzerr65[];
 extern SetWordType setwd18[];
 extern SetWordType zzerr66[];
 extern SetWordType zzerr67[];
-extern SetWordType setwd19[];
 extern SetWordType zzerr68[];
+extern SetWordType setwd19[];
 extern SetWordType zzerr69[];
-extern SetWordType zzerr70[];
 extern SetWordType setwd20[];
+extern SetWordType zzerr70[];
 extern SetWordType zzerr71[];
 extern SetWordType zzerr72[];
 extern SetWordType zzerr73[];
-extern SetWordType setwd21[];
 extern SetWordType zzerr74[];
+extern SetWordType setwd21[];
 extern SetWordType zzerr75[];
-extern SetWordType setwd22[];
 extern SetWordType zzerr76[];
+extern SetWordType setwd22[];
 extern SetWordType zzerr77[];
-extern SetWordType setwd23[];
 extern SetWordType zzerr78[];
 extern SetWordType zzerr79[];
+extern SetWordType setwd23[];
 extern SetWordType zzerr80[];
 extern SetWordType zzerr81[];
-extern SetWordType setwd24[];
 extern SetWordType zzerr82[];
+extern SetWordType setwd24[];
 extern SetWordType zzerr83[];
 extern SetWordType zzerr84[];
 extern SetWordType zzerr85[];
@@ -952,8 +970,8 @@ extern SetWordType zzerr86[];
 extern SetWordType setwd25[];
 extern SetWordType zzerr87[];
 extern SetWordType zzerr88[];
-extern SetWordType setwd26[];
 extern SetWordType zzerr89[];
+extern SetWordType setwd26[];
 extern SetWordType zzerr90[];
 extern SetWordType zzerr91[];
 extern SetWordType setwd27[];
@@ -962,32 +980,37 @@ extern SetWordType zzerr93[];
 extern SetWordType zzerr94[];
 extern SetWordType zzerr95[];
 extern SetWordType zzerr96[];
-extern SetWordType setwd28[];
 extern SetWordType zzerr97[];
+extern SetWordType setwd28[];
 extern SetWordType zzerr98[];
 extern SetWordType zzerr99[];
 extern SetWordType zzerr100[];
 extern SetWordType zzerr101[];
-extern SetWordType zzerr102[];
 extern SetWordType setwd29[];
+extern SetWordType zzerr102[];
 extern SetWordType zzerr103[];
 extern SetWordType zzerr104[];
 extern SetWordType zzerr105[];
 extern SetWordType zzerr106[];
 extern SetWordType zzerr107[];
-extern SetWordType zzerr108[];
 extern SetWordType setwd30[];
+extern SetWordType zzerr108[];
 extern SetWordType zzerr109[];
-extern SetWordType setwd31[];
 extern SetWordType zzerr110[];
 extern SetWordType zzerr111[];
 extern SetWordType zzerr112[];
+extern SetWordType setwd31[];
 extern SetWordType zzerr113[];
-extern SetWordType setwd32[];
 extern SetWordType zzerr114[];
+extern SetWordType setwd32[];
 extern SetWordType zzerr115[];
 extern SetWordType zzerr116[];
-extern SetWordType setwd33[];
 extern SetWordType zzerr117[];
+extern SetWordType setwd33[];
 extern SetWordType zzerr118[];
+extern SetWordType zzerr119[];
+extern SetWordType zzerr120[];
 extern SetWordType setwd34[];
+extern SetWordType zzerr121[];
+extern SetWordType zzerr122[];
+extern SetWordType setwd35[];
diff --git a/contrib/vermin/verilog.c b/contrib/vermin/verilog.c
index 247d491..0337a06 100644
--- a/contrib/vermin/verilog.c
+++ b/contrib/vermin/verilog.c
@@ -1830,68 +1830,80 @@ v_module_item()
                   v_integer_declaration();
                 }
                 else {
-                  if ( (LA(1)==V_REAL) ) {
+                  if ( (LA(1)==V_GENVAR) ) {
 #line 1256 "./verilog.g"
-                    v_real_declaration();
+                    v_genvar_declaration();
                   }
                   else {
-                    if ( (LA(1)==V_EVENT) ) {
+                    if ( (LA(1)==V_REAL) ) {
 #line 1257 "./verilog.g"
-                      v_event_declaration();
+                      v_real_declaration();
                     }
                     else {
-                      if ( (setwd5[LA(1)]&0x2) ) {
+                      if ( (LA(1)==V_EVENT) ) {
 #line 1258 "./verilog.g"
-                        v_gate_declaration();
+                        v_event_declaration();
                       }
                       else {
-                        if ( (LA(1)==V_PRIMITIVE) ) {
+                        if ( (setwd5[LA(1)]&0x2) ) {
 #line 1259 "./verilog.g"
-                          v_udp();
+                          v_gate_declaration();
                         }
                         else {
-                          if ( (setwd5[LA(1)]&0x4)
+                          if ( (LA(1)==V_PRIMITIVE)
  ) {
 #line 1260 "./verilog.g"
-                            v_module_instantiation();
+                            v_udp();
                           }
                           else {
-                            if ( (LA(1)==V_DEFPARAM) ) {
+                            if ( (setwd5[LA(1)]&0x4) ) {
 #line 1261 "./verilog.g"
-                              v_parameter_override();
+                              v_module_instantiation();
                             }
                             else {
-                              if ( (setwd5[LA(1)]&0x8) ) {
+                              if ( (LA(1)==V_DEFPARAM) ) {
 #line 1262 "./verilog.g"
-                                v_continuous_assign();
+                                v_parameter_override();
                               }
                               else {
-                                if ( (LA(1)==V_INITIAL) ) {
+                                if ( (setwd5[LA(1)]&0x8) ) {
 #line 1263 "./verilog.g"
-                                  v_initial_statement();
+                                  v_continuous_assign();
                                 }
                                 else {
-                                  if ( (LA(1)==V_ALWAYS) ) {
+                                  if ( (LA(1)==V_INITIAL) ) {
 #line 1264 "./verilog.g"
-                                    v_always_statement();
+                                    v_initial_statement();
                                   }
                                   else {
-                                    if ( (LA(1)==V_TASK)
+                                    if ( (LA(1)==V_ALWAYS)
  ) {
 #line 1265 "./verilog.g"
-                                      v_task();
+                                      v_always_statement();
                                     }
                                     else {
-                                      if ( (LA(1)==V_FUNCTION) ) {
+                                      if ( (LA(1)==V_TASK) ) {
 #line 1266 "./verilog.g"
-                                        v_function();
+                                        v_task();
                                       }
                                       else {
-                                        if ( (LA(1)==V_SPECIFY) ) {
+                                        if ( (LA(1)==V_FUNCTION) ) {
 #line 1267 "./verilog.g"
-                                          v_specify_block();
+                                          v_function();
+                                        }
+                                        else {
+                                          if ( (LA(1)==V_SPECIFY) ) {
+#line 1268 "./verilog.g"
+                                            v_specify_block();
+                                          }
+                                          else {
+                                            if ( (LA(1)==V_GENERATE) ) {
+#line 1269 "./verilog.g"
+                                              v_generate_block();
+                                            }
+                                            else {zzFAIL(1,zzerr20,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+                                          }
                                         }
-                                        else {zzFAIL(1,zzerr20,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
                                       }
                                     }
                                   }
@@ -1927,14 +1939,14 @@ v_udp(void)
 v_udp()
 #endif
 {
-#line 1270 "./verilog.g"
+#line 1272 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1270 "./verilog.g"
+#line 1272 "./verilog.g"
   zzmatch(V_PRIMITIVE);
-#line 1271 "./verilog.g"
+#line 1273 "./verilog.g"
   { 
     struct i_symbol_scope *sb = (struct i_symbol_scope *)calloc(1, sizeof(struct i_symbol_scope)); 
     sb->symtable = make_jrb(); 
@@ -1959,9 +1971,9 @@ v_udp()
   }
  zzCONSUME;
 
-#line 1294 "./verilog.g"
+#line 1296 "./verilog.g"
   v_name_of_udp();
-#line 1295 "./verilog.g"
+#line 1297 "./verilog.g"
   
   {
     JRB node = jrb_find_str(modname_tree, zzaArg(zztasp1,2 ).symbol->name);
@@ -1976,50 +1988,51 @@ v_udp()
       module_is_duplicate = 1;
     }
   }
-#line 1311 "./verilog.g"
+#line 1313 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1311 "./verilog.g"
+#line 1313 "./verilog.g"
   v_name_of_variable();
-#line 1312 "./verilog.g"
+#line 1314 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA) ) {
-#line 1312 "./verilog.g"
+    while ( (LA(1)==V_COMMA)
+ ) {
+#line 1314 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1312 "./verilog.g"
+#line 1314 "./verilog.g"
       v_name_of_variable();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1312 "./verilog.g"
+#line 1314 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
-#line 1312 "./verilog.g"
+#line 1314 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
-#line 1313 "./verilog.g"
+#line 1315 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     int zzcnt=1;
     zzMake0;
     {
     do {
-#line 1313 "./verilog.g"
+#line 1315 "./verilog.g"
       v_udp_declaration();
       zzLOOP(zztasp2);
     } while ( (setwd5[LA(1)]&0x20) );
     zzEXIT(zztasp2);
     }
   }
-#line 1314 "./verilog.g"
+#line 1316 "./verilog.g"
   v_udp_initial_statement();
-#line 1315 "./verilog.g"
+#line 1317 "./verilog.g"
   v_table_definition();
-#line 1316 "./verilog.g"
+#line 1318 "./verilog.g"
   zzmatch(V_ENDPRIMITIVE);
-#line 1317 "./verilog.g"
+#line 1319 "./verilog.g"
   
   {
     if(sym_base)
@@ -2081,24 +2094,23 @@ v_udp_declaration(void)
 v_udp_declaration()
 #endif
 {
-#line 1363 "./verilog.g"
+#line 1365 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_OUTPUT)
- ) {
-#line 1363 "./verilog.g"
+  if ( (LA(1)==V_OUTPUT) ) {
+#line 1365 "./verilog.g"
     v_output_declaration();
   }
   else {
     if ( (LA(1)==V_REG) ) {
-#line 1364 "./verilog.g"
+#line 1366 "./verilog.g"
       v_reg_declaration();
     }
     else {
       if ( (LA(1)==V_INPUT) ) {
-#line 1365 "./verilog.g"
+#line 1367 "./verilog.g"
         v_input_declaration();
       }
       else {zzFAIL(1,zzerr21,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2120,21 +2132,22 @@ v_udp_initial_statement(void)
 v_udp_initial_statement()
 #endif
 {
-#line 1368 "./verilog.g"
+#line 1370 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_INITIAL) ) {
-#line 1368 "./verilog.g"
+  if ( (LA(1)==V_INITIAL)
+ ) {
+#line 1370 "./verilog.g"
     zzmatch(V_INITIAL); zzCONSUME;
-#line 1368 "./verilog.g"
+#line 1370 "./verilog.g"
     v_output_terminal_name();
-#line 1368 "./verilog.g"
+#line 1370 "./verilog.g"
     zzmatch(V_EQ); zzCONSUME;
-#line 1368 "./verilog.g"
+#line 1370 "./verilog.g"
     v_init_val();
-#line 1368 "./verilog.g"
+#line 1370 "./verilog.g"
     zzmatch(V_SEMI); zzCONSUME;
   }
   else {
@@ -2158,21 +2171,20 @@ v_init_val(void)
 v_init_val()
 #endif
 {
-#line 1373 "./verilog.g"
+#line 1375 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_DECIMAL_NUMBER)
- ) {
-#line 1373 "./verilog.g"
+  if ( (LA(1)==V_DECIMAL_NUMBER) ) {
+#line 1375 "./verilog.g"
     zzmatch(V_DECIMAL_NUMBER); zzCONSUME;
   }
   else {
     if ( (LA(1)==V_BBASE) ) {
-#line 1374 "./verilog.g"
+#line 1376 "./verilog.g"
       zzmatch(V_BBASE);
-#line 1374 "./verilog.g"
+#line 1376 "./verilog.g"
       zzaRet.num = i_number_basemake(NV_BBASE, zzaArg(zztasp1,1 ).text);
  zzCONSUME;
 
@@ -2195,12 +2207,12 @@ v_output_terminal_name(void)
 v_output_terminal_name()
 #endif
 {
-#line 1377 "./verilog.g"
+#line 1379 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1377 "./verilog.g"
+#line 1379 "./verilog.g"
   v_name_of_variable();
   zzEXIT(zztasp1);
   return;
@@ -2218,16 +2230,16 @@ v_table_definition(void)
 v_table_definition()
 #endif
 {
-#line 1380 "./verilog.g"
+#line 1382 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1380 "./verilog.g"
+#line 1382 "./verilog.g"
   zzmatch(V_TABLE); zzCONSUME;
-#line 1380 "./verilog.g"
+#line 1382 "./verilog.g"
   v_table_entries();
-#line 1380 "./verilog.g"
+#line 1382 "./verilog.g"
   zzmatch(V_ENDTABLE); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -2245,19 +2257,19 @@ v_table_entries(void)
 v_table_entries()
 #endif
 {
-#line 1383 "./verilog.g"
+#line 1385 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1383 "./verilog.g"
+#line 1385 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     int zzcnt=1;
     zzMake0;
     {
     do {
-#line 1383 "./verilog.g"
+#line 1385 "./verilog.g"
       v_com_seq_entry();
       zzLOOP(zztasp2);
     } while ( (setwd6[LA(1)]&0x10) );
@@ -2280,31 +2292,32 @@ v_com_seq_entry(void)
 v_com_seq_entry()
 #endif
 {
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
   v_input_list();
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
   zzmatch(V_COLON); zzCONSUME;
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd6[LA(1)]&0x40) && (LA(2)==V_COLON) ) {
-#line 1386 "./verilog.g"
+    if ( (setwd6[LA(1)]&0x40) && 
+(LA(2)==V_COLON) ) {
+#line 1388 "./verilog.g"
       v_state();
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
       zzmatch(V_COLON); zzCONSUME;
-#line 1386 "./verilog.g"
+#line 1388 "./verilog.g"
       v_next_state();
     }
     else {
       if ( (LA(1)==V_OUTPUT_SYMBOL) && (LA(2)==V_SEMI) ) {
-#line 1387 "./verilog.g"
+#line 1389 "./verilog.g"
         zzmatch(V_OUTPUT_SYMBOL); zzCONSUME;
       }
       else {zzFAIL(2,zzerr24,zzerr25,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2312,7 +2325,7 @@ v_com_seq_entry()
     zzEXIT(zztasp2);
     }
   }
-#line 1387 "./verilog.g"
+#line 1389 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -2330,19 +2343,18 @@ v_level_symbol(void)
 v_level_symbol()
 #endif
 {
-#line 1390 "./verilog.g"
+#line 1392 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_OUTPUT_SYMBOL)
- ) {
-#line 1390 "./verilog.g"
+  if ( (LA(1)==V_OUTPUT_SYMBOL) ) {
+#line 1392 "./verilog.g"
     zzmatch(V_OUTPUT_SYMBOL); zzCONSUME;
   }
   else {
     if ( (LA(1)==V_LEVEL_SYMBOL_EXTRA) ) {
-#line 1391 "./verilog.g"
+#line 1393 "./verilog.g"
       zzmatch(V_LEVEL_SYMBOL_EXTRA); zzCONSUME;
     }
     else {zzFAIL(1,zzerr26,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2363,22 +2375,23 @@ v_edge(void)
 v_edge()
 #endif
 {
-#line 1394 "./verilog.g"
+#line 1396 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_LP) ) {
-#line 1394 "./verilog.g"
+#line 1396 "./verilog.g"
     zzmatch(V_LP); zzCONSUME;
-#line 1394 "./verilog.g"
+#line 1396 "./verilog.g"
     v_fake_edge();
-#line 1394 "./verilog.g"
+#line 1396 "./verilog.g"
     zzmatch(V_RP); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_EDGE_SYMBOL) ) {
-#line 1395 "./verilog.g"
+    if ( (LA(1)==V_EDGE_SYMBOL)
+ ) {
+#line 1397 "./verilog.g"
       zzmatch(V_EDGE_SYMBOL); zzCONSUME;
     }
     else {zzFAIL(1,zzerr27,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2399,21 +2412,20 @@ v_fake_edge(void)
 v_fake_edge()
 #endif
 {
-#line 1399 "./verilog.g"
+#line 1401 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (setwd7[LA(1)]&0x4) ) {
-#line 1399 "./verilog.g"
+#line 1401 "./verilog.g"
     v_level_symbol();
-#line 1399 "./verilog.g"
+#line 1401 "./verilog.g"
     v_level_symbol();
   }
   else {
-    if ( (LA(1)==V_IDENTIFIER)
- ) {
-#line 1400 "./verilog.g"
+    if ( (LA(1)==V_IDENTIFIER) ) {
+#line 1402 "./verilog.g"
       zzmatch(V_IDENTIFIER); zzCONSUME;
     }
     else {zzFAIL(1,zzerr28,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2434,18 +2446,18 @@ v_level_symbol2(void)
 v_level_symbol2()
 #endif
 {
-#line 1403 "./verilog.g"
+#line 1405 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (setwd7[LA(1)]&0x10) ) {
-#line 1403 "./verilog.g"
+#line 1405 "./verilog.g"
     v_level_symbol();
   }
   else {
     if ( (setwd7[LA(1)]&0x20) ) {
-#line 1404 "./verilog.g"
+#line 1406 "./verilog.g"
       v_edge();
     }
     else {zzFAIL(1,zzerr29,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2466,18 +2478,19 @@ v_input_list(void)
 v_input_list()
 #endif
 {
-#line 1407 "./verilog.g"
+#line 1409 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1407 "./verilog.g"
+#line 1409 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (setwd7[LA(1)]&0x80) ) {
-#line 1407 "./verilog.g"
+    while ( (setwd7[LA(1)]&0x80)
+ ) {
+#line 1409 "./verilog.g"
       v_level_symbol2();
       zzLOOP(zztasp2);
     }
@@ -2500,12 +2513,12 @@ v_state(void)
 v_state()
 #endif
 {
-#line 1411 "./verilog.g"
+#line 1413 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1411 "./verilog.g"
+#line 1413 "./verilog.g"
   v_level_symbol();
   zzEXIT(zztasp1);
   return;
@@ -2523,19 +2536,18 @@ v_next_state(void)
 v_next_state()
 #endif
 {
-#line 1414 "./verilog.g"
+#line 1416 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_OUTPUT_SYMBOL) ) {
-#line 1414 "./verilog.g"
+#line 1416 "./verilog.g"
     zzmatch(V_OUTPUT_SYMBOL); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_HYPHEN)
- ) {
-#line 1415 "./verilog.g"
+    if ( (LA(1)==V_HYPHEN) ) {
+#line 1417 "./verilog.g"
       zzmatch(V_HYPHEN); zzCONSUME;
     }
     else {zzFAIL(1,zzerr30,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2556,14 +2568,14 @@ v_task(void)
 v_task()
 #endif
 {
-#line 1418 "./verilog.g"
+#line 1420 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1418 "./verilog.g"
+#line 1420 "./verilog.g"
   zzmatch(V_TASK);
-#line 1419 "./verilog.g"
+#line 1421 "./verilog.g"
   { 
     struct i_symbol_scope *sb = (struct i_symbol_scope *)calloc(1, sizeof(struct i_symbol_scope)); 
     sb->symtable = make_jrb(); 
@@ -2572,28 +2584,28 @@ v_task()
   }
  zzCONSUME;
 
-#line 1426 "./verilog.g"
+#line 1428 "./verilog.g"
   v_identifier_nodot();
-#line 1426 "./verilog.g"
+#line 1428 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
-#line 1427 "./verilog.g"
+#line 1429 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (setwd8[LA(1)]&0x8) ) {
-#line 1427 "./verilog.g"
+#line 1429 "./verilog.g"
       v_tf_declaration();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1428 "./verilog.g"
+#line 1430 "./verilog.g"
   v_statement_or_null();
-#line 1428 "./verilog.g"
+#line 1430 "./verilog.g"
   zzmatch(V_ENDTASK);
-#line 1429 "./verilog.g"
+#line 1431 "./verilog.g"
   if(sym_base) sym_base = sym_base->parent;
  zzCONSUME;
 
@@ -2613,14 +2625,14 @@ v_function(void)
 v_function()
 #endif
 {
-#line 1432 "./verilog.g"
+#line 1434 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1432 "./verilog.g"
+#line 1434 "./verilog.g"
   zzmatch(V_FUNCTION);
-#line 1433 "./verilog.g"
+#line 1435 "./verilog.g"
   { 
     struct i_symbol_scope *sb = (struct i_symbol_scope *)calloc(1, sizeof(struct i_symbol_scope)); 
     sb->symtable = make_jrb(); 
@@ -2629,46 +2641,47 @@ v_function()
   }
  zzCONSUME;
 
-#line 1440 "./verilog.g"
+#line 1442 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (setwd8[LA(1)]&0x20) ) {
-#line 1440 "./verilog.g"
+#line 1442 "./verilog.g"
       v_range_or_type();
     }
     else {
-      if ( (setwd8[LA(1)]&0x40) ) {
+      if ( (setwd8[LA(1)]&0x40)
+ ) {
       }
       else {zzFAIL(1,zzerr31,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1440 "./verilog.g"
+#line 1442 "./verilog.g"
   v_identifier_nodot();
-#line 1440 "./verilog.g"
+#line 1442 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
-#line 1441 "./verilog.g"
+#line 1443 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     int zzcnt=1;
     zzMake0;
     {
     do {
-#line 1441 "./verilog.g"
+#line 1443 "./verilog.g"
       v_tf_declaration();
       zzLOOP(zztasp2);
     } while ( (setwd8[LA(1)]&0x80) );
     zzEXIT(zztasp2);
     }
   }
-#line 1442 "./verilog.g"
+#line 1444 "./verilog.g"
   v_statement();
-#line 1442 "./verilog.g"
+#line 1444 "./verilog.g"
   zzmatch(V_ENDFUNCTION);
-#line 1443 "./verilog.g"
+#line 1445 "./verilog.g"
   if(sym_base) sym_base = sym_base->parent;
  zzCONSUME;
 
@@ -2688,24 +2701,23 @@ v_range_or_type(void)
 v_range_or_type()
 #endif
 {
-#line 1446 "./verilog.g"
+#line 1448 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_LBRACK)
- ) {
-#line 1446 "./verilog.g"
+  if ( (LA(1)==V_LBRACK) ) {
+#line 1448 "./verilog.g"
     v_range();
   }
   else {
     if ( (LA(1)==V_INTEGER) ) {
-#line 1447 "./verilog.g"
+#line 1449 "./verilog.g"
       zzmatch(V_INTEGER); zzCONSUME;
     }
     else {
       if ( (LA(1)==V_REAL) ) {
-#line 1448 "./verilog.g"
+#line 1450 "./verilog.g"
         zzmatch(V_REAL); zzCONSUME;
       }
       else {zzFAIL(1,zzerr32,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2727,55 +2739,55 @@ v_tf_declaration(void)
 v_tf_declaration()
 #endif
 {
-#line 1451 "./verilog.g"
+#line 1453 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_PARAMETER) ) {
-#line 1451 "./verilog.g"
+  if ( (LA(1)==V_PARAMETER)
+ ) {
+#line 1453 "./verilog.g"
     v_parameter_declaration();
   }
   else {
     if ( (LA(1)==V_LOCALPARAM) ) {
-#line 1452 "./verilog.g"
+#line 1454 "./verilog.g"
       v_localparam_declaration();
     }
     else {
-      if ( (LA(1)==V_INPUT)
- ) {
-#line 1453 "./verilog.g"
+      if ( (LA(1)==V_INPUT) ) {
+#line 1455 "./verilog.g"
         v_input_declaration();
       }
       else {
         if ( (LA(1)==V_OUTPUT) ) {
-#line 1454 "./verilog.g"
+#line 1456 "./verilog.g"
           v_output_declaration();
         }
         else {
           if ( (LA(1)==V_INOUT) ) {
-#line 1455 "./verilog.g"
+#line 1457 "./verilog.g"
             v_inout_declaration();
           }
           else {
-            if ( (LA(1)==V_REG) ) {
-#line 1456 "./verilog.g"
+            if ( (LA(1)==V_REG)
+ ) {
+#line 1458 "./verilog.g"
               v_reg_declaration();
             }
             else {
               if ( (LA(1)==V_TIME) ) {
-#line 1457 "./verilog.g"
+#line 1459 "./verilog.g"
                 v_time_declaration();
               }
               else {
-                if ( (LA(1)==V_INTEGER)
- ) {
-#line 1458 "./verilog.g"
+                if ( (LA(1)==V_INTEGER) ) {
+#line 1460 "./verilog.g"
                   v_integer_declaration();
                 }
                 else {
                   if ( (LA(1)==V_REAL) ) {
-#line 1459 "./verilog.g"
+#line 1461 "./verilog.g"
                     v_real_declaration();
                   }
                   else {zzFAIL(1,zzerr33,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -2803,35 +2815,36 @@ v_parameter_declaration(void)
 v_parameter_declaration()
 #endif
 {
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   zzmatch(V_PARAMETER); zzCONSUME;
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   v_optsigned();
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_LBRACK) ) {
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
       v_range();
     }
     else {
-      if ( (setwd9[LA(1)]&0x8) ) {
+      if ( (setwd9[LA(1)]&0x8)
+ ) {
       }
       else {zzFAIL(1,zzerr34,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   v_list_of_param_assignments();
-#line 1466 "./verilog.g"
+#line 1468 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -2849,36 +2862,35 @@ v_localparam_declaration(void)
 v_localparam_declaration()
 #endif
 {
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   zzmatch(V_LOCALPARAM); zzCONSUME;
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   v_optsigned();
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_LBRACK) ) {
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
       v_range();
     }
     else {
-      if ( (setwd9[LA(1)]&0x20)
- ) {
+      if ( (setwd9[LA(1)]&0x20) ) {
       }
       else {zzFAIL(1,zzerr35,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   v_list_of_param_assignments();
-#line 1470 "./verilog.g"
+#line 1472 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -2896,16 +2908,16 @@ v_param_assignment(void)
 v_param_assignment()
 #endif
 {
-#line 1473 "./verilog.g"
+#line 1475 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1473 "./verilog.g"
+#line 1475 "./verilog.g"
   v_identifier();
-#line 1473 "./verilog.g"
+#line 1475 "./verilog.g"
   zzmatch(V_EQ); zzCONSUME;
-#line 1473 "./verilog.g"
+#line 1475 "./verilog.g"
   v_constant_expression();
   zzEXIT(zztasp1);
   return;
@@ -2923,22 +2935,22 @@ v_list_of_param_assignments(void)
 v_list_of_param_assignments()
 #endif
 {
-#line 1476 "./verilog.g"
+#line 1478 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1476 "./verilog.g"
+#line 1478 "./verilog.g"
   v_param_assignment();
-#line 1477 "./verilog.g"
+#line 1479 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (LA(1)==V_COMMA) ) {
-#line 1477 "./verilog.g"
+#line 1479 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1477 "./verilog.g"
+#line 1479 "./verilog.g"
       v_param_assignment();
       zzLOOP(zztasp2);
     }
@@ -2961,35 +2973,36 @@ v_input_declaration(void)
 v_input_declaration()
 #endif
 {
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
   zzmatch(V_INPUT); zzCONSUME;
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
   v_optnettype();
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
   v_optsigned();
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (setwd10[LA(1)]&0x2) ) {
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
       v_list_of_variables();
-#line 1480 "./verilog.g"
+#line 1482 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
     else {
-      if ( (LA(1)==V_LBRACK) ) {
-#line 1481 "./verilog.g"
+      if ( (LA(1)==V_LBRACK)
+ ) {
+#line 1483 "./verilog.g"
         v_range();
-#line 1481 "./verilog.g"
+#line 1483 "./verilog.g"
         v_list_of_variables();
-#line 1481 "./verilog.g"
+#line 1483 "./verilog.g"
         zzmatch(V_SEMI); zzCONSUME;
       }
       else {zzFAIL(1,zzerr36,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -3013,36 +3026,35 @@ v_output_declaration(void)
 v_output_declaration()
 #endif
 {
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
   zzmatch(V_OUTPUT); zzCONSUME;
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
   v_optnettype();
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
   v_optsigned();
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (setwd10[LA(1)]&0x8) ) {
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
       v_list_of_variables();
-#line 1484 "./verilog.g"
+#line 1486 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
     else {
-      if ( (LA(1)==V_LBRACK)
- ) {
-#line 1485 "./verilog.g"
+      if ( (LA(1)==V_LBRACK) ) {
+#line 1487 "./verilog.g"
         v_range();
-#line 1485 "./verilog.g"
+#line 1487 "./verilog.g"
         v_list_of_variables();
-#line 1485 "./verilog.g"
+#line 1487 "./verilog.g"
         zzmatch(V_SEMI); zzCONSUME;
       }
       else {zzFAIL(1,zzerr37,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -3066,35 +3078,35 @@ v_inout_declaration(void)
 v_inout_declaration()
 #endif
 {
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
   zzmatch(V_INOUT); zzCONSUME;
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
   v_optnettype();
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
   v_optsigned();
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (setwd10[LA(1)]&0x20) ) {
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
       v_list_of_variables();
-#line 1488 "./verilog.g"
+#line 1490 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
     else {
       if ( (LA(1)==V_LBRACK) ) {
-#line 1489 "./verilog.g"
+#line 1491 "./verilog.g"
         v_range();
-#line 1489 "./verilog.g"
+#line 1491 "./verilog.g"
         v_list_of_variables();
-#line 1489 "./verilog.g"
+#line 1491 "./verilog.g"
         zzmatch(V_SEMI); zzCONSUME;
       }
       else {zzFAIL(1,zzerr38,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -3118,13 +3130,14 @@ v_net_chg(void)
 v_net_chg()
 #endif
 {
-#line 1492 "./verilog.g"
+#line 1494 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_LP) ) {
-#line 1492 "./verilog.g"
+  if ( (LA(1)==V_LP)
+ ) {
+#line 1494 "./verilog.g"
     v_charge_strength();
   }
   else {
@@ -3148,66 +3161,65 @@ v_nettype(void)
 v_nettype()
 #endif
 {
-#line 1496 "./verilog.g"
+#line 1498 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_WIRE)
- ) {
-#line 1496 "./verilog.g"
+  if ( (LA(1)==V_WIRE) ) {
+#line 1498 "./verilog.g"
     zzmatch(V_WIRE); zzCONSUME;
   }
   else {
     if ( (LA(1)==V_TRI) ) {
-#line 1497 "./verilog.g"
+#line 1499 "./verilog.g"
       zzmatch(V_TRI); zzCONSUME;
     }
     else {
       if ( (LA(1)==V_TRI1) ) {
-#line 1498 "./verilog.g"
+#line 1500 "./verilog.g"
         zzmatch(V_TRI1); zzCONSUME;
       }
       else {
-        if ( (LA(1)==V_SUPPLY0) ) {
-#line 1499 "./verilog.g"
+        if ( (LA(1)==V_SUPPLY0)
+ ) {
+#line 1501 "./verilog.g"
           zzmatch(V_SUPPLY0); zzCONSUME;
         }
         else {
           if ( (LA(1)==V_WAND) ) {
-#line 1500 "./verilog.g"
+#line 1502 "./verilog.g"
             zzmatch(V_WAND); zzCONSUME;
           }
           else {
-            if ( (LA(1)==V_TRIAND)
- ) {
-#line 1501 "./verilog.g"
+            if ( (LA(1)==V_TRIAND) ) {
+#line 1503 "./verilog.g"
               zzmatch(V_TRIAND); zzCONSUME;
             }
             else {
               if ( (LA(1)==V_TRI0) ) {
-#line 1502 "./verilog.g"
+#line 1504 "./verilog.g"
                 zzmatch(V_TRI0); zzCONSUME;
               }
               else {
                 if ( (LA(1)==V_SUPPLY1) ) {
-#line 1503 "./verilog.g"
+#line 1505 "./verilog.g"
                   zzmatch(V_SUPPLY1); zzCONSUME;
                 }
                 else {
-                  if ( (LA(1)==V_WOR) ) {
-#line 1504 "./verilog.g"
+                  if ( (LA(1)==V_WOR)
+ ) {
+#line 1506 "./verilog.g"
                     zzmatch(V_WOR); zzCONSUME;
                   }
                   else {
                     if ( (LA(1)==V_TRIOR) ) {
-#line 1505 "./verilog.g"
+#line 1507 "./verilog.g"
                       zzmatch(V_TRIOR); zzCONSUME;
                     }
                     else {
-                      if ( (LA(1)==V_TRIREG)
- ) {
-#line 1506 "./verilog.g"
+                      if ( (LA(1)==V_TRIREG) ) {
+#line 1508 "./verilog.g"
                         zzmatch(V_TRIREG); zzCONSUME;
                       }
                       else {zzFAIL(1,zzerr40,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -3237,22 +3249,23 @@ v_optnettype(void)
 v_optnettype()
 #endif
 {
-#line 1510 "./verilog.g"
+#line 1512 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (setwd11[LA(1)]&0x4) ) {
-#line 1510 "./verilog.g"
+#line 1512 "./verilog.g"
     v_nettype();
   }
   else {
     if ( (LA(1)==V_REG) ) {
-#line 1511 "./verilog.g"
+#line 1513 "./verilog.g"
       zzmatch(V_REG); zzCONSUME;
     }
     else {
-      if ( (setwd11[LA(1)]&0x8) ) {
+      if ( (setwd11[LA(1)]&0x8)
+ ) {
       }
       else {zzFAIL(1,zzerr41,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
@@ -3273,28 +3286,27 @@ v_expandrange(void)
 v_expandrange()
 #endif
 {
-#line 1515 "./verilog.g"
+#line 1517 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_LBRACK) ) {
-#line 1515 "./verilog.g"
+#line 1517 "./verilog.g"
     v_range();
   }
   else {
-    if ( (LA(1)==V_SCALARED)
- ) {
-#line 1516 "./verilog.g"
+    if ( (LA(1)==V_SCALARED) ) {
+#line 1518 "./verilog.g"
       zzmatch(V_SCALARED); zzCONSUME;
-#line 1516 "./verilog.g"
+#line 1518 "./verilog.g"
       v_range();
     }
     else {
       if ( (LA(1)==V_VECTORED) ) {
-#line 1517 "./verilog.g"
+#line 1519 "./verilog.g"
         zzmatch(V_VECTORED); zzCONSUME;
-#line 1517 "./verilog.g"
+#line 1519 "./verilog.g"
         v_range();
       }
       else {zzFAIL(1,zzerr42,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
@@ -3316,20 +3328,20 @@ v_reg_declaration(void)
 v_reg_declaration()
 #endif
 {
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   zzmatch(V_REG); zzCONSUME;
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   v_optsigned();
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   v_reg_range();
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   v_list_of_register_variables();
-#line 1520 "./verilog.g"
+#line 1522 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -3347,17 +3359,18 @@ v_reg_range(void)
 v_reg_range()
 #endif
 {
-#line 1523 "./verilog.g"
+#line 1525 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_LBRACK) ) {
-#line 1523 "./verilog.g"
+#line 1525 "./verilog.g"
     v_range();
   }
   else {
-    if ( (setwd11[LA(1)]&0x80) ) {
+    if ( (setwd11[LA(1)]&0x80)
+ ) {
     }
     else {zzFAIL(1,zzerr43,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
@@ -3377,36 +3390,35 @@ v_time_declaration(void)
 v_time_declaration()
 #endif
 {
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   zzmatch(V_TIME); zzCONSUME;
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   v_optsigned();
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_LBRACK) ) {
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
       v_range();
     }
     else {
-      if ( (setwd12[LA(1)]&0x2)
- ) {
+      if ( (setwd12[LA(1)]&0x2) ) {
       }
       else {zzFAIL(1,zzerr44,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   v_list_of_register_variables();
-#line 1527 "./verilog.g"
+#line 1529 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -3424,22 +3436,22 @@ v_integer_declaration(void)
 v_integer_declaration()
 #endif
 {
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   zzmatch(V_INTEGER); zzCONSUME;
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   v_optsigned();
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_LBRACK) ) {
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
       v_range();
     }
     else {
@@ -3450,9 +3462,9 @@ v_integer_declaration()
     zzEXIT(zztasp2);
     }
   }
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   v_list_of_register_variables();
-#line 1530 "./verilog.g"
+#line 1532 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
@@ -3465,47 +3477,94 @@ fail:
 
 void
 #ifdef __USE_PROTOS
+v_genvar_declaration(void)
+#else
+v_genvar_declaration()
+#endif
+{
+#line 1535 "./verilog.g"
+  zzRULE;
+  zzBLOCK(zztasp1);
+  zzMake0;
+  {
+#line 1535 "./verilog.g"
+  zzmatch(V_GENVAR); zzCONSUME;
+#line 1535 "./verilog.g"
+  v_optsigned();
+#line 1535 "./verilog.g"
+  {
+    zzBLOCK(zztasp2);
+    zzMake0;
+    {
+    if ( (LA(1)==V_LBRACK)
+ ) {
+#line 1535 "./verilog.g"
+      v_range();
+    }
+    else {
+      if ( (setwd12[LA(1)]&0x20) ) {
+      }
+      else {zzFAIL(1,zzerr46,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    }
+    zzEXIT(zztasp2);
+    }
+  }
+#line 1535 "./verilog.g"
+  v_list_of_register_variables();
+#line 1535 "./verilog.g"
+  zzmatch(V_SEMI); zzCONSUME;
+  zzEXIT(zztasp1);
+  return;
+fail:
+  zzEXIT(zztasp1);
+  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
+  zzresynch(setwd12, 0x40);
+  }
+}
+
+void
+#ifdef __USE_PROTOS
 v_real_declaration(void)
 #else
 v_real_declaration()
 #endif
 {
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   zzmatch(V_REAL); zzCONSUME;
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   v_optsigned();
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_LBRACK) ) {
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
       v_range();
     }
     else {
-      if ( (setwd12[LA(1)]&0x20) ) {
+      if ( (setwd12[LA(1)]&0x80) ) {
       }
-      else {zzFAIL(1,zzerr46,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr47,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   v_list_of_register_variables();
-#line 1533 "./verilog.g"
+#line 1538 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd12, 0x40);
+  zzresynch(setwd13, 0x1);
   }
 }
 
@@ -3516,39 +3575,38 @@ v_event_declaration(void)
 v_event_declaration()
 #endif
 {
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
   zzmatch(V_EVENT); zzCONSUME;
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
   v_name_of_event();
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA)
- ) {
-#line 1536 "./verilog.g"
+    while ( (LA(1)==V_COMMA) ) {
+#line 1541 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
       v_name_of_event();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1536 "./verilog.g"
+#line 1541 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd12, 0x80);
+  zzresynch(setwd13, 0x2);
   }
 }
 
@@ -3559,70 +3617,66 @@ v_continuous_assign(void)
 v_continuous_assign()
 #endif
 {
-#line 1539 "./verilog.g"
+#line 1544 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_ASSIGN) ) {
-#line 1539 "./verilog.g"
+  if ( (LA(1)==V_ASSIGN)
+ ) {
+#line 1544 "./verilog.g"
     zzmatch(V_ASSIGN); zzCONSUME;
-#line 1539 "./verilog.g"
+#line 1544 "./verilog.g"
     v_cont_drv();
-#line 1539 "./verilog.g"
+#line 1544 "./verilog.g"
     v_cont_dly();
-#line 1539 "./verilog.g"
+#line 1544 "./verilog.g"
     v_list_of_assignments();
-#line 1539 "./verilog.g"
+#line 1544 "./verilog.g"
     zzmatch(V_SEMI); zzCONSUME;
   }
   else {
-    if ( (setwd13[LA(1)]&0x1) ) {
-#line 1540 "./verilog.g"
+    if ( (setwd13[LA(1)]&0x4) ) {
+#line 1545 "./verilog.g"
       v_nettype();
-#line 1541 "./verilog.g"
+#line 1546 "./verilog.g"
       v_optsigned();
-#line 1542 "./verilog.g"
+#line 1547 "./verilog.g"
       v_net_chg();
-#line 1543 "./verilog.g"
+#line 1548 "./verilog.g"
       v_cont_exr();
-#line 1543 "./verilog.g"
+#line 1548 "./verilog.g"
       v_cont_dly();
-#line 1544 "./verilog.g"
+#line 1549 "./verilog.g"
       {
         zzBLOCK(zztasp2);
         zzMake0;
         {
-        if ( (setwd13[LA(1)]&0x2) && (setwd13[LA(2)]&0x4) && !(
- LA(1)==V_IDENTIFIER && LA(2)==V_COMMA
-|| LA(1)==V_IDENTIFIER2 && LA(2)==V_COMMA
-|| LA(1)==V_FUNCTION_NAME && LA(2)==V_COMMA
-|| LA(1)==V_IDENDOT && LA(2)==V_COMMA
-) ) {
-#line 1544 "./verilog.g"
-          v_list_of_assignments();
+        if ( (setwd13[LA(1)]&0x8) && (setwd13[LA(2)]&0x10) ) {
+#line 1549 "./verilog.g"
+          v_list_of_variables();
         }
         else {
-          if ( (setwd13[LA(1)]&0x8) && (setwd13[LA(2)]&0x10) ) {
-#line 1544 "./verilog.g"
-            v_list_of_variables();
+          if ( (setwd13[LA(1)]&0x20) && (setwd13[LA(2)]&0x40) ) {
+#line 1549 "./verilog.g"
+            v_list_of_assignments();
           }
-          else {zzFAIL(2,zzerr47,zzerr48,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(2,zzerr48,zzerr49,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
         zzEXIT(zztasp2);
         }
       }
-#line 1544 "./verilog.g"
+#line 1549 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
-    else {zzFAIL(1,zzerr49,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr50,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd13, 0x20);
+  zzresynch(setwd13, 0x80);
   }
 }
 
@@ -3633,27 +3687,27 @@ v_cont_drv(void)
 v_cont_drv()
 #endif
 {
-#line 1547 "./verilog.g"
+#line 1552 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_LP)
- ) {
-#line 1547 "./verilog.g"
+  if ( (LA(1)==V_LP) ) {
+#line 1552 "./verilog.g"
     v_drive_strength();
   }
   else {
-    if ( (setwd13[LA(1)]&0x40) ) {
+    if ( (setwd14[LA(1)]&0x1)
+ ) {
     }
-    else {zzFAIL(1,zzerr50,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr51,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd13, 0x80);
+  zzresynch(setwd14, 0x2);
   }
 }
 
@@ -3664,26 +3718,26 @@ v_cont_exr(void)
 v_cont_exr()
 #endif
 {
-#line 1551 "./verilog.g"
+#line 1556 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd14[LA(1)]&0x1) ) {
-#line 1551 "./verilog.g"
+  if ( (setwd14[LA(1)]&0x4) ) {
+#line 1556 "./verilog.g"
     v_expandrange();
   }
   else {
-    if ( (setwd14[LA(1)]&0x2) ) {
+    if ( (setwd14[LA(1)]&0x8) ) {
     }
-    else {zzFAIL(1,zzerr51,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr52,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd14, 0x4);
+  zzresynch(setwd14, 0x10);
   }
 }
 
@@ -3694,27 +3748,26 @@ v_cont_dly(void)
 v_cont_dly()
 #endif
 {
-#line 1555 "./verilog.g"
+#line 1560 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_POUND) ) {
-#line 1555 "./verilog.g"
+#line 1560 "./verilog.g"
     v_delay();
   }
   else {
-    if ( (setwd14[LA(1)]&0x8)
- ) {
+    if ( (setwd14[LA(1)]&0x20) ) {
     }
-    else {zzFAIL(1,zzerr52,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr53,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd14, 0x10);
+  zzresynch(setwd14, 0x40);
   }
 }
 
@@ -3725,23 +3778,23 @@ v_parameter_override(void)
 v_parameter_override()
 #endif
 {
-#line 1560 "./verilog.g"
+#line 1565 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1560 "./verilog.g"
+#line 1565 "./verilog.g"
   zzmatch(V_DEFPARAM); zzCONSUME;
-#line 1560 "./verilog.g"
+#line 1565 "./verilog.g"
   v_list_of_param_assignments();
-#line 1560 "./verilog.g"
+#line 1565 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd14, 0x20);
+  zzresynch(setwd14, 0x80);
   }
 }
 
@@ -3752,23 +3805,28 @@ v_list_of_variables(void)
 v_list_of_variables()
 #endif
 {
-#line 1563 "./verilog.g"
+#line 1568 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1563 "./verilog.g"
+#line 1568 "./verilog.g"
   v_name_of_variable();
-#line 1564 "./verilog.g"
+#line 1568 "./verilog.g"
+  v_optrange_list();
+#line 1569 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA) ) {
-#line 1564 "./verilog.g"
+    while ( (LA(1)==V_COMMA)
+ ) {
+#line 1569 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1564 "./verilog.g"
+#line 1569 "./verilog.g"
       v_name_of_variable();
+#line 1569 "./verilog.g"
+      v_optrange_list();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
@@ -3779,59 +3837,97 @@ v_list_of_variables()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd14, 0x40);
+  zzresynch(setwd15, 0x1);
   }
 }
 
 void
 #ifdef __USE_PROTOS
-v_name_of_variable(void)
+v_optrange_list(void)
 #else
-v_name_of_variable()
+v_optrange_list()
 #endif
 {
-#line 1567 "./verilog.g"
+#line 1572 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1567 "./verilog.g"
-  v_identifier();
+#line 1572 "./verilog.g"
+  {
+    zzBLOCK(zztasp2);
+    zzMake0;
+    {
+    if ( (LA(1)==V_LBRACK) ) {
+#line 1572 "./verilog.g"
+      v_range();
+    }
+    else {
+      if ( (setwd15[LA(1)]&0x2) ) {
+      }
+      else {zzFAIL(1,zzerr54,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    }
+    zzEXIT(zztasp2);
+    }
+  }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd14, 0x80);
+  zzresynch(setwd15, 0x4);
   }
 }
 
 void
 #ifdef __USE_PROTOS
-v_list_of_register_variables(void)
+v_name_of_variable(void)
 #else
-v_list_of_register_variables()
+v_name_of_variable()
 #endif
 {
-#line 1570 "./verilog.g"
+#line 1575 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1570 "./verilog.g"
-  v_register_variable();
-#line 1571 "./verilog.g"
-  {
-    zzBLOCK(zztasp2);
-    zzMake0;
-    {
-    while ( (LA(1)==V_COMMA) ) {
-#line 1571 "./verilog.g"
-      zzmatch(V_COMMA); zzCONSUME;
-#line 1571 "./verilog.g"
-      v_register_variable();
-      zzLOOP(zztasp2);
-    }
+#line 1575 "./verilog.g"
+  v_identifier();
+  zzEXIT(zztasp1);
+  return;
+fail:
+  zzEXIT(zztasp1);
+  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
+  zzresynch(setwd15, 0x8);
+  }
+}
+
+void
+#ifdef __USE_PROTOS
+v_list_of_register_variables(void)
+#else
+v_list_of_register_variables()
+#endif
+{
+#line 1578 "./verilog.g"
+  zzRULE;
+  zzBLOCK(zztasp1);
+  zzMake0;
+  {
+#line 1578 "./verilog.g"
+  v_register_variable();
+#line 1579 "./verilog.g"
+  {
+    zzBLOCK(zztasp2);
+    zzMake0;
+    {
+    while ( (LA(1)==V_COMMA) ) {
+#line 1579 "./verilog.g"
+      zzmatch(V_COMMA); zzCONSUME;
+#line 1579 "./verilog.g"
+      v_register_variable();
+      zzLOOP(zztasp2);
+    }
     zzEXIT(zztasp2);
     }
   }
@@ -3840,7 +3936,7 @@ v_list_of_register_variables()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd15, 0x1);
+  zzresynch(setwd15, 0x10);
   }
 }
 
@@ -3851,41 +3947,41 @@ v_register_variable(void)
 v_register_variable()
 #endif
 {
-#line 1574 "./verilog.g"
+#line 1582 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd15[LA(1)]&0x2) && (setwd15[LA(2)]&0x4) ) {
-#line 1574 "./verilog.g"
+  if ( (setwd15[LA(1)]&0x20) && (setwd15[LA(2)]&0x40) ) {
+#line 1582 "./verilog.g"
     v_name_of_register();
   }
   else {
-    if ( (setwd15[LA(1)]&0x8) && (LA(2)==V_EQ) ) {
-#line 1575 "./verilog.g"
+    if ( (setwd15[LA(1)]&0x80) && 
+(LA(2)==V_EQ) ) {
+#line 1583 "./verilog.g"
       v_name_of_register();
-#line 1575 "./verilog.g"
+#line 1583 "./verilog.g"
       zzmatch(V_EQ); zzCONSUME;
-#line 1575 "./verilog.g"
+#line 1583 "./verilog.g"
       v_expression();
     }
     else {
-      if ( (setwd15[LA(1)]&0x10) && 
-(LA(2)==V_LBRACK) ) {
-#line 1576 "./verilog.g"
+      if ( (setwd16[LA(1)]&0x1) && (LA(2)==V_LBRACK) ) {
+#line 1584 "./verilog.g"
         v_name_of_memory();
-#line 1576 "./verilog.g"
+#line 1584 "./verilog.g"
         zzmatch(V_LBRACK); zzCONSUME;
-#line 1576 "./verilog.g"
+#line 1584 "./verilog.g"
         v_expression();
-#line 1576 "./verilog.g"
+#line 1584 "./verilog.g"
         zzmatch(V_COLON); zzCONSUME;
-#line 1577 "./verilog.g"
+#line 1585 "./verilog.g"
         v_expression();
-#line 1577 "./verilog.g"
+#line 1585 "./verilog.g"
         zzmatch(V_RBRACK); zzCONSUME;
       }
-      else {zzFAIL(2,zzerr53,zzerr54,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(2,zzerr55,zzerr56,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
   }
   zzEXIT(zztasp1);
@@ -3893,7 +3989,7 @@ v_register_variable()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd15, 0x20);
+  zzresynch(setwd16, 0x2);
   }
 }
 
@@ -3904,19 +4000,19 @@ v_name_of_register(void)
 v_name_of_register()
 #endif
 {
-#line 1580 "./verilog.g"
+#line 1588 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1580 "./verilog.g"
+#line 1588 "./verilog.g"
   v_identifier();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd15, 0x40);
+  zzresynch(setwd16, 0x4);
   }
 }
 
@@ -3927,19 +4023,19 @@ v_name_of_memory(void)
 v_name_of_memory()
 #endif
 {
-#line 1583 "./verilog.g"
+#line 1591 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1583 "./verilog.g"
+#line 1591 "./verilog.g"
   v_identifier();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd15, 0x80);
+  zzresynch(setwd16, 0x8);
   }
 }
 
@@ -3950,19 +4046,19 @@ v_name_of_event(void)
 v_name_of_event()
 #endif
 {
-#line 1586 "./verilog.g"
+#line 1594 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1586 "./verilog.g"
+#line 1594 "./verilog.g"
   v_identifier();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd16, 0x1);
+  zzresynch(setwd16, 0x10);
   }
 }
 
@@ -3973,52 +4069,52 @@ v_charge_strength(void)
 v_charge_strength()
 #endif
 {
-#line 1589 "./verilog.g"
+#line 1597 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1589 "./verilog.g"
+#line 1597 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1589 "./verilog.g"
+#line 1597 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_SMALL) ) {
-#line 1589 "./verilog.g"
+#line 1597 "./verilog.g"
       zzmatch(V_SMALL); zzCONSUME;
     }
     else {
       if ( (LA(1)==V_MEDIUM) ) {
-#line 1590 "./verilog.g"
+#line 1598 "./verilog.g"
         zzmatch(V_MEDIUM); zzCONSUME;
       }
       else {
         if ( (LA(1)==V_LARGE) ) {
-#line 1591 "./verilog.g"
+#line 1599 "./verilog.g"
           zzmatch(V_LARGE); zzCONSUME;
         }
         else {
-          if ( (setwd16[LA(1)]&0x2) ) {
-#line 1592 "./verilog.g"
+          if ( (setwd16[LA(1)]&0x20)
+ ) {
+#line 1600 "./verilog.g"
             v_strength0();
-#line 1592 "./verilog.g"
+#line 1600 "./verilog.g"
             zzmatch(V_COMMA); zzCONSUME;
-#line 1592 "./verilog.g"
+#line 1600 "./verilog.g"
             v_strength1();
           }
           else {
-            if ( (setwd16[LA(1)]&0x4)
- ) {
-#line 1593 "./verilog.g"
+            if ( (setwd16[LA(1)]&0x40) ) {
+#line 1601 "./verilog.g"
               v_strength1();
-#line 1593 "./verilog.g"
+#line 1601 "./verilog.g"
               zzmatch(V_COMMA); zzCONSUME;
-#line 1593 "./verilog.g"
+#line 1601 "./verilog.g"
               v_strength0();
             }
-            else {zzFAIL(1,zzerr55,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+            else {zzFAIL(1,zzerr57,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
           }
         }
       }
@@ -4026,14 +4122,14 @@ v_charge_strength()
     zzEXIT(zztasp2);
     }
   }
-#line 1593 "./verilog.g"
+#line 1601 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd16, 0x8);
+  zzresynch(setwd16, 0x80);
   }
 }
 
@@ -4044,48 +4140,48 @@ v_drive_strength(void)
 v_drive_strength()
 #endif
 {
-#line 1596 "./verilog.g"
+#line 1604 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1596 "./verilog.g"
+#line 1604 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1596 "./verilog.g"
+#line 1604 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd16[LA(1)]&0x10) ) {
-#line 1596 "./verilog.g"
+    if ( (setwd17[LA(1)]&0x1) ) {
+#line 1604 "./verilog.g"
       v_strength0();
-#line 1596 "./verilog.g"
+#line 1604 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1596 "./verilog.g"
+#line 1604 "./verilog.g"
       v_strength1();
     }
     else {
-      if ( (setwd16[LA(1)]&0x20) ) {
-#line 1597 "./verilog.g"
+      if ( (setwd17[LA(1)]&0x2) ) {
+#line 1605 "./verilog.g"
         v_strength1();
-#line 1597 "./verilog.g"
+#line 1605 "./verilog.g"
         zzmatch(V_COMMA); zzCONSUME;
-#line 1597 "./verilog.g"
+#line 1605 "./verilog.g"
         v_strength0();
       }
-      else {zzFAIL(1,zzerr56,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr58,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1597 "./verilog.g"
+#line 1605 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd16, 0x40);
+  zzresynch(setwd17, 0x4);
   }
 }
 
@@ -4096,37 +4192,37 @@ v_strength0(void)
 v_strength0()
 #endif
 {
-#line 1600 "./verilog.g"
+#line 1608 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_SUPPLY0) ) {
-#line 1600 "./verilog.g"
+#line 1608 "./verilog.g"
     zzmatch(V_SUPPLY0); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_STRONG0) ) {
-#line 1601 "./verilog.g"
+    if ( (LA(1)==V_STRONG0)
+ ) {
+#line 1609 "./verilog.g"
       zzmatch(V_STRONG0); zzCONSUME;
     }
     else {
-      if ( (LA(1)==V_PULL0)
- ) {
-#line 1602 "./verilog.g"
+      if ( (LA(1)==V_PULL0) ) {
+#line 1610 "./verilog.g"
         zzmatch(V_PULL0); zzCONSUME;
       }
       else {
         if ( (LA(1)==V_WEAK0) ) {
-#line 1603 "./verilog.g"
+#line 1611 "./verilog.g"
           zzmatch(V_WEAK0); zzCONSUME;
         }
         else {
           if ( (LA(1)==V_HIGHZ0) ) {
-#line 1604 "./verilog.g"
+#line 1612 "./verilog.g"
             zzmatch(V_HIGHZ0); zzCONSUME;
           }
-          else {zzFAIL(1,zzerr57,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr59,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
       }
     }
@@ -4136,7 +4232,7 @@ v_strength0()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd16, 0x80);
+  zzresynch(setwd17, 0x8);
   }
 }
 
@@ -4147,37 +4243,37 @@ v_strength1(void)
 v_strength1()
 #endif
 {
-#line 1607 "./verilog.g"
+#line 1615 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_SUPPLY1) ) {
-#line 1607 "./verilog.g"
+#line 1615 "./verilog.g"
     zzmatch(V_SUPPLY1); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_STRONG1) ) {
-#line 1608 "./verilog.g"
+    if ( (LA(1)==V_STRONG1)
+ ) {
+#line 1616 "./verilog.g"
       zzmatch(V_STRONG1); zzCONSUME;
     }
     else {
-      if ( (LA(1)==V_PULL1)
- ) {
-#line 1609 "./verilog.g"
+      if ( (LA(1)==V_PULL1) ) {
+#line 1617 "./verilog.g"
         zzmatch(V_PULL1); zzCONSUME;
       }
       else {
         if ( (LA(1)==V_WEAK1) ) {
-#line 1610 "./verilog.g"
+#line 1618 "./verilog.g"
           zzmatch(V_WEAK1); zzCONSUME;
         }
         else {
           if ( (LA(1)==V_HIGHZ1) ) {
-#line 1611 "./verilog.g"
+#line 1619 "./verilog.g"
             zzmatch(V_HIGHZ1); zzCONSUME;
           }
-          else {zzFAIL(1,zzerr58,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr60,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
       }
     }
@@ -4187,7 +4283,7 @@ v_strength1()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x1);
+  zzresynch(setwd17, 0x10);
   }
 }
 
@@ -4198,26 +4294,27 @@ v_optsigned(void)
 v_optsigned()
 #endif
 {
-#line 1615 "./verilog.g"
+#line 1623 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_SIGNED) ) {
-#line 1615 "./verilog.g"
+#line 1623 "./verilog.g"
     zzmatch(V_SIGNED); zzCONSUME;
   }
   else {
-    if ( (setwd17[LA(1)]&0x2) ) {
+    if ( (setwd17[LA(1)]&0x20)
+ ) {
     }
-    else {zzFAIL(1,zzerr59,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr61,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x4);
+  zzresynch(setwd17, 0x40);
   }
 }
 
@@ -4228,27 +4325,27 @@ v_range(void)
 v_range()
 #endif
 {
-#line 1619 "./verilog.g"
+#line 1627 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1619 "./verilog.g"
+#line 1627 "./verilog.g"
   zzmatch(V_LBRACK); zzCONSUME;
-#line 1619 "./verilog.g"
+#line 1627 "./verilog.g"
   v_expression();
-#line 1620 "./verilog.g"
+#line 1628 "./verilog.g"
   zzmatch(V_COLON); zzCONSUME;
-#line 1620 "./verilog.g"
+#line 1628 "./verilog.g"
   v_expression();
-#line 1620 "./verilog.g"
+#line 1628 "./verilog.g"
   zzmatch(V_RBRACK); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x8);
+  zzresynch(setwd17, 0x80);
   }
 }
 
@@ -4259,23 +4356,22 @@ v_list_of_assignments(void)
 v_list_of_assignments()
 #endif
 {
-#line 1623 "./verilog.g"
+#line 1631 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1623 "./verilog.g"
+#line 1631 "./verilog.g"
   v_assignment();
-#line 1623 "./verilog.g"
+#line 1631 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA)
- ) {
-#line 1623 "./verilog.g"
+    while ( (LA(1)==V_COMMA) ) {
+#line 1631 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1623 "./verilog.g"
+#line 1631 "./verilog.g"
       v_assignment();
       zzLOOP(zztasp2);
     }
@@ -4287,7 +4383,7 @@ v_list_of_assignments()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x10);
+  zzresynch(setwd18, 0x1);
   }
 }
 
@@ -4298,42 +4394,42 @@ v_gate_declaration(void)
 v_gate_declaration()
 #endif
 {
-#line 1631 "./verilog.g"
+#line 1639 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1631 "./verilog.g"
+#line 1639 "./verilog.g"
   v_gatetype();
-#line 1631 "./verilog.g"
+#line 1639 "./verilog.g"
   v_gate_drv();
-#line 1631 "./verilog.g"
+#line 1639 "./verilog.g"
   v_gate_dly();
-#line 1631 "./verilog.g"
+#line 1639 "./verilog.g"
   v_gate_instance();
-#line 1632 "./verilog.g"
+#line 1640 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (LA(1)==V_COMMA) ) {
-#line 1632 "./verilog.g"
+#line 1640 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1632 "./verilog.g"
+#line 1640 "./verilog.g"
       v_gate_instance();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1632 "./verilog.g"
+#line 1640 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x20);
+  zzresynch(setwd18, 0x2);
   }
 }
 
@@ -4344,146 +4440,146 @@ v_gatetype(void)
 v_gatetype()
 #endif
 {
-#line 1634 "./verilog.g"
+#line 1642 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_ANDLIT) ) {
-#line 1635 "./verilog.g"
+#line 1643 "./verilog.g"
     zzmatch(V_ANDLIT); zzCONSUME;
   }
   else {
     if ( (LA(1)==V_NANDLIT) ) {
-#line 1635 "./verilog.g"
+#line 1643 "./verilog.g"
       zzmatch(V_NANDLIT); zzCONSUME;
     }
     else {
-      if ( (LA(1)==V_ORLIT) ) {
-#line 1635 "./verilog.g"
+      if ( (LA(1)==V_ORLIT)
+ ) {
+#line 1643 "./verilog.g"
         zzmatch(V_ORLIT); zzCONSUME;
       }
       else {
-        if ( (LA(1)==V_NORLIT)
- ) {
-#line 1635 "./verilog.g"
+        if ( (LA(1)==V_NORLIT) ) {
+#line 1643 "./verilog.g"
           zzmatch(V_NORLIT); zzCONSUME;
         }
         else {
           if ( (LA(1)==V_XORLIT) ) {
-#line 1635 "./verilog.g"
+#line 1643 "./verilog.g"
             zzmatch(V_XORLIT); zzCONSUME;
           }
           else {
             if ( (LA(1)==V_XNORLIT) ) {
-#line 1635 "./verilog.g"
+#line 1643 "./verilog.g"
               zzmatch(V_XNORLIT); zzCONSUME;
             }
             else {
               if ( (LA(1)==V_BUF) ) {
-#line 1636 "./verilog.g"
+#line 1644 "./verilog.g"
                 zzmatch(V_BUF); zzCONSUME;
               }
               else {
-                if ( (LA(1)==V_BUFIF0) ) {
-#line 1636 "./verilog.g"
+                if ( (LA(1)==V_BUFIF0)
+ ) {
+#line 1644 "./verilog.g"
                   zzmatch(V_BUFIF0); zzCONSUME;
                 }
                 else {
-                  if ( (LA(1)==V_BUFIF1)
- ) {
-#line 1636 "./verilog.g"
+                  if ( (LA(1)==V_BUFIF1) ) {
+#line 1644 "./verilog.g"
                     zzmatch(V_BUFIF1); zzCONSUME;
                   }
                   else {
                     if ( (LA(1)==V_NOTLIT) ) {
-#line 1636 "./verilog.g"
+#line 1644 "./verilog.g"
                       zzmatch(V_NOTLIT); zzCONSUME;
                     }
                     else {
                       if ( (LA(1)==V_NOTIF0) ) {
-#line 1636 "./verilog.g"
+#line 1644 "./verilog.g"
                         zzmatch(V_NOTIF0); zzCONSUME;
                       }
                       else {
                         if ( (LA(1)==V_NOTIF1) ) {
-#line 1636 "./verilog.g"
+#line 1644 "./verilog.g"
                           zzmatch(V_NOTIF1); zzCONSUME;
                         }
                         else {
-                          if ( (LA(1)==V_PULLDOWN) ) {
-#line 1636 "./verilog.g"
+                          if ( (LA(1)==V_PULLDOWN)
+ ) {
+#line 1644 "./verilog.g"
                             zzmatch(V_PULLDOWN); zzCONSUME;
                           }
                           else {
-                            if ( (LA(1)==V_PULLUP)
- ) {
-#line 1636 "./verilog.g"
+                            if ( (LA(1)==V_PULLUP) ) {
+#line 1644 "./verilog.g"
                               zzmatch(V_PULLUP); zzCONSUME;
                             }
                             else {
                               if ( (LA(1)==V_NMOS) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                 zzmatch(V_NMOS); zzCONSUME;
                               }
                               else {
                                 if ( (LA(1)==V_RNMOS) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                   zzmatch(V_RNMOS); zzCONSUME;
                                 }
                                 else {
                                   if ( (LA(1)==V_PMOS) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                     zzmatch(V_PMOS); zzCONSUME;
                                   }
                                   else {
-                                    if ( (LA(1)==V_RPMOS) ) {
-#line 1637 "./verilog.g"
+                                    if ( (LA(1)==V_RPMOS)
+ ) {
+#line 1645 "./verilog.g"
                                       zzmatch(V_RPMOS); zzCONSUME;
                                     }
                                     else {
-                                      if ( (LA(1)==V_CMOS)
- ) {
-#line 1637 "./verilog.g"
+                                      if ( (LA(1)==V_CMOS) ) {
+#line 1645 "./verilog.g"
                                         zzmatch(V_CMOS); zzCONSUME;
                                       }
                                       else {
                                         if ( (LA(1)==V_RCMOS) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                           zzmatch(V_RCMOS); zzCONSUME;
                                         }
                                         else {
                                           if ( (LA(1)==V_TRAN) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                             zzmatch(V_TRAN); zzCONSUME;
                                           }
                                           else {
                                             if ( (LA(1)==V_RTRAN) ) {
-#line 1637 "./verilog.g"
+#line 1645 "./verilog.g"
                                               zzmatch(V_RTRAN); zzCONSUME;
                                             }
                                             else {
-                                              if ( (LA(1)==V_TRANIF0) ) {
-#line 1638 "./verilog.g"
+                                              if ( (LA(1)==V_TRANIF0)
+ ) {
+#line 1646 "./verilog.g"
                                                 zzmatch(V_TRANIF0); zzCONSUME;
                                               }
                                               else {
-                                                if ( (LA(1)==V_RTRANIF0)
- ) {
-#line 1638 "./verilog.g"
+                                                if ( (LA(1)==V_RTRANIF0) ) {
+#line 1646 "./verilog.g"
                                                   zzmatch(V_RTRANIF0); zzCONSUME;
                                                 }
                                                 else {
                                                   if ( (LA(1)==V_TRANIF1) ) {
-#line 1638 "./verilog.g"
+#line 1646 "./verilog.g"
                                                     zzmatch(V_TRANIF1); zzCONSUME;
                                                   }
                                                   else {
                                                     if ( (LA(1)==V_RTRANIF1) ) {
-#line 1638 "./verilog.g"
+#line 1646 "./verilog.g"
                                                       zzmatch(V_RTRANIF1); zzCONSUME;
                                                     }
-                                                    else {zzFAIL(1,zzerr60,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+                                                    else {zzFAIL(1,zzerr62,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
                                                   }
                                                 }
                                               }
@@ -4514,7 +4610,7 @@ v_gatetype()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd17, 0x40);
+  zzresynch(setwd18, 0x4);
   }
 }
 
@@ -4525,26 +4621,27 @@ v_gate_drv(void)
 v_gate_drv()
 #endif
 {
-#line 1641 "./verilog.g"
+#line 1649 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_LP) && (setwd17[LA(2)]&0x80) ) {
-#line 1641 "./verilog.g"
+  if ( (LA(1)==V_LP) && (setwd18[LA(2)]&0x8) ) {
+#line 1649 "./verilog.g"
     v_drive_strength();
   }
   else {
-    if ( (setwd18[LA(1)]&0x1) && (setwd18[LA(2)]&0x2) ) {
+    if ( (setwd18[LA(1)]&0x10) && 
+(setwd18[LA(2)]&0x20) ) {
     }
-    else {zzFAIL(2,zzerr61,zzerr62,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(2,zzerr63,zzerr64,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd18, 0x4);
+  zzresynch(setwd18, 0x40);
   }
 }
 
@@ -4555,27 +4652,26 @@ v_gate_dly(void)
 v_gate_dly()
 #endif
 {
-#line 1645 "./verilog.g"
+#line 1653 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_POUND)
- ) {
-#line 1645 "./verilog.g"
+  if ( (LA(1)==V_POUND) ) {
+#line 1653 "./verilog.g"
     v_delay();
   }
   else {
-    if ( (setwd18[LA(1)]&0x8) ) {
+    if ( (setwd18[LA(1)]&0x80) ) {
     }
-    else {zzFAIL(1,zzerr63,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr65,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd18, 0x10);
+  zzresynch(setwd19, 0x1);
   }
 }
 
@@ -4586,26 +4682,26 @@ v_gate_range(void)
 v_gate_range()
 #endif
 {
-#line 1649 "./verilog.g"
+#line 1657 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_LBRACK) ) {
-#line 1649 "./verilog.g"
+#line 1657 "./verilog.g"
     v_range();
   }
   else {
     if ( (LA(1)==V_LP) ) {
     }
-    else {zzFAIL(1,zzerr64,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr66,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd18, 0x20);
+  zzresynch(setwd19, 0x2);
   }
 }
 
@@ -4616,40 +4712,41 @@ v_gate_instance(void)
 v_gate_instance()
 #endif
 {
-#line 1654 "./verilog.g"
+#line 1662 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1654 "./verilog.g"
+#line 1662 "./verilog.g"
   v_name_of_gate_instance();
-#line 1654 "./verilog.g"
+#line 1662 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1654 "./verilog.g"
+#line 1662 "./verilog.g"
   v_terminal();
-#line 1655 "./verilog.g"
+#line 1663 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA) ) {
-#line 1655 "./verilog.g"
+    while ( (LA(1)==V_COMMA)
+ ) {
+#line 1663 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1655 "./verilog.g"
+#line 1663 "./verilog.g"
       v_terminal();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1655 "./verilog.g"
+#line 1663 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd18, 0x40);
+  zzresynch(setwd19, 0x4);
   }
 }
 
@@ -4660,29 +4757,28 @@ v_name_of_gate_instance(void)
 v_name_of_gate_instance()
 #endif
 {
-#line 1658 "./verilog.g"
+#line 1666 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd18[LA(1)]&0x80)
- ) {
-#line 1658 "./verilog.g"
+  if ( (setwd19[LA(1)]&0x8) ) {
+#line 1666 "./verilog.g"
     v_identifier_nodot();
-#line 1658 "./verilog.g"
+#line 1666 "./verilog.g"
     v_gate_range();
   }
   else {
     if ( (LA(1)==V_LP) ) {
     }
-    else {zzFAIL(1,zzerr65,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr67,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd19, 0x1);
+  zzresynch(setwd19, 0x10);
   }
 }
 
@@ -4693,26 +4789,26 @@ v_terminal(void)
 v_terminal()
 #endif
 {
-#line 1662 "./verilog.g"
+#line 1670 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd19[LA(1)]&0x2) ) {
-#line 1662 "./verilog.g"
+  if ( (setwd19[LA(1)]&0x20) ) {
+#line 1670 "./verilog.g"
     v_expression();
   }
   else {
-    if ( (setwd19[LA(1)]&0x4) ) {
+    if ( (setwd19[LA(1)]&0x40) ) {
     }
-    else {zzFAIL(1,zzerr66,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr68,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd19, 0x8);
+  zzresynch(setwd19, 0x80);
   }
 }
 
@@ -4723,42 +4819,43 @@ v_udp_instantiation(void)
 v_udp_instantiation()
 #endif
 {
-#line 1666 "./verilog.g"
+#line 1674 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1666 "./verilog.g"
+#line 1674 "./verilog.g"
   v_name_of_udp();
-#line 1666 "./verilog.g"
+#line 1674 "./verilog.g"
   v_gate_drv();
-#line 1666 "./verilog.g"
+#line 1674 "./verilog.g"
   v_gate_dly();
-#line 1666 "./verilog.g"
+#line 1674 "./verilog.g"
   v_udp_instance();
-#line 1667 "./verilog.g"
+#line 1675 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA) ) {
-#line 1667 "./verilog.g"
+    while ( (LA(1)==V_COMMA)
+ ) {
+#line 1675 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1667 "./verilog.g"
+#line 1675 "./verilog.g"
       v_udp_instance();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1667 "./verilog.g"
+#line 1675 "./verilog.g"
   zzmatch(V_SEMI); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd19, 0x10);
+  zzresynch(setwd20, 0x1);
   }
 }
 
@@ -4769,21 +4866,21 @@ v_name_of_udp(void)
 v_name_of_udp()
 #endif
 {
-#line 1670 "./verilog.g"
+#line 1678 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1670 "./verilog.g"
+#line 1678 "./verilog.g"
   v_identifier_nodot();
-#line 1671 "./verilog.g"
+#line 1679 "./verilog.g"
   zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd19, 0x20);
+  zzresynch(setwd20, 0x2);
   }
 }
 
@@ -4794,41 +4891,40 @@ v_udp_instance(void)
 v_udp_instance()
 #endif
 {
-#line 1674 "./verilog.g"
+#line 1682 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1674 "./verilog.g"
+#line 1682 "./verilog.g"
   v_name_of_udp_instance();
-#line 1674 "./verilog.g"
+#line 1682 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1674 "./verilog.g"
+#line 1682 "./verilog.g"
   v_terminal();
-#line 1675 "./verilog.g"
+#line 1683 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (LA(1)==V_COMMA)
- ) {
-#line 1675 "./verilog.g"
+    while ( (LA(1)==V_COMMA) ) {
+#line 1683 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1675 "./verilog.g"
+#line 1683 "./verilog.g"
       v_terminal();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1675 "./verilog.g"
+#line 1683 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd19, 0x40);
+  zzresynch(setwd20, 0x4);
   }
 }
 
@@ -4839,28 +4935,28 @@ v_name_of_udp_instance(void)
 v_name_of_udp_instance()
 #endif
 {
-#line 1678 "./verilog.g"
+#line 1686 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd19[LA(1)]&0x80) ) {
-#line 1678 "./verilog.g"
+  if ( (setwd20[LA(1)]&0x8) ) {
+#line 1686 "./verilog.g"
     v_identifier_nodot();
-#line 1678 "./verilog.g"
+#line 1686 "./verilog.g"
     v_gate_range();
   }
   else {
     if ( (LA(1)==V_LP) ) {
     }
-    else {zzFAIL(1,zzerr67,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr69,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd20, 0x1);
+  zzresynch(setwd20, 0x10);
   }
 }
 
@@ -4871,14 +4967,14 @@ v_module_instantiation(void)
 v_module_instantiation()
 #endif
 {
-#line 1686 "./verilog.g"
+#line 1694 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1686 "./verilog.g"
+#line 1694 "./verilog.g"
   v_name_of_module();
-#line 1687 "./verilog.g"
+#line 1695 "./verilog.g"
   
   if(!module_is_duplicate)
   {
@@ -4889,28 +4985,28 @@ v_module_instantiation()
     }
     comp_type_name = strdup(zzaArg(zztasp1,1 ).symbol->name);
   } /* to keep transitive closure from looking for nonexistant modules if duplicate modules differ! */
-#line 1698 "./verilog.g"
+#line 1706 "./verilog.g"
   v_parameter_value_assignment();
-#line 1699 "./verilog.g"
+#line 1707 "./verilog.g"
   v_module_instance();
-#line 1700 "./verilog.g"
+#line 1708 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (LA(1)==V_COMMA) ) {
-#line 1700 "./verilog.g"
+#line 1708 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 1700 "./verilog.g"
+#line 1708 "./verilog.g"
       v_module_instance();
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1700 "./verilog.g"
+#line 1708 "./verilog.g"
   zzmatch(V_SEMI);
-#line 1701 "./verilog.g"
+#line 1709 "./verilog.g"
   
   if(comp_type_name)
   {
@@ -4924,7 +5020,7 @@ v_module_instantiation()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd20, 0x2);
+  zzresynch(setwd20, 0x20);
   }
 }
 
@@ -4935,21 +5031,21 @@ v_name_of_module(void)
 v_name_of_module()
 #endif
 {
-#line 1710 "./verilog.g"
+#line 1718 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1710 "./verilog.g"
+#line 1718 "./verilog.g"
   v_identifier_nodot();
-#line 1710 "./verilog.g"
+#line 1718 "./verilog.g"
   zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd20, 0x4);
+  zzresynch(setwd20, 0x40);
   }
 }
 
@@ -4960,33 +5056,33 @@ v_parameter_value_assignment(void)
 v_parameter_value_assignment()
 #endif
 {
-#line 1713 "./verilog.g"
+#line 1721 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_POUND) && (LA(2)==V_LP) ) {
-#line 1714 "./verilog.g"
+  if ( (LA(1)==V_POUND) && 
+(LA(2)==V_LP) ) {
+#line 1722 "./verilog.g"
     zzmatch(V_POUND); zzCONSUME;
-#line 1714 "./verilog.g"
+#line 1722 "./verilog.g"
     zzmatch(V_LP); zzCONSUME;
-#line 1714 "./verilog.g"
+#line 1722 "./verilog.g"
     v_mexplist();
-#line 1714 "./verilog.g"
+#line 1722 "./verilog.g"
     zzmatch(V_RP); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_POUND) && 
-(setwd20[LA(2)]&0x8) ) {
-#line 1715 "./verilog.g"
+    if ( (LA(1)==V_POUND) && (setwd20[LA(2)]&0x80) ) {
+#line 1723 "./verilog.g"
       zzmatch(V_POUND); zzCONSUME;
-#line 1715 "./verilog.g"
+#line 1723 "./verilog.g"
       v_number();
     }
     else {
-      if ( (setwd20[LA(1)]&0x10) ) {
+      if ( (setwd21[LA(1)]&0x1) ) {
       }
-      else {zzFAIL(2,zzerr68,zzerr69,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(2,zzerr70,zzerr71,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
   }
   zzEXIT(zztasp1);
@@ -4994,7 +5090,7 @@ v_parameter_value_assignment()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd20, 0x20);
+  zzresynch(setwd21, 0x2);
   }
 }
 
@@ -5005,25 +5101,25 @@ v_module_instance(void)
 v_module_instance()
 #endif
 {
-#line 1719 "./verilog.g"
+#line 1727 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1719 "./verilog.g"
+#line 1727 "./verilog.g"
   v_name_of_instance_opt();
-#line 1719 "./verilog.g"
+#line 1727 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1719 "./verilog.g"
+#line 1727 "./verilog.g"
   v_list_of_module_connections();
-#line 1719 "./verilog.g"
+#line 1727 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd20, 0x40);
+  zzresynch(setwd21, 0x4);
   }
 }
 
@@ -5034,26 +5130,26 @@ v_name_of_instance_opt(void)
 v_name_of_instance_opt()
 #endif
 {
-#line 1723 "./verilog.g"
+#line 1731 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd20[LA(1)]&0x80) ) {
-#line 1723 "./verilog.g"
+  if ( (setwd21[LA(1)]&0x8) ) {
+#line 1731 "./verilog.g"
     v_name_of_instance();
   }
   else {
     if ( (LA(1)==V_LP) ) {
     }
-    else {zzFAIL(1,zzerr70,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr72,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd21, 0x1);
+  zzresynch(setwd21, 0x10);
   }
 }
 
@@ -5064,16 +5160,16 @@ v_name_of_instance(void)
 v_name_of_instance()
 #endif
 {
-#line 1727 "./verilog.g"
+#line 1735 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1727 "./verilog.g"
+#line 1735 "./verilog.g"
   v_identifier_nodot();
-#line 1727 "./verilog.g"
+#line 1735 "./verilog.g"
   v_mod_range();
-#line 1728 "./verilog.g"
+#line 1736 "./verilog.g"
   
   if(!module_is_duplicate)
   {
@@ -5087,7 +5183,7 @@ v_name_of_instance()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd21, 0x2);
+  zzresynch(setwd21, 0x20);
   }
 }
 
@@ -5098,27 +5194,27 @@ v_mod_range(void)
 v_mod_range()
 #endif
 {
-#line 1739 "./verilog.g"
+#line 1747 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_LBRACK) ) {
-#line 1739 "./verilog.g"
+  if ( (LA(1)==V_LBRACK)
+ ) {
+#line 1747 "./verilog.g"
     v_range();
   }
   else {
-    if ( (LA(1)==V_LP)
- ) {
+    if ( (LA(1)==V_LP) ) {
     }
-    else {zzFAIL(1,zzerr71,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr73,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd21, 0x4);
+  zzresynch(setwd21, 0x40);
   }
 }
 
@@ -5129,23 +5225,23 @@ v_list_of_module_connections(void)
 v_list_of_module_connections()
 #endif
 {
-#line 1743 "./verilog.g"
+#line 1751 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd21[LA(1)]&0x8) ) {
-#line 1743 "./verilog.g"
+  if ( (setwd21[LA(1)]&0x80) ) {
+#line 1751 "./verilog.g"
     v_module_port_connection();
-#line 1743 "./verilog.g"
+#line 1751 "./verilog.g"
     {
       zzBLOCK(zztasp2);
       zzMake0;
       {
       while ( (LA(1)==V_COMMA) ) {
-#line 1743 "./verilog.g"
+#line 1751 "./verilog.g"
         zzmatch(V_COMMA); zzCONSUME;
-#line 1743 "./verilog.g"
+#line 1751 "./verilog.g"
         v_module_port_connection();
         zzLOOP(zztasp2);
       }
@@ -5155,17 +5251,18 @@ v_list_of_module_connections()
   }
   else {
     if ( (LA(1)==V_DOT) ) {
-#line 1744 "./verilog.g"
+#line 1752 "./verilog.g"
       v_named_port_connection();
-#line 1744 "./verilog.g"
+#line 1752 "./verilog.g"
       {
         zzBLOCK(zztasp2);
         zzMake0;
         {
-        while ( (LA(1)==V_COMMA) ) {
-#line 1744 "./verilog.g"
+        while ( (LA(1)==V_COMMA)
+ ) {
+#line 1752 "./verilog.g"
           zzmatch(V_COMMA); zzCONSUME;
-#line 1744 "./verilog.g"
+#line 1752 "./verilog.g"
           v_named_port_connection();
           zzLOOP(zztasp2);
         }
@@ -5173,14 +5270,14 @@ v_list_of_module_connections()
         }
       }
     }
-    else {zzFAIL(1,zzerr72,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr74,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd21, 0x10);
+  zzresynch(setwd22, 0x1);
   }
 }
 
@@ -5191,27 +5288,26 @@ v_module_port_connection(void)
 v_module_port_connection()
 #endif
 {
-#line 1747 "./verilog.g"
+#line 1755 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd21[LA(1)]&0x20)
- ) {
-#line 1747 "./verilog.g"
+  if ( (setwd22[LA(1)]&0x2) ) {
+#line 1755 "./verilog.g"
     v_expression();
   }
   else {
-    if ( (setwd21[LA(1)]&0x40) ) {
+    if ( (setwd22[LA(1)]&0x4) ) {
     }
-    else {zzFAIL(1,zzerr73,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr75,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd21, 0x80);
+  zzresynch(setwd22, 0x8);
   }
 }
 
@@ -5222,42 +5318,42 @@ v_named_port_connection(void)
 v_named_port_connection()
 #endif
 {
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   zzmatch(V_DOT); zzCONSUME;
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   v_identifier_nodot();
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd22[LA(1)]&0x1) ) {
-#line 1751 "./verilog.g"
+    if ( (setwd22[LA(1)]&0x10) ) {
+#line 1759 "./verilog.g"
       v_expression();
     }
     else {
       if ( (LA(1)==V_RP) ) {
       }
-      else {zzFAIL(1,zzerr74,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr76,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1751 "./verilog.g"
+#line 1759 "./verilog.g"
   zzmatch(V_RP); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd22, 0x2);
+  zzresynch(setwd22, 0x20);
   }
 }
 
@@ -5268,21 +5364,21 @@ v_initial_statement(void)
 v_initial_statement()
 #endif
 {
-#line 1759 "./verilog.g"
+#line 1767 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1759 "./verilog.g"
+#line 1767 "./verilog.g"
   zzmatch(V_INITIAL); zzCONSUME;
-#line 1759 "./verilog.g"
+#line 1767 "./verilog.g"
   v_statement();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd22, 0x4);
+  zzresynch(setwd22, 0x40);
   }
 }
 
@@ -5293,21 +5389,21 @@ v_always_statement(void)
 v_always_statement()
 #endif
 {
-#line 1762 "./verilog.g"
+#line 1770 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1762 "./verilog.g"
+#line 1770 "./verilog.g"
   zzmatch(V_ALWAYS); zzCONSUME;
-#line 1762 "./verilog.g"
+#line 1770 "./verilog.g"
   v_statement();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd22, 0x8);
+  zzresynch(setwd22, 0x80);
   }
 }
 
@@ -5318,29 +5414,29 @@ v_statement_or_null(void)
 v_statement_or_null()
 #endif
 {
-#line 1765 "./verilog.g"
+#line 1773 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd22[LA(1)]&0x10) ) {
-#line 1765 "./verilog.g"
+  if ( (setwd23[LA(1)]&0x1)
+ ) {
+#line 1773 "./verilog.g"
     v_statement();
   }
   else {
-    if ( (LA(1)==V_SEMI)
- ) {
-#line 1766 "./verilog.g"
+    if ( (LA(1)==V_SEMI) ) {
+#line 1774 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
-    else {zzFAIL(1,zzerr75,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr77,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd22, 0x20);
+  zzresynch(setwd23, 0x2);
   }
 }
 
@@ -5351,292 +5447,292 @@ v_statement(void)
 v_statement()
 #endif
 {
-#line 1769 "./verilog.g"
+#line 1777 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd22[LA(1)]&0x40) && (setwd22[LA(2)]&0x80) && !(
+  if ( (setwd23[LA(1)]&0x4) && (setwd23[LA(2)]&0x8) && !(
  LA(1)==V_IDENTIFIER && LA(2)==V_LP
 || LA(1)==V_IDENTIFIER2 && LA(2)==V_LP
 || LA(1)==V_FUNCTION_NAME && LA(2)==V_LP
 || LA(1)==V_IDENDOT && LA(2)==V_LP
 ) ) {
-#line 1769 "./verilog.g"
+#line 1777 "./verilog.g"
     v_block_or_non_assignment();
-#line 1769 "./verilog.g"
+#line 1777 "./verilog.g"
     zzmatch(V_SEMI); zzCONSUME;
   }
   else {
     if ( (LA(1)==V_IF) ) {
-#line 1770 "./verilog.g"
+#line 1778 "./verilog.g"
       zzmatch(V_IF); zzCONSUME;
-#line 1770 "./verilog.g"
+#line 1778 "./verilog.g"
       zzmatch(V_LP); zzCONSUME;
-#line 1770 "./verilog.g"
+#line 1778 "./verilog.g"
       v_expression();
-#line 1770 "./verilog.g"
+#line 1778 "./verilog.g"
       zzmatch(V_RP); zzCONSUME;
-#line 1770 "./verilog.g"
+#line 1778 "./verilog.g"
       v_statement_or_null();
-#line 1771 "./verilog.g"
+#line 1779 "./verilog.g"
       {
         zzBLOCK(zztasp2);
         zzMake0;
         {
-        if ( (LA(1)==V_ELSE) && (setwd23[LA(2)]&0x1) ) {
-#line 1771 "./verilog.g"
+        if ( (LA(1)==V_ELSE) && (setwd23[LA(2)]&0x10) ) {
+#line 1779 "./verilog.g"
           zzmatch(V_ELSE); zzCONSUME;
-#line 1771 "./verilog.g"
+#line 1779 "./verilog.g"
           v_statement_or_null();
         }
         else {
-          if ( (setwd23[LA(1)]&0x2) && (setwd23[LA(2)]&0x4) ) {
+          if ( (setwd23[LA(1)]&0x20) && 
+(setwd23[LA(2)]&0x40) ) {
           }
-          else {zzFAIL(2,zzerr76,zzerr77,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(2,zzerr78,zzerr79,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
         zzEXIT(zztasp2);
         }
       }
     }
     else {
-      if ( (LA(1)==V_CASE)
- ) {
-#line 1772 "./verilog.g"
+      if ( (LA(1)==V_CASE) ) {
+#line 1780 "./verilog.g"
         zzmatch(V_CASE); zzCONSUME;
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
         zzmatch(V_LP); zzCONSUME;
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
         v_expression();
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
         zzmatch(V_RP); zzCONSUME;
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
         {
           zzBLOCK(zztasp2);
           int zzcnt=1;
           zzMake0;
           {
           do {
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
             v_case_item();
             zzLOOP(zztasp2);
-          } while ( (setwd23[LA(1)]&0x8) );
+          } while ( (setwd23[LA(1)]&0x80) );
           zzEXIT(zztasp2);
           }
         }
-#line 1772 "./verilog.g"
+#line 1780 "./verilog.g"
         zzmatch(V_ENDCASE); zzCONSUME;
       }
       else {
         if ( (LA(1)==V_CASEX) ) {
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           zzmatch(V_CASEX); zzCONSUME;
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           zzmatch(V_LP); zzCONSUME;
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           v_expression();
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           zzmatch(V_RP); zzCONSUME;
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           {
             zzBLOCK(zztasp2);
             int zzcnt=1;
             zzMake0;
             {
             do {
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
               v_case_item();
               zzLOOP(zztasp2);
-            } while ( (setwd23[LA(1)]&0x10) );
+            } while ( (setwd24[LA(1)]&0x1) );
             zzEXIT(zztasp2);
             }
           }
-#line 1773 "./verilog.g"
+#line 1781 "./verilog.g"
           zzmatch(V_ENDCASE); zzCONSUME;
         }
         else {
-          if ( (LA(1)==V_CASEZ) ) {
-#line 1774 "./verilog.g"
+          if ( (LA(1)==V_CASEZ)
+ ) {
+#line 1782 "./verilog.g"
             zzmatch(V_CASEZ); zzCONSUME;
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
             zzmatch(V_LP); zzCONSUME;
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
             v_expression();
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
             zzmatch(V_RP); zzCONSUME;
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
             {
               zzBLOCK(zztasp2);
               int zzcnt=1;
               zzMake0;
               {
               do {
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
                 v_case_item();
                 zzLOOP(zztasp2);
-              } while ( (setwd23[LA(1)]&0x20)
- );
+              } while ( (setwd24[LA(1)]&0x2) );
               zzEXIT(zztasp2);
               }
             }
-#line 1774 "./verilog.g"
+#line 1782 "./verilog.g"
             zzmatch(V_ENDCASE); zzCONSUME;
           }
           else {
             if ( (LA(1)==V_FOREVER) ) {
-#line 1775 "./verilog.g"
+#line 1783 "./verilog.g"
               zzmatch(V_FOREVER); zzCONSUME;
-#line 1775 "./verilog.g"
+#line 1783 "./verilog.g"
               v_statement();
             }
             else {
               if ( (LA(1)==V_REPEAT) ) {
-#line 1776 "./verilog.g"
+#line 1784 "./verilog.g"
                 zzmatch(V_REPEAT); zzCONSUME;
-#line 1776 "./verilog.g"
+#line 1784 "./verilog.g"
                 zzmatch(V_LP); zzCONSUME;
-#line 1776 "./verilog.g"
+#line 1784 "./verilog.g"
                 v_expression();
-#line 1776 "./verilog.g"
+#line 1784 "./verilog.g"
                 zzmatch(V_RP); zzCONSUME;
-#line 1776 "./verilog.g"
+#line 1784 "./verilog.g"
                 v_statement();
               }
               else {
                 if ( (LA(1)==V_WHILE) ) {
-#line 1777 "./verilog.g"
+#line 1785 "./verilog.g"
                   zzmatch(V_WHILE); zzCONSUME;
-#line 1777 "./verilog.g"
+#line 1785 "./verilog.g"
                   zzmatch(V_LP); zzCONSUME;
-#line 1777 "./verilog.g"
+#line 1785 "./verilog.g"
                   v_expression();
-#line 1777 "./verilog.g"
+#line 1785 "./verilog.g"
                   zzmatch(V_RP); zzCONSUME;
-#line 1777 "./verilog.g"
+#line 1785 "./verilog.g"
                   v_statement();
                 }
                 else {
-                  if ( (LA(1)==V_FOR) ) {
-#line 1778 "./verilog.g"
+                  if ( (LA(1)==V_FOR)
+ ) {
+#line 1786 "./verilog.g"
                     zzmatch(V_FOR); zzCONSUME;
-#line 1778 "./verilog.g"
+#line 1786 "./verilog.g"
                     zzmatch(V_LP); zzCONSUME;
-#line 1778 "./verilog.g"
+#line 1786 "./verilog.g"
                     v_assignment();
-#line 1778 "./verilog.g"
+#line 1786 "./verilog.g"
                     zzmatch(V_SEMI); zzCONSUME;
-#line 1778 "./verilog.g"
+#line 1786 "./verilog.g"
                     v_expression();
-#line 1778 "./verilog.g"
+#line 1786 "./verilog.g"
                     zzmatch(V_SEMI); zzCONSUME;
-#line 1779 "./verilog.g"
+#line 1787 "./verilog.g"
                     v_assignment();
-#line 1779 "./verilog.g"
+#line 1787 "./verilog.g"
                     zzmatch(V_RP); zzCONSUME;
-#line 1779 "./verilog.g"
+#line 1787 "./verilog.g"
                     v_statement();
                   }
                   else {
-                    if ( (setwd23[LA(1)]&0x40)
- ) {
-#line 1780 "./verilog.g"
+                    if ( (setwd24[LA(1)]&0x4) ) {
+#line 1788 "./verilog.g"
                       v_delay_or_event_control_stmt();
-#line 1780 "./verilog.g"
+#line 1788 "./verilog.g"
                       v_statement_or_null();
                     }
                     else {
                       if ( (LA(1)==V_WAIT) ) {
-#line 1781 "./verilog.g"
+#line 1789 "./verilog.g"
                         zzmatch(V_WAIT); zzCONSUME;
-#line 1781 "./verilog.g"
+#line 1789 "./verilog.g"
                         zzmatch(V_LP); zzCONSUME;
-#line 1781 "./verilog.g"
+#line 1789 "./verilog.g"
                         v_expression();
-#line 1781 "./verilog.g"
+#line 1789 "./verilog.g"
                         zzmatch(V_RP); zzCONSUME;
-#line 1781 "./verilog.g"
+#line 1789 "./verilog.g"
                         v_statement_or_null();
                       }
                       else {
                         if ( (LA(1)==V_RARROW) ) {
-#line 1782 "./verilog.g"
+#line 1790 "./verilog.g"
                           zzmatch(V_RARROW); zzCONSUME;
-#line 1782 "./verilog.g"
+#line 1790 "./verilog.g"
                           v_name_of_event();
-#line 1782 "./verilog.g"
+#line 1790 "./verilog.g"
                           zzmatch(V_SEMI); zzCONSUME;
                         }
                         else {
                           if ( (LA(1)==V_BEGIN) ) {
-#line 1783 "./verilog.g"
+#line 1791 "./verilog.g"
                             v_seq_block();
                           }
                           else {
-                            if ( (LA(1)==V_FORK) ) {
-#line 1784 "./verilog.g"
+                            if ( (LA(1)==V_FORK)
+ ) {
+#line 1792 "./verilog.g"
                               v_par_block();
                             }
                             else {
-                              if ( (setwd23[LA(1)]&0x80) && 
-(setwd24[LA(2)]&0x1) ) {
-#line 1785 "./verilog.g"
+                              if ( (setwd24[LA(1)]&0x8) && (setwd24[LA(2)]&0x10) ) {
+#line 1793 "./verilog.g"
                                 v_task_enable();
                               }
                               else {
                                 if ( (LA(1)==V_DISABLE) ) {
-#line 1786 "./verilog.g"
+#line 1794 "./verilog.g"
                                   zzmatch(V_DISABLE); zzCONSUME;
-#line 1786 "./verilog.g"
+#line 1794 "./verilog.g"
                                   {
                                     zzBLOCK(zztasp2);
                                     zzMake0;
                                     {
-#line 1786 "./verilog.g"
+#line 1794 "./verilog.g"
                                     v_name_of_task_or_block();
                                     zzEXIT(zztasp2);
                                     }
                                   }
-#line 1786 "./verilog.g"
+#line 1794 "./verilog.g"
                                   zzmatch(V_SEMI); zzCONSUME;
                                 }
                                 else {
                                   if ( (LA(1)==V_ASSIGN) ) {
-#line 1787 "./verilog.g"
+#line 1795 "./verilog.g"
                                     zzmatch(V_ASSIGN); zzCONSUME;
-#line 1787 "./verilog.g"
+#line 1795 "./verilog.g"
                                     v_assignment();
-#line 1787 "./verilog.g"
+#line 1795 "./verilog.g"
                                     zzmatch(V_SEMI); zzCONSUME;
                                   }
                                   else {
                                     if ( (LA(1)==V_DEASSIGN) ) {
-#line 1788 "./verilog.g"
+#line 1796 "./verilog.g"
                                       zzmatch(V_DEASSIGN); zzCONSUME;
-#line 1788 "./verilog.g"
+#line 1796 "./verilog.g"
                                       v_lvalue();
-#line 1788 "./verilog.g"
+#line 1796 "./verilog.g"
                                       zzmatch(V_SEMI); zzCONSUME;
                                     }
                                     else {
-                                      if ( (LA(1)==V_FORCE) ) {
-#line 1789 "./verilog.g"
+                                      if ( (LA(1)==V_FORCE)
+ ) {
+#line 1797 "./verilog.g"
                                         zzmatch(V_FORCE); zzCONSUME;
-#line 1789 "./verilog.g"
+#line 1797 "./verilog.g"
                                         v_assignment();
-#line 1789 "./verilog.g"
+#line 1797 "./verilog.g"
                                         zzmatch(V_SEMI); zzCONSUME;
                                       }
                                       else {
-                                        if ( (LA(1)==V_RELEASE)
- ) {
-#line 1790 "./verilog.g"
+                                        if ( (LA(1)==V_RELEASE) ) {
+#line 1798 "./verilog.g"
                                           zzmatch(V_RELEASE); zzCONSUME;
-#line 1790 "./verilog.g"
+#line 1798 "./verilog.g"
                                           v_lvalue();
-#line 1790 "./verilog.g"
+#line 1798 "./verilog.g"
                                           zzmatch(V_SEMI); zzCONSUME;
                                         }
-                                        else {zzFAIL(2,zzerr78,zzerr79,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+                                        else {zzFAIL(2,zzerr80,zzerr81,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
                                       }
                                     }
                                   }
@@ -5661,7 +5757,7 @@ v_statement()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd24, 0x2);
+  zzresynch(setwd24, 0x20);
   }
 }
 
@@ -5672,23 +5768,23 @@ v_assignment(void)
 v_assignment()
 #endif
 {
-#line 1793 "./verilog.g"
+#line 1801 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1793 "./verilog.g"
+#line 1801 "./verilog.g"
   v_lvalue();
-#line 1793 "./verilog.g"
+#line 1801 "./verilog.g"
   zzmatch(V_EQ); zzCONSUME;
-#line 1793 "./verilog.g"
+#line 1801 "./verilog.g"
   v_expression();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd24, 0x4);
+  zzresynch(setwd24, 0x40);
   }
 }
 
@@ -5699,28 +5795,28 @@ v_block_or_non_assignment(void)
 v_block_or_non_assignment()
 #endif
 {
-#line 1796 "./verilog.g"
+#line 1804 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1796 "./verilog.g"
+#line 1804 "./verilog.g"
   v_lvalue();
-#line 1796 "./verilog.g"
+#line 1804 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     if ( (LA(1)==V_EQ) ) {
-#line 1796 "./verilog.g"
+#line 1804 "./verilog.g"
       v_blocking_assignment();
     }
     else {
       if ( (LA(1)==V_LEQ) ) {
-#line 1797 "./verilog.g"
+#line 1805 "./verilog.g"
         v_non_blocking_assignment();
       }
-      else {zzFAIL(1,zzerr80,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr82,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
@@ -5730,7 +5826,7 @@ v_block_or_non_assignment()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd24, 0x8);
+  zzresynch(setwd24, 0x80);
   }
 }
 
@@ -5741,30 +5837,31 @@ v_blocking_assignment(void)
 v_blocking_assignment()
 #endif
 {
-#line 1800 "./verilog.g"
+#line 1808 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1800 "./verilog.g"
+#line 1808 "./verilog.g"
   zzmatch(V_EQ); zzCONSUME;
-#line 1800 "./verilog.g"
+#line 1808 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd24[LA(1)]&0x10) ) {
-#line 1800 "./verilog.g"
+    if ( (setwd25[LA(1)]&0x1) ) {
+#line 1808 "./verilog.g"
       v_expression();
     }
     else {
-      if ( (setwd24[LA(1)]&0x20) ) {
-#line 1801 "./verilog.g"
+      if ( (setwd25[LA(1)]&0x2)
+ ) {
+#line 1809 "./verilog.g"
         v_delay_or_event_control();
-#line 1801 "./verilog.g"
+#line 1809 "./verilog.g"
         v_expression();
       }
-      else {zzFAIL(1,zzerr81,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr83,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
@@ -5774,7 +5871,7 @@ v_blocking_assignment()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd24, 0x40);
+  zzresynch(setwd25, 0x4);
   }
 }
 
@@ -5785,31 +5882,30 @@ v_non_blocking_assignment(void)
 v_non_blocking_assignment()
 #endif
 {
-#line 1804 "./verilog.g"
+#line 1812 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1804 "./verilog.g"
+#line 1812 "./verilog.g"
   zzmatch(V_LEQ); zzCONSUME;
-#line 1804 "./verilog.g"
+#line 1812 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd24[LA(1)]&0x80)
- ) {
-#line 1804 "./verilog.g"
+    if ( (setwd25[LA(1)]&0x8) ) {
+#line 1812 "./verilog.g"
       v_expression();
     }
     else {
-      if ( (setwd25[LA(1)]&0x1) ) {
-#line 1805 "./verilog.g"
+      if ( (setwd25[LA(1)]&0x10) ) {
+#line 1813 "./verilog.g"
         v_delay_or_event_control();
-#line 1805 "./verilog.g"
+#line 1813 "./verilog.g"
         v_expression();
       }
-      else {zzFAIL(1,zzerr82,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr84,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
@@ -5819,7 +5915,7 @@ v_non_blocking_assignment()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd25, 0x2);
+  zzresynch(setwd25, 0x20);
   }
 }
 
@@ -5830,34 +5926,35 @@ v_delay_or_event_control(void)
 v_delay_or_event_control()
 #endif
 {
-#line 1808 "./verilog.g"
+#line 1816 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_POUND) ) {
-#line 1808 "./verilog.g"
+#line 1816 "./verilog.g"
     v_delay_control();
   }
   else {
     if ( (LA(1)==V_AT) ) {
-#line 1809 "./verilog.g"
+#line 1817 "./verilog.g"
       v_event_control();
     }
     else {
-      if ( (LA(1)==V_REPEAT) ) {
-#line 1810 "./verilog.g"
+      if ( (LA(1)==V_REPEAT)
+ ) {
+#line 1818 "./verilog.g"
         zzmatch(V_REPEAT); zzCONSUME;
-#line 1810 "./verilog.g"
+#line 1818 "./verilog.g"
         zzmatch(V_LP); zzCONSUME;
-#line 1810 "./verilog.g"
+#line 1818 "./verilog.g"
         v_expression();
-#line 1810 "./verilog.g"
+#line 1818 "./verilog.g"
         zzmatch(V_RP); zzCONSUME;
-#line 1810 "./verilog.g"
+#line 1818 "./verilog.g"
         v_event_control();
       }
-      else {zzFAIL(1,zzerr83,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr85,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
   }
   zzEXIT(zztasp1);
@@ -5865,7 +5962,7 @@ v_delay_or_event_control()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd25, 0x4);
+  zzresynch(setwd25, 0x40);
   }
 }
 
@@ -5876,29 +5973,28 @@ v_delay_or_event_control_stmt(void)
 v_delay_or_event_control_stmt()
 #endif
 {
-#line 1813 "./verilog.g"
+#line 1821 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_POUND)
- ) {
-#line 1813 "./verilog.g"
+  if ( (LA(1)==V_POUND) ) {
+#line 1821 "./verilog.g"
     v_delay_control();
   }
   else {
     if ( (LA(1)==V_AT) ) {
-#line 1814 "./verilog.g"
+#line 1822 "./verilog.g"
       v_event_control();
     }
-    else {zzFAIL(1,zzerr84,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr86,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd25, 0x8);
+  zzresynch(setwd25, 0x80);
   }
 }
 
@@ -5909,54 +6005,54 @@ v_case_item(void)
 v_case_item()
 #endif
 {
-#line 1817 "./verilog.g"
+#line 1825 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd25[LA(1)]&0x10) ) {
-#line 1817 "./verilog.g"
+  if ( (setwd26[LA(1)]&0x1) ) {
+#line 1825 "./verilog.g"
     v_explist();
-#line 1818 "./verilog.g"
+#line 1826 "./verilog.g"
     zzmatch(V_COLON); zzCONSUME;
-#line 1818 "./verilog.g"
+#line 1826 "./verilog.g"
     v_statement_or_null();
   }
   else {
     if ( (LA(1)==V_DEFAULT) ) {
-#line 1819 "./verilog.g"
+#line 1827 "./verilog.g"
       zzmatch(V_DEFAULT); zzCONSUME;
-#line 1819 "./verilog.g"
+#line 1827 "./verilog.g"
       {
         zzBLOCK(zztasp2);
         zzMake0;
         {
-        if ( (LA(1)==V_COLON) ) {
-#line 1819 "./verilog.g"
+        if ( (LA(1)==V_COLON)
+ ) {
+#line 1827 "./verilog.g"
           zzmatch(V_COLON); zzCONSUME;
-#line 1819 "./verilog.g"
+#line 1827 "./verilog.g"
           v_statement_or_null();
         }
         else {
-          if ( (setwd25[LA(1)]&0x20)
- ) {
-#line 1820 "./verilog.g"
+          if ( (setwd26[LA(1)]&0x2) ) {
+#line 1828 "./verilog.g"
             v_statement_or_null();
           }
-          else {zzFAIL(1,zzerr85,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr87,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
         zzEXIT(zztasp2);
         }
       }
     }
-    else {zzFAIL(1,zzerr86,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr88,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd25, 0x40);
+  zzresynch(setwd26, 0x4);
   }
 }
 
@@ -5967,14 +6063,14 @@ v_seq_block(void)
 v_seq_block()
 #endif
 {
-#line 1823 "./verilog.g"
+#line 1831 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1823 "./verilog.g"
+#line 1831 "./verilog.g"
   zzmatch(V_BEGIN);
-#line 1824 "./verilog.g"
+#line 1832 "./verilog.g"
   { 
     struct i_symbol_scope *sb = (struct i_symbol_scope *)calloc(1, sizeof(struct i_symbol_scope)); 
     sb->symtable = make_jrb(); 
@@ -5983,19 +6079,19 @@ v_seq_block()
   }
  zzCONSUME;
 
-#line 1831 "./verilog.g"
+#line 1839 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd25[LA(1)]&0x80) ) {
-#line 1831 "./verilog.g"
+    if ( (setwd26[LA(1)]&0x8) ) {
+#line 1839 "./verilog.g"
       {
         zzBLOCK(zztasp3);
         zzMake0;
         {
-        while ( (setwd26[LA(1)]&0x1) ) {
-#line 1831 "./verilog.g"
+        while ( (setwd26[LA(1)]&0x10) ) {
+#line 1839 "./verilog.g"
           v_statement();
           zzLOOP(zztasp3);
         }
@@ -6005,31 +6101,31 @@ v_seq_block()
     }
     else {
       if ( (LA(1)==V_COLON) ) {
-#line 1832 "./verilog.g"
+#line 1840 "./verilog.g"
         zzmatch(V_COLON); zzCONSUME;
-#line 1832 "./verilog.g"
+#line 1840 "./verilog.g"
         v_name_of_block();
-#line 1832 "./verilog.g"
+#line 1840 "./verilog.g"
         {
           zzBLOCK(zztasp3);
           zzMake0;
           {
-          while ( (setwd26[LA(1)]&0x2) ) {
-#line 1832 "./verilog.g"
+          while ( (setwd26[LA(1)]&0x20)
+ ) {
+#line 1840 "./verilog.g"
             v_block_declaration();
             zzLOOP(zztasp3);
           }
           zzEXIT(zztasp3);
           }
         }
-#line 1833 "./verilog.g"
+#line 1841 "./verilog.g"
         {
           zzBLOCK(zztasp3);
           zzMake0;
           {
-          while ( (setwd26[LA(1)]&0x4)
- ) {
-#line 1833 "./verilog.g"
+          while ( (setwd26[LA(1)]&0x40) ) {
+#line 1841 "./verilog.g"
             v_statement();
             zzLOOP(zztasp3);
           }
@@ -6037,14 +6133,14 @@ v_seq_block()
           }
         }
       }
-      else {zzFAIL(1,zzerr87,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr89,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1834 "./verilog.g"
+#line 1842 "./verilog.g"
   zzmatch(V_END);
-#line 1835 "./verilog.g"
+#line 1843 "./verilog.g"
   if(sym_base) sym_base = sym_base->parent;
  zzCONSUME;
 
@@ -6053,7 +6149,7 @@ v_seq_block()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd26, 0x8);
+  zzresynch(setwd26, 0x80);
   }
 }
 
@@ -6064,14 +6160,14 @@ v_par_block(void)
 v_par_block()
 #endif
 {
-#line 1838 "./verilog.g"
+#line 1846 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1838 "./verilog.g"
+#line 1846 "./verilog.g"
   zzmatch(V_FORK);
-#line 1839 "./verilog.g"
+#line 1847 "./verilog.g"
   { 
     struct i_symbol_scope *sb = (struct i_symbol_scope *)calloc(1, sizeof(struct i_symbol_scope)); 
     sb->symtable = make_jrb(); 
@@ -6080,19 +6176,19 @@ v_par_block()
   }
  zzCONSUME;
 
-#line 1846 "./verilog.g"
+#line 1854 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd26[LA(1)]&0x10) ) {
-#line 1846 "./verilog.g"
+    if ( (setwd27[LA(1)]&0x1) ) {
+#line 1854 "./verilog.g"
       {
         zzBLOCK(zztasp3);
         zzMake0;
         {
-        while ( (setwd26[LA(1)]&0x20) ) {
-#line 1846 "./verilog.g"
+        while ( (setwd27[LA(1)]&0x2) ) {
+#line 1854 "./verilog.g"
           v_statement();
           zzLOOP(zztasp3);
         }
@@ -6102,31 +6198,31 @@ v_par_block()
     }
     else {
       if ( (LA(1)==V_COLON) ) {
-#line 1847 "./verilog.g"
+#line 1855 "./verilog.g"
         zzmatch(V_COLON); zzCONSUME;
-#line 1847 "./verilog.g"
+#line 1855 "./verilog.g"
         v_name_of_block();
-#line 1847 "./verilog.g"
+#line 1855 "./verilog.g"
         {
           zzBLOCK(zztasp3);
           zzMake0;
           {
-          while ( (setwd26[LA(1)]&0x40) ) {
-#line 1847 "./verilog.g"
+          while ( (setwd27[LA(1)]&0x4)
+ ) {
+#line 1855 "./verilog.g"
             v_block_declaration();
             zzLOOP(zztasp3);
           }
           zzEXIT(zztasp3);
           }
         }
-#line 1848 "./verilog.g"
+#line 1856 "./verilog.g"
         {
           zzBLOCK(zztasp3);
           zzMake0;
           {
-          while ( (setwd26[LA(1)]&0x80)
- ) {
-#line 1848 "./verilog.g"
+          while ( (setwd27[LA(1)]&0x8) ) {
+#line 1856 "./verilog.g"
             v_statement();
             zzLOOP(zztasp3);
           }
@@ -6134,14 +6230,14 @@ v_par_block()
           }
         }
       }
-      else {zzFAIL(1,zzerr88,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr90,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1848 "./verilog.g"
+#line 1856 "./verilog.g"
   zzmatch(V_JOIN);
-#line 1849 "./verilog.g"
+#line 1857 "./verilog.g"
   if(sym_base) sym_base = sym_base->parent;
  zzCONSUME;
 
@@ -6150,7 +6246,7 @@ v_par_block()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x1);
+  zzresynch(setwd27, 0x10);
   }
 }
 
@@ -6161,19 +6257,19 @@ v_name_of_block(void)
 v_name_of_block()
 #endif
 {
-#line 1852 "./verilog.g"
+#line 1860 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1852 "./verilog.g"
+#line 1860 "./verilog.g"
   v_identifier_nodot();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x2);
+  zzresynch(setwd27, 0x20);
   }
 }
 
@@ -6184,47 +6280,47 @@ v_block_declaration(void)
 v_block_declaration()
 #endif
 {
-#line 1855 "./verilog.g"
+#line 1863 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_PARAMETER) ) {
-#line 1855 "./verilog.g"
+#line 1863 "./verilog.g"
     v_parameter_declaration();
   }
   else {
     if ( (LA(1)==V_LOCALPARAM) ) {
-#line 1856 "./verilog.g"
+#line 1864 "./verilog.g"
       v_localparam_declaration();
     }
     else {
       if ( (LA(1)==V_REG) ) {
-#line 1857 "./verilog.g"
+#line 1865 "./verilog.g"
         v_reg_declaration();
       }
       else {
-        if ( (LA(1)==V_INTEGER) ) {
-#line 1858 "./verilog.g"
+        if ( (LA(1)==V_INTEGER)
+ ) {
+#line 1866 "./verilog.g"
           v_integer_declaration();
         }
         else {
-          if ( (LA(1)==V_REAL)
- ) {
-#line 1859 "./verilog.g"
+          if ( (LA(1)==V_REAL) ) {
+#line 1867 "./verilog.g"
             v_real_declaration();
           }
           else {
             if ( (LA(1)==V_TIME) ) {
-#line 1860 "./verilog.g"
+#line 1868 "./verilog.g"
               v_time_declaration();
             }
             else {
               if ( (LA(1)==V_EVENT) ) {
-#line 1861 "./verilog.g"
+#line 1869 "./verilog.g"
                 v_event_declaration();
               }
-              else {zzFAIL(1,zzerr89,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+              else {zzFAIL(1,zzerr91,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
             }
           }
         }
@@ -6236,7 +6332,7 @@ v_block_declaration()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x4);
+  zzresynch(setwd27, 0x40);
   }
 }
 
@@ -6247,38 +6343,39 @@ v_task_enable(void)
 v_task_enable()
 #endif
 {
-#line 1864 "./verilog.g"
+#line 1872 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd27[LA(1)]&0x8) && (LA(2)==V_SEMI) ) {
-#line 1864 "./verilog.g"
+  if ( (setwd27[LA(1)]&0x80) && (LA(2)==V_SEMI) ) {
+#line 1872 "./verilog.g"
     v_name_of_task();
-#line 1864 "./verilog.g"
+#line 1872 "./verilog.g"
     zzmatch(V_SEMI); zzCONSUME;
   }
   else {
-    if ( (setwd27[LA(1)]&0x10) && (LA(2)==V_LP) ) {
-#line 1865 "./verilog.g"
+    if ( (setwd28[LA(1)]&0x1) && 
+(LA(2)==V_LP) ) {
+#line 1873 "./verilog.g"
       v_name_of_task();
-#line 1865 "./verilog.g"
+#line 1873 "./verilog.g"
       zzmatch(V_LP); zzCONSUME;
-#line 1865 "./verilog.g"
+#line 1873 "./verilog.g"
       v_explist();
-#line 1865 "./verilog.g"
+#line 1873 "./verilog.g"
       zzmatch(V_RP); zzCONSUME;
-#line 1865 "./verilog.g"
+#line 1873 "./verilog.g"
       zzmatch(V_SEMI); zzCONSUME;
     }
-    else {zzFAIL(2,zzerr90,zzerr91,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(2,zzerr92,zzerr93,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x20);
+  zzresynch(setwd28, 0x2);
   }
 }
 
@@ -6289,19 +6386,19 @@ v_name_of_task(void)
 v_name_of_task()
 #endif
 {
-#line 1868 "./verilog.g"
+#line 1876 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1868 "./verilog.g"
+#line 1876 "./verilog.g"
   v_identifier();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x40);
+  zzresynch(setwd28, 0x4);
   }
 }
 
@@ -6312,19 +6409,57 @@ v_name_of_task_or_block(void)
 v_name_of_task_or_block()
 #endif
 {
-#line 1872 "./verilog.g"
+#line 1880 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1872 "./verilog.g"
+#line 1880 "./verilog.g"
   v_identifier_nodot();
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd27, 0x80);
+  zzresynch(setwd28, 0x8);
+  }
+}
+
+void
+#ifdef __USE_PROTOS
+v_generate_block(void)
+#else
+v_generate_block()
+#endif
+{
+#line 1883 "./verilog.g"
+  zzRULE;
+  zzBLOCK(zztasp1);
+  zzMake0;
+  {
+#line 1883 "./verilog.g"
+  zzmatch(V_GENERATE); zzCONSUME;
+#line 1883 "./verilog.g"
+  {
+    zzBLOCK(zztasp2);
+    zzMake0;
+    {
+    while ( (setwd28[LA(1)]&0x10) ) {
+#line 1883 "./verilog.g"
+      zzsetmatch(zzerr94, zzerr95); zzCONSUME;
+      zzLOOP(zztasp2);
+    }
+    zzEXIT(zztasp2);
+    }
+  }
+#line 1883 "./verilog.g"
+  zzmatch(V_ENDGENERATE); zzCONSUME;
+  zzEXIT(zztasp1);
+  return;
+fail:
+  zzEXIT(zztasp1);
+  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
+  zzresynch(setwd28, 0x20);
   }
 }
 
@@ -6335,35 +6470,34 @@ v_specify_block(void)
 v_specify_block()
 #endif
 {
-#line 1879 "./verilog.g"
+#line 1890 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1879 "./verilog.g"
+#line 1890 "./verilog.g"
   zzmatch(V_SPECIFY); zzCONSUME;
-#line 1879 "./verilog.g"
+#line 1890 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (setwd28[LA(1)]&0x1)
- ) {
-#line 1879 "./verilog.g"
-      zzsetmatch(zzerr92, zzerr93); zzCONSUME;
+    while ( (setwd28[LA(1)]&0x40) ) {
+#line 1890 "./verilog.g"
+      zzsetmatch(zzerr96, zzerr97); zzCONSUME;
       zzLOOP(zztasp2);
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1879 "./verilog.g"
+#line 1890 "./verilog.g"
   zzmatch(V_ENDSPECIFY); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd28, 0x2);
+  zzresynch(setwd28, 0x80);
   }
 }
 
@@ -6374,21 +6508,21 @@ v_constant_expression(void)
 v_constant_expression()
 #endif
 {
-#line 1882 "./verilog.g"
+#line 1893 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1882 "./verilog.g"
+#line 1893 "./verilog.g"
   v_expression();
-#line 1883 "./verilog.g"
+#line 1894 "./verilog.g"
   zzaRet.prim = zzaArg(zztasp1,1 ).prim;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd28, 0x4);
+  zzresynch(setwd29, 0x1);
   }
 }
 
@@ -6399,59 +6533,59 @@ v_lvalue(void)
 v_lvalue()
 #endif
 {
-#line 1889 "./verilog.g"
+#line 1900 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd28[LA(1)]&0x8) ) {
-#line 1889 "./verilog.g"
+  if ( (setwd29[LA(1)]&0x2) ) {
+#line 1900 "./verilog.g"
     v_identifier();
-#line 1891 "./verilog.g"
+#line 1902 "./verilog.g"
     {
       zzBLOCK(zztasp2);
       zzMake0;
       {
       if ( (LA(1)==V_LBRACK) ) {
-#line 1891 "./verilog.g"
+#line 1902 "./verilog.g"
         zzmatch(V_LBRACK); zzCONSUME;
-#line 1891 "./verilog.g"
+#line 1902 "./verilog.g"
         v_expression();
-#line 1892 "./verilog.g"
+#line 1903 "./verilog.g"
         {
           zzBLOCK(zztasp3);
           zzMake0;
           {
-          if ( (LA(1)==V_COLON) ) {
-#line 1892 "./verilog.g"
+          if ( (LA(1)==V_COLON)
+ ) {
+#line 1903 "./verilog.g"
             zzmatch(V_COLON); zzCONSUME;
-#line 1892 "./verilog.g"
+#line 1903 "./verilog.g"
             v_expression();
-#line 1893 "./verilog.g"
+#line 1904 "./verilog.g"
             zzaRet.prim = i_primary_symrange_make(zzaArg(zztasp1,1).symbol,zzaArg(zztasp2,2).prim,zzaArg(zztasp3,2).prim);
           }
           else {
             if ( (LA(1)==V_RBRACK) ) {
-#line 1894 "./verilog.g"
+#line 1905 "./verilog.g"
               zzaRet.prim = i_primary_symbit_make(zzaArg(zztasp1,1).symbol,zzaArg(zztasp2,2).prim);
             }
-            else {zzFAIL(1,zzerr94,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+            else {zzFAIL(1,zzerr98,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
           }
           zzEXIT(zztasp3);
           }
         }
-#line 1895 "./verilog.g"
+#line 1906 "./verilog.g"
         zzmatch(V_RBRACK); zzCONSUME;
-#line 1896 "./verilog.g"
+#line 1907 "./verilog.g"
         v_opt_array_handling();
       }
       else {
-        if ( (setwd28[LA(1)]&0x10)
- ) {
-#line 1897 "./verilog.g"
+        if ( (setwd29[LA(1)]&0x4) ) {
+#line 1908 "./verilog.g"
           zzaRet.prim = i_primary_make(PRIM_SYMBOL,zzaArg(zztasp1,1).symbol);
         }
-        else {zzFAIL(1,zzerr95,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr99,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
       zzEXIT(zztasp2);
       }
@@ -6459,19 +6593,19 @@ v_lvalue()
   }
   else {
     if ( (LA(1)==V_LBRACE) ) {
-#line 1899 "./verilog.g"
+#line 1910 "./verilog.g"
       v_concatenation();
-#line 1899 "./verilog.g"
+#line 1910 "./verilog.g"
       zzaRet.prim = zzaArg(zztasp1,1 ).prim;
     }
-    else {zzFAIL(1,zzerr96,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr100,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd28, 0x20);
+  zzresynch(setwd29, 0x8);
   }
 }
 
@@ -6482,16 +6616,16 @@ v_expression(void)
 v_expression()
 #endif
 {
-#line 1902 "./verilog.g"
+#line 1913 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1902 "./verilog.g"
+#line 1913 "./verilog.g"
   push_exp_now();
-#line 1902 "./verilog.g"
+#line 1913 "./verilog.g"
   v_expression2();
-#line 1902 "./verilog.g"
+#line 1913 "./verilog.g"
   
   if(!zzerrors)
   {
@@ -6509,7 +6643,7 @@ v_expression()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd28, 0x40);
+  zzresynch(setwd29, 0x10);
   }
 }
 
@@ -6520,78 +6654,78 @@ v_expression2(void)
 v_expression2()
 #endif
 {
-#line 1917 "./verilog.g"
+#line 1928 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1917 "./verilog.g"
+#line 1928 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd28[LA(1)]&0x80) ) {
-#line 1917 "./verilog.g"
+    if ( (setwd29[LA(1)]&0x20) ) {
+#line 1928 "./verilog.g"
       v_primary();
-#line 1917 "./verilog.g"
+#line 1928 "./verilog.g"
       push_primary(zzaArg(zztasp2,1 ).prim);
     }
     else {
-      if ( (setwd29[LA(1)]&0x1) ) {
-#line 1918 "./verilog.g"
+      if ( (setwd29[LA(1)]&0x40)
+ ) {
+#line 1929 "./verilog.g"
         v_unary_operator();
-#line 1918 "./verilog.g"
+#line 1929 "./verilog.g"
         v_primary();
-#line 1919 "./verilog.g"
+#line 1930 "./verilog.g"
         push_primary(NULL); push_oper(zzaArg(zztasp2,1 ).oper); push_primary(zzaArg(zztasp2,2 ).prim);
       }
       else {
         if ( (LA(1)==V_STRING) ) {
-#line 1920 "./verilog.g"
+#line 1931 "./verilog.g"
           zzmatch(V_STRING);
-#line 1920 "./verilog.g"
+#line 1931 "./verilog.g"
           push_primary(i_primary_make(PRIM_NUMBER, i_number_basemake(NV_STRING, zzaArg(zztasp2,1 ).text)));
  zzCONSUME;
 
         }
-        else {zzFAIL(1,zzerr97,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr101,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
     }
     zzEXIT(zztasp2);
     }
   }
-#line 1921 "./verilog.g"
+#line 1932 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd29[LA(1)]&0x2)
- ) {
-#line 1921 "./verilog.g"
+    if ( (setwd29[LA(1)]&0x80) ) {
+#line 1932 "./verilog.g"
       v_binary_operator();
-#line 1921 "./verilog.g"
+#line 1932 "./verilog.g"
       push_oper(zzaArg(zztasp2,1 ).oper);
-#line 1921 "./verilog.g"
+#line 1932 "./verilog.g"
       v_expression2();
     }
     else {
       if ( (LA(1)==V_QUEST) ) {
-#line 1922 "./verilog.g"
+#line 1933 "./verilog.g"
         zzmatch(V_QUEST); zzCONSUME;
-#line 1922 "./verilog.g"
+#line 1933 "./verilog.g"
         v_expression();
-#line 1922 "./verilog.g"
+#line 1933 "./verilog.g"
         zzmatch(V_COLON); zzCONSUME;
-#line 1922 "./verilog.g"
+#line 1933 "./verilog.g"
         v_expression();
-#line 1923 "./verilog.g"
+#line 1934 "./verilog.g"
         push_oper(i_oper_make(V_QUEST,1));
         push_primary(i_bin_expr_make(zzaArg(zztasp2,2 ).prim,i_oper_make(V_COLON, 1),zzaArg(zztasp2,4 ).prim));
       }
       else {
-        if ( (setwd29[LA(1)]&0x4) ) {
+        if ( (setwd30[LA(1)]&0x1) ) {
         }
-        else {zzFAIL(1,zzerr98,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr102,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
     }
     zzEXIT(zztasp2);
@@ -6602,7 +6736,7 @@ v_expression2()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd29, 0x8);
+  zzresynch(setwd30, 0x2);
   }
 }
 
@@ -6613,36 +6747,37 @@ v_mintypmax_expression(void)
 v_mintypmax_expression()
 #endif
 {
-#line 1928 "./verilog.g"
+#line 1939 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1928 "./verilog.g"
+#line 1939 "./verilog.g"
   v_expression();
-#line 1929 "./verilog.g"
+#line 1940 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (LA(1)==V_COLON) ) {
-#line 1929 "./verilog.g"
+    if ( (LA(1)==V_COLON)
+ ) {
+#line 1940 "./verilog.g"
       zzmatch(V_COLON); zzCONSUME;
-#line 1929 "./verilog.g"
+#line 1940 "./verilog.g"
       v_expression();
-#line 1929 "./verilog.g"
+#line 1940 "./verilog.g"
       zzmatch(V_COLON); zzCONSUME;
-#line 1929 "./verilog.g"
+#line 1940 "./verilog.g"
       v_expression();
-#line 1930 "./verilog.g"
+#line 1941 "./verilog.g"
       zzaRet.prim = i_primary_mintypmax_make(zzaArg(zztasp1,1).prim, zzaArg(zztasp2,2).prim, zzaArg(zztasp2,4).prim);
     }
     else {
-      if ( (setwd29[LA(1)]&0x10) ) {
-#line 1931 "./verilog.g"
+      if ( (setwd30[LA(1)]&0x4) ) {
+#line 1942 "./verilog.g"
         zzaRet.prim = zzaArg(zztasp1,1).prim;
       }
-      else {zzFAIL(1,zzerr99,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr103,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
@@ -6652,7 +6787,7 @@ v_mintypmax_expression()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd29, 0x20);
+  zzresynch(setwd30, 0x8);
   }
 }
 
@@ -6663,113 +6798,112 @@ v_unary_operator(void)
 v_unary_operator()
 #endif
 {
-#line 1934 "./verilog.g"
+#line 1945 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_PLUS)
- ) {
-#line 1934 "./verilog.g"
+  if ( (LA(1)==V_PLUS) ) {
+#line 1945 "./verilog.g"
     zzmatch(V_PLUS);
-#line 1934 "./verilog.g"
+#line 1945 "./verilog.g"
     zzaRet.oper = i_oper_make(V_PLUS, 12);
  zzCONSUME;
 
   }
   else {
     if ( (LA(1)==V_MINUS) ) {
-#line 1935 "./verilog.g"
+#line 1946 "./verilog.g"
       zzmatch(V_MINUS);
-#line 1935 "./verilog.g"
+#line 1946 "./verilog.g"
       zzaRet.oper = i_oper_make(V_MINUS,12);
  zzCONSUME;
 
     }
     else {
       if ( (LA(1)==V_BANG) ) {
-#line 1936 "./verilog.g"
+#line 1947 "./verilog.g"
         zzmatch(V_BANG);
-#line 1936 "./verilog.g"
+#line 1947 "./verilog.g"
         zzaRet.oper = i_oper_make(V_BANG, 12);
  zzCONSUME;
 
       }
       else {
-        if ( (LA(1)==V_TILDE) ) {
-#line 1937 "./verilog.g"
+        if ( (LA(1)==V_TILDE)
+ ) {
+#line 1948 "./verilog.g"
           zzmatch(V_TILDE);
-#line 1937 "./verilog.g"
+#line 1948 "./verilog.g"
           zzaRet.oper = i_oper_make(V_TILDE,12);
  zzCONSUME;
 
         }
         else {
           if ( (LA(1)==V_AND) ) {
-#line 1938 "./verilog.g"
+#line 1949 "./verilog.g"
             zzmatch(V_AND);
-#line 1938 "./verilog.g"
+#line 1949 "./verilog.g"
             zzaRet.oper = i_oper_make(V_AND,  12);
  zzCONSUME;
 
           }
           else {
-            if ( (LA(1)==V_NAND)
- ) {
-#line 1939 "./verilog.g"
+            if ( (LA(1)==V_NAND) ) {
+#line 1950 "./verilog.g"
               zzmatch(V_NAND);
-#line 1939 "./verilog.g"
+#line 1950 "./verilog.g"
               zzaRet.oper = i_oper_make(V_NAND, 12);
  zzCONSUME;
 
             }
             else {
               if ( (LA(1)==V_OR) ) {
-#line 1940 "./verilog.g"
+#line 1951 "./verilog.g"
                 zzmatch(V_OR);
-#line 1940 "./verilog.g"
+#line 1951 "./verilog.g"
                 zzaRet.oper = i_oper_make(V_OR,   12);
  zzCONSUME;
 
               }
               else {
                 if ( (LA(1)==V_NOR) ) {
-#line 1941 "./verilog.g"
+#line 1952 "./verilog.g"
                   zzmatch(V_NOR);
-#line 1941 "./verilog.g"
+#line 1952 "./verilog.g"
                   zzaRet.oper = i_oper_make(V_NOR,  12);
  zzCONSUME;
 
                 }
                 else {
-                  if ( (LA(1)==V_XOR) ) {
-#line 1942 "./verilog.g"
+                  if ( (LA(1)==V_XOR)
+ ) {
+#line 1953 "./verilog.g"
                     zzmatch(V_XOR);
-#line 1942 "./verilog.g"
+#line 1953 "./verilog.g"
                     zzaRet.oper = i_oper_make(V_XOR,  12);
  zzCONSUME;
 
                   }
                   else {
                     if ( (LA(1)==V_XNOR) ) {
-#line 1943 "./verilog.g"
+#line 1954 "./verilog.g"
                       zzmatch(V_XNOR);
-#line 1943 "./verilog.g"
+#line 1954 "./verilog.g"
                       zzaRet.oper = i_oper_make(V_XNOR, 12);
  zzCONSUME;
 
                     }
                     else {
-                      if ( (LA(1)==V_XNOR2)
- ) {
-#line 1944 "./verilog.g"
+                      if ( (LA(1)==V_XNOR2) ) {
+#line 1955 "./verilog.g"
                         zzmatch(V_XNOR2);
-#line 1944 "./verilog.g"
+#line 1955 "./verilog.g"
                         zzaRet.oper = i_oper_make(V_XNOR, 12);
  zzCONSUME;
 
                       }
-                      else {zzFAIL(1,zzerr100,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+                      else {zzFAIL(1,zzerr104,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
                     }
                   }
                 }
@@ -6785,7 +6919,7 @@ v_unary_operator()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd29, 0x40);
+  zzresynch(setwd30, 0x10);
   }
 }
 
@@ -6796,259 +6930,259 @@ v_binary_operator(void)
 v_binary_operator()
 #endif
 {
-#line 1947 "./verilog.g"
+#line 1958 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_POW) ) {
-#line 1947 "./verilog.g"
+#line 1958 "./verilog.g"
     zzmatch(V_POW);
-#line 1947 "./verilog.g"
+#line 1958 "./verilog.g"
     zzaRet.oper = i_oper_make(V_POW,  11);
  zzCONSUME;
 
   }
   else {
     if ( (LA(1)==V_STAR) ) {
-#line 1948 "./verilog.g"
+#line 1959 "./verilog.g"
       zzmatch(V_STAR);
-#line 1948 "./verilog.g"
+#line 1959 "./verilog.g"
       zzaRet.oper = i_oper_make(V_STAR, 10);
  zzCONSUME;
 
     }
     else {
-      if ( (LA(1)==V_SLASH) ) {
-#line 1949 "./verilog.g"
+      if ( (LA(1)==V_SLASH)
+ ) {
+#line 1960 "./verilog.g"
         zzmatch(V_SLASH);
-#line 1949 "./verilog.g"
+#line 1960 "./verilog.g"
         zzaRet.oper = i_oper_make(V_SLASH,10);
  zzCONSUME;
 
       }
       else {
         if ( (LA(1)==V_MOD) ) {
-#line 1950 "./verilog.g"
+#line 1961 "./verilog.g"
           zzmatch(V_MOD);
-#line 1950 "./verilog.g"
+#line 1961 "./verilog.g"
           zzaRet.oper = i_oper_make(V_MOD,  10);
  zzCONSUME;
 
         }
         else {
-          if ( (LA(1)==V_PLUS)
- ) {
-#line 1951 "./verilog.g"
+          if ( (LA(1)==V_PLUS) ) {
+#line 1962 "./verilog.g"
             zzmatch(V_PLUS);
-#line 1951 "./verilog.g"
+#line 1962 "./verilog.g"
             zzaRet.oper = i_oper_make(V_PLUS,  9);
  zzCONSUME;
 
           }
           else {
             if ( (LA(1)==V_MINUS) ) {
-#line 1952 "./verilog.g"
+#line 1963 "./verilog.g"
               zzmatch(V_MINUS);
-#line 1952 "./verilog.g"
+#line 1963 "./verilog.g"
               zzaRet.oper = i_oper_make(V_MINUS, 9);
  zzCONSUME;
 
             }
             else {
               if ( (LA(1)==V_SHL) ) {
-#line 1953 "./verilog.g"
+#line 1964 "./verilog.g"
                 zzmatch(V_SHL);
-#line 1953 "./verilog.g"
+#line 1964 "./verilog.g"
                 zzaRet.oper = i_oper_make(V_SHL,   8);
  zzCONSUME;
 
               }
               else {
-                if ( (LA(1)==V_SHR) ) {
-#line 1954 "./verilog.g"
+                if ( (LA(1)==V_SHR)
+ ) {
+#line 1965 "./verilog.g"
                   zzmatch(V_SHR);
-#line 1954 "./verilog.g"
+#line 1965 "./verilog.g"
                   zzaRet.oper = i_oper_make(V_SHR,   8);
  zzCONSUME;
 
                 }
                 else {
                   if ( (LA(1)==V_SSHL) ) {
-#line 1955 "./verilog.g"
+#line 1966 "./verilog.g"
                     zzmatch(V_SSHL);
-#line 1955 "./verilog.g"
+#line 1966 "./verilog.g"
                     zzaRet.oper = i_oper_make(V_SSHL,  8);
  zzCONSUME;
 
                   }
                   else {
-                    if ( (LA(1)==V_SSHR)
- ) {
-#line 1956 "./verilog.g"
+                    if ( (LA(1)==V_SSHR) ) {
+#line 1967 "./verilog.g"
                       zzmatch(V_SSHR);
-#line 1956 "./verilog.g"
+#line 1967 "./verilog.g"
                       zzaRet.oper = i_oper_make(V_SSHR,  8);
  zzCONSUME;
 
                     }
                     else {
                       if ( (LA(1)==V_LT) ) {
-#line 1957 "./verilog.g"
+#line 1968 "./verilog.g"
                         zzmatch(V_LT);
-#line 1957 "./verilog.g"
+#line 1968 "./verilog.g"
                         zzaRet.oper = i_oper_make(V_LT,    7);
  zzCONSUME;
 
                       }
                       else {
                         if ( (LA(1)==V_LEQ) ) {
-#line 1958 "./verilog.g"
+#line 1969 "./verilog.g"
                           zzmatch(V_LEQ);
-#line 1958 "./verilog.g"
+#line 1969 "./verilog.g"
                           zzaRet.oper = i_oper_make(V_LEQ,   7);
  zzCONSUME;
 
                         }
                         else {
-                          if ( (LA(1)==V_GT) ) {
-#line 1959 "./verilog.g"
+                          if ( (LA(1)==V_GT)
+ ) {
+#line 1970 "./verilog.g"
                             zzmatch(V_GT);
-#line 1959 "./verilog.g"
+#line 1970 "./verilog.g"
                             zzaRet.oper = i_oper_make(V_GT,    7);
  zzCONSUME;
 
                           }
                           else {
                             if ( (LA(1)==V_GEQ) ) {
-#line 1960 "./verilog.g"
+#line 1971 "./verilog.g"
                               zzmatch(V_GEQ);
-#line 1960 "./verilog.g"
+#line 1971 "./verilog.g"
                               zzaRet.oper = i_oper_make(V_GEQ,   7);
  zzCONSUME;
 
                             }
                             else {
-                              if ( (LA(1)==V_EQ2)
- ) {
-#line 1961 "./verilog.g"
+                              if ( (LA(1)==V_EQ2) ) {
+#line 1972 "./verilog.g"
                                 zzmatch(V_EQ2);
-#line 1961 "./verilog.g"
+#line 1972 "./verilog.g"
                                 zzaRet.oper = i_oper_make(V_EQ2,   6);
  zzCONSUME;
 
                               }
                               else {
                                 if ( (LA(1)==V_NEQ) ) {
-#line 1962 "./verilog.g"
+#line 1973 "./verilog.g"
                                   zzmatch(V_NEQ);
-#line 1962 "./verilog.g"
+#line 1973 "./verilog.g"
                                   zzaRet.oper = i_oper_make(V_NEQ,   6);
  zzCONSUME;
 
                                 }
                                 else {
                                   if ( (LA(1)==V_EQ3) ) {
-#line 1963 "./verilog.g"
+#line 1974 "./verilog.g"
                                     zzmatch(V_EQ3);
-#line 1963 "./verilog.g"
+#line 1974 "./verilog.g"
                                     zzaRet.oper = i_oper_make(V_EQ3,   6);
  zzCONSUME;
 
                                   }
                                   else {
-                                    if ( (LA(1)==V_NEQ2) ) {
-#line 1964 "./verilog.g"
+                                    if ( (LA(1)==V_NEQ2)
+ ) {
+#line 1975 "./verilog.g"
                                       zzmatch(V_NEQ2);
-#line 1964 "./verilog.g"
+#line 1975 "./verilog.g"
                                       zzaRet.oper = i_oper_make(V_NEQ2,  6);
  zzCONSUME;
 
                                     }
                                     else {
                                       if ( (LA(1)==V_AND) ) {
-#line 1965 "./verilog.g"
+#line 1976 "./verilog.g"
                                         zzmatch(V_AND);
-#line 1965 "./verilog.g"
+#line 1976 "./verilog.g"
                                         zzaRet.oper = i_oper_make(V_AND,   5);
  zzCONSUME;
 
                                       }
                                       else {
-                                        if ( (LA(1)==V_NAND)
- ) {
-#line 1966 "./verilog.g"
+                                        if ( (LA(1)==V_NAND) ) {
+#line 1977 "./verilog.g"
                                           zzmatch(V_NAND);
-#line 1966 "./verilog.g"
+#line 1977 "./verilog.g"
                                           zzaRet.oper = i_oper_make(V_NAND,  5);
  zzCONSUME;
 
                                         }
                                         else {
                                           if ( (LA(1)==V_XOR) ) {
-#line 1967 "./verilog.g"
+#line 1978 "./verilog.g"
                                             zzmatch(V_XOR);
-#line 1967 "./verilog.g"
+#line 1978 "./verilog.g"
                                             zzaRet.oper = i_oper_make(V_XOR,   5);
  zzCONSUME;
 
                                           }
                                           else {
                                             if ( (LA(1)==V_XNOR) ) {
-#line 1968 "./verilog.g"
+#line 1979 "./verilog.g"
                                               zzmatch(V_XNOR);
-#line 1968 "./verilog.g"
+#line 1979 "./verilog.g"
                                               zzaRet.oper = i_oper_make(V_XNOR,  5);
  zzCONSUME;
 
                                             }
                                             else {
-                                              if ( (LA(1)==V_XNOR2) ) {
-#line 1969 "./verilog.g"
+                                              if ( (LA(1)==V_XNOR2)
+ ) {
+#line 1980 "./verilog.g"
                                                 zzmatch(V_XNOR2);
-#line 1969 "./verilog.g"
+#line 1980 "./verilog.g"
                                                 zzaRet.oper = i_oper_make(V_XNOR,  5);
  zzCONSUME;
 
                                               }
                                               else {
                                                 if ( (LA(1)==V_OR) ) {
-#line 1970 "./verilog.g"
+#line 1981 "./verilog.g"
                                                   zzmatch(V_OR);
-#line 1970 "./verilog.g"
+#line 1981 "./verilog.g"
                                                   zzaRet.oper = i_oper_make(V_OR,    4);
  zzCONSUME;
 
                                                 }
                                                 else {
-                                                  if ( (LA(1)==V_NOR)
- ) {
-#line 1971 "./verilog.g"
+                                                  if ( (LA(1)==V_NOR) ) {
+#line 1982 "./verilog.g"
                                                     zzmatch(V_NOR);
-#line 1971 "./verilog.g"
+#line 1982 "./verilog.g"
                                                     zzaRet.oper = i_oper_make(V_NOR,   4);
  zzCONSUME;
 
                                                   }
                                                   else {
                                                     if ( (LA(1)==V_AND2) ) {
-#line 1972 "./verilog.g"
+#line 1983 "./verilog.g"
                                                       zzmatch(V_AND2);
-#line 1972 "./verilog.g"
+#line 1983 "./verilog.g"
                                                       zzaRet.oper = i_oper_make(V_AND2,  3);
  zzCONSUME;
 
                                                     }
                                                     else {
                                                       if ( (LA(1)==V_OR2) ) {
-#line 1973 "./verilog.g"
+#line 1984 "./verilog.g"
                                                         zzmatch(V_OR2);
-#line 1973 "./verilog.g"
+#line 1984 "./verilog.g"
                                                         zzaRet.oper = i_oper_make(V_OR2,   2);
  zzCONSUME;
 
                                                       }
-                                                      else {zzFAIL(1,zzerr101,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+                                                      else {zzFAIL(1,zzerr105,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
                                                     }
                                                   }
                                                 }
@@ -7080,7 +7214,7 @@ v_binary_operator()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd29, 0x80);
+  zzresynch(setwd30, 0x20);
   }
 }
 
@@ -7091,48 +7225,48 @@ v_opt_array_handling(void)
 v_opt_array_handling()
 #endif
 {
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (LA(1)==V_LBRACK) ) {
-#line 1977 "./verilog.g"
+    if ( (LA(1)==V_LBRACK)
+ ) {
+#line 1988 "./verilog.g"
       zzmatch(V_LBRACK); zzCONSUME;
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
       v_expression();
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
       {
         zzBLOCK(zztasp3);
         zzMake0;
         {
         if ( (LA(1)==V_COLON) ) {
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
           zzmatch(V_COLON); zzCONSUME;
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
           v_expression();
         }
         else {
-          if ( (LA(1)==V_RBRACK)
- ) {
+          if ( (LA(1)==V_RBRACK) ) {
           }
-          else {zzFAIL(1,zzerr102,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr106,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
         zzEXIT(zztasp3);
         }
       }
-#line 1977 "./verilog.g"
+#line 1988 "./verilog.g"
       zzmatch(V_RBRACK); zzCONSUME;
     }
     else {
-      if ( (setwd30[LA(1)]&0x1) ) {
+      if ( (setwd30[LA(1)]&0x40) ) {
       }
-      else {zzFAIL(1,zzerr103,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr107,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
@@ -7142,7 +7276,7 @@ v_opt_array_handling()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd30, 0x2);
+  zzresynch(setwd30, 0x80);
   }
 }
 
@@ -7153,106 +7287,106 @@ v_primary(void)
 v_primary()
 #endif
 {
-#line 1979 "./verilog.g"
+#line 1990 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd30[LA(1)]&0x4) ) {
-#line 1979 "./verilog.g"
+  if ( (setwd31[LA(1)]&0x1) ) {
+#line 1990 "./verilog.g"
     v_number();
-#line 1979 "./verilog.g"
+#line 1990 "./verilog.g"
     zzaRet.prim = i_primary_make(PRIM_NUMBER,zzaArg(zztasp1,1 ).num);
   }
   else {
-    if ( (setwd30[LA(1)]&0x8) && (setwd30[LA(2)]&0x10) ) {
-#line 1980 "./verilog.g"
+    if ( (setwd31[LA(1)]&0x2) && 
+(setwd31[LA(2)]&0x4) ) {
+#line 1991 "./verilog.g"
       v_identifier();
-#line 1981 "./verilog.g"
+#line 1992 "./verilog.g"
       {
         zzBLOCK(zztasp2);
         zzMake0;
         {
         if ( (LA(1)==V_LBRACK) ) {
-#line 1981 "./verilog.g"
+#line 1992 "./verilog.g"
           zzmatch(V_LBRACK); zzCONSUME;
-#line 1981 "./verilog.g"
+#line 1992 "./verilog.g"
           v_expression();
-#line 1982 "./verilog.g"
+#line 1993 "./verilog.g"
           {
             zzBLOCK(zztasp3);
             zzMake0;
             {
-            if ( (LA(1)==V_RBRACK)
- ) {
-#line 1982 "./verilog.g"
+            if ( (LA(1)==V_RBRACK) ) {
+#line 1993 "./verilog.g"
               zzmatch(V_RBRACK);
-#line 1983 "./verilog.g"
+#line 1994 "./verilog.g"
               zzaRet.prim= i_primary_symbit_make(zzaArg(zztasp1,1).symbol,zzaArg(zztasp2,2).prim);
  zzCONSUME;
 
-#line 1984 "./verilog.g"
+#line 1995 "./verilog.g"
               v_opt_array_handling();
             }
             else {
               if ( (LA(1)==V_COLON) ) {
-#line 1985 "./verilog.g"
+#line 1996 "./verilog.g"
                 zzmatch(V_COLON); zzCONSUME;
-#line 1985 "./verilog.g"
+#line 1996 "./verilog.g"
                 v_expression();
-#line 1985 "./verilog.g"
+#line 1996 "./verilog.g"
                 zzmatch(V_RBRACK);
-#line 1986 "./verilog.g"
+#line 1997 "./verilog.g"
                 zzaRet.prim= i_primary_symrange_make(zzaArg(zztasp1,1).symbol,zzaArg(zztasp2,2).prim,zzaArg(zztasp3,2).prim);
  zzCONSUME;
 
               }
-              else {zzFAIL(1,zzerr104,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+              else {zzFAIL(1,zzerr108,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
             }
             zzEXIT(zztasp3);
             }
           }
         }
         else {
-          if ( (setwd30[LA(1)]&0x20) ) {
-#line 1987 "./verilog.g"
+          if ( (setwd31[LA(1)]&0x8) ) {
+#line 1998 "./verilog.g"
             zzaRet.prim= i_primary_make(PRIM_SYMBOL,zzaArg(zztasp1,1).symbol);
           }
-          else {zzFAIL(1,zzerr105,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr109,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
         zzEXIT(zztasp2);
         }
       }
     }
     else {
-      if ( (LA(1)==V_LBRACE) ) {
-#line 1988 "./verilog.g"
+      if ( (LA(1)==V_LBRACE)
+ ) {
+#line 1999 "./verilog.g"
         v_multiple_concatenation();
-#line 1988 "./verilog.g"
+#line 1999 "./verilog.g"
         zzaRet.prim = zzaArg(zztasp1,1 ).prim;
       }
       else {
-        if ( (setwd30[LA(1)]&0x40) && (LA(2)==V_LP) ) {
-#line 1989 "./verilog.g"
+        if ( (setwd31[LA(1)]&0x10) && (LA(2)==V_LP) ) {
+#line 2000 "./verilog.g"
           v_function_call();
-#line 1989 "./verilog.g"
+#line 2000 "./verilog.g"
           zzaRet.prim = zzaArg(zztasp1,1 ).prim;
         }
         else {
-          if ( (LA(1)==V_LP)
- ) {
-#line 1990 "./verilog.g"
+          if ( (LA(1)==V_LP) ) {
+#line 2001 "./verilog.g"
             zzmatch(V_LP); zzCONSUME;
-#line 1990 "./verilog.g"
+#line 2001 "./verilog.g"
             v_mintypmax_expression();
-#line 1990 "./verilog.g"
+#line 2001 "./verilog.g"
             zzmatch(V_RP);
-#line 1990 "./verilog.g"
+#line 2001 "./verilog.g"
             zzaRet.prim = zzaArg(zztasp1,2 ).prim;
  zzCONSUME;
 
           }
-          else {zzFAIL(2,zzerr106,zzerr107,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(2,zzerr110,zzerr111,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
       }
     }
@@ -7262,7 +7396,7 @@ v_primary()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd30, 0x80);
+  zzresynch(setwd31, 0x20);
   }
 }
 
@@ -7273,75 +7407,75 @@ v_number(void)
 v_number()
 #endif
 {
-#line 1994 "./verilog.g"
+#line 2005 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_DECIMAL_NUMBER) ) {
-#line 1994 "./verilog.g"
+#line 2005 "./verilog.g"
     zzmatch(V_DECIMAL_NUMBER);
-#line 1994 "./verilog.g"
+#line 2005 "./verilog.g"
     zzaRet.num = i_number_make(zzaArg(zztasp1,1).ival);
  zzCONSUME;
 
   }
   else {
     if ( (LA(1)==V_HBASE) ) {
-#line 1995 "./verilog.g"
+#line 2006 "./verilog.g"
       zzmatch(V_HBASE);
-#line 1995 "./verilog.g"
+#line 2006 "./verilog.g"
       zzaRet.num = i_number_basemake(NV_HBASE, zzaArg(zztasp1,1 ).text);
  zzCONSUME;
 
     }
     else {
-      if ( (LA(1)==V_DBASE) ) {
-#line 1996 "./verilog.g"
+      if ( (LA(1)==V_DBASE)
+ ) {
+#line 2007 "./verilog.g"
         zzmatch(V_DBASE);
-#line 1996 "./verilog.g"
+#line 2007 "./verilog.g"
         zzaRet.num = i_number_basemake(NV_DBASE, zzaArg(zztasp1,1 ).text);
  zzCONSUME;
 
       }
       else {
         if ( (LA(1)==V_BBASE) ) {
-#line 1997 "./verilog.g"
+#line 2008 "./verilog.g"
           zzmatch(V_BBASE);
-#line 1997 "./verilog.g"
+#line 2008 "./verilog.g"
           zzaRet.num = i_number_basemake(NV_BBASE, zzaArg(zztasp1,1 ).text);
  zzCONSUME;
 
         }
         else {
-          if ( (LA(1)==V_OBASE)
- ) {
-#line 1998 "./verilog.g"
+          if ( (LA(1)==V_OBASE) ) {
+#line 2009 "./verilog.g"
             zzmatch(V_OBASE);
-#line 1998 "./verilog.g"
+#line 2009 "./verilog.g"
             zzaRet.num = i_number_basemake(NV_OBASE, zzaArg(zztasp1,1 ).text);
  zzCONSUME;
 
           }
           else {
             if ( (LA(1)==V_FLOAT1) ) {
-#line 1999 "./verilog.g"
+#line 2010 "./verilog.g"
               zzmatch(V_FLOAT1);
-#line 1999 "./verilog.g"
+#line 2010 "./verilog.g"
               zzaRet.num = i_number_fmake(zzaArg(zztasp1,1 ).rval);
  zzCONSUME;
 
             }
             else {
               if ( (LA(1)==V_FLOAT2) ) {
-#line 2000 "./verilog.g"
+#line 2011 "./verilog.g"
                 zzmatch(V_FLOAT2);
-#line 2000 "./verilog.g"
+#line 2011 "./verilog.g"
                 zzaRet.num = i_number_fmake(zzaArg(zztasp1,1 ).rval);
  zzCONSUME;
 
               }
-              else {zzFAIL(1,zzerr108,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+              else {zzFAIL(1,zzerr112,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
             }
           }
         }
@@ -7353,7 +7487,7 @@ v_number()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x1);
+  zzresynch(setwd31, 0x40);
   }
 }
 
@@ -7364,18 +7498,18 @@ v_concatenation(void)
 v_concatenation()
 #endif
 {
-#line 2003 "./verilog.g"
+#line 2014 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2004 "./verilog.g"
+#line 2015 "./verilog.g"
   zzmatch(V_LBRACE); zzCONSUME;
-#line 2004 "./verilog.g"
+#line 2015 "./verilog.g"
   v_explist();
-#line 2004 "./verilog.g"
+#line 2015 "./verilog.g"
   zzmatch(V_RBRACE);
-#line 2005 "./verilog.g"
+#line 2016 "./verilog.g"
   zzaRet.prim = i_primary_concat_make(NULL,zzaArg(zztasp1,2 ).explist);
  zzCONSUME;
 
@@ -7384,7 +7518,7 @@ v_concatenation()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x2);
+  zzresynch(setwd31, 0x80);
   }
 }
 
@@ -7395,37 +7529,38 @@ v_multiple_concatenation(void)
 v_multiple_concatenation()
 #endif
 {
-#line 2008 "./verilog.g"
+#line 2019 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2009 "./verilog.g"
+#line 2020 "./verilog.g"
   struct i_explist *lroot=NULL, *lcurrent=NULL;
-#line 2010 "./verilog.g"
+#line 2021 "./verilog.g"
   zzmatch(V_LBRACE); zzCONSUME;
-#line 2010 "./verilog.g"
+#line 2021 "./verilog.g"
   v_expression();
-#line 2011 "./verilog.g"
+#line 2022 "./verilog.g"
   lroot=lcurrent=(struct i_explist *)calloc(1,sizeof(struct i_explist));
   lcurrent->item=zzaArg(zztasp1,2 ).prim;
-#line 2020 "./verilog.g"
+#line 2031 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd31[LA(1)]&0x4) ) {
-#line 2020 "./verilog.g"
+    if ( (setwd32[LA(1)]&0x1)
+ ) {
+#line 2031 "./verilog.g"
       {
         zzBLOCK(zztasp3);
         zzMake0;
         {
         while ( (LA(1)==V_COMMA) ) {
-#line 2015 "./verilog.g"
+#line 2026 "./verilog.g"
           zzmatch(V_COMMA); zzCONSUME;
-#line 2015 "./verilog.g"
+#line 2026 "./verilog.g"
           v_expression();
-#line 2016 "./verilog.g"
+#line 2027 "./verilog.g"
           lcurrent->next=(struct i_explist *)calloc(1,sizeof(struct i_explist));
           lcurrent=lcurrent->next;
           lcurrent->item=zzaArg(zztasp3,2 ).prim;
@@ -7434,37 +7569,36 @@ v_multiple_concatenation()
         zzEXIT(zztasp3);
         }
       }
-#line 2021 "./verilog.g"
+#line 2032 "./verilog.g"
       zzaRet.prim = i_primary_concat_make(NULL,i_explist_make(lroot));
     }
     else {
-      if ( (LA(1)==V_LBRACE)
- ) {
-#line 2023 "./verilog.g"
+      if ( (LA(1)==V_LBRACE) ) {
+#line 2034 "./verilog.g"
         zzmatch(V_LBRACE); zzCONSUME;
-#line 2023 "./verilog.g"
+#line 2034 "./verilog.g"
         v_explist();
-#line 2023 "./verilog.g"
+#line 2034 "./verilog.g"
         zzmatch(V_RBRACE);
-#line 2024 "./verilog.g"
+#line 2035 "./verilog.g"
         zzaRet.prim = i_primary_concat_make(lroot->item,zzaArg(zztasp2,2 ).explist); 
         free(lroot);
  zzCONSUME;
 
       }
-      else {zzFAIL(1,zzerr109,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr113,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
     zzEXIT(zztasp2);
     }
   }
-#line 2028 "./verilog.g"
+#line 2039 "./verilog.g"
   zzmatch(V_RBRACE); zzCONSUME;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x8);
+  zzresynch(setwd32, 0x2);
   }
 }
 
@@ -7475,20 +7609,20 @@ v_function_call(void)
 v_function_call()
 #endif
 {
-#line 2031 "./verilog.g"
+#line 2042 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2031 "./verilog.g"
+#line 2042 "./verilog.g"
   v_name_of_function();
-#line 2031 "./verilog.g"
+#line 2042 "./verilog.g"
   zzmatch(V_LP); zzCONSUME;
-#line 2031 "./verilog.g"
+#line 2042 "./verilog.g"
   v_explist();
-#line 2031 "./verilog.g"
+#line 2042 "./verilog.g"
   zzmatch(V_RP);
-#line 2032 "./verilog.g"
+#line 2043 "./verilog.g"
   zzaRet.prim=i_primary_funcall_make(zzaArg(zztasp1,1 ).symbol,zzaArg(zztasp1,3 ).explist);
  zzCONSUME;
 
@@ -7497,7 +7631,7 @@ v_function_call()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x10);
+  zzresynch(setwd32, 0x4);
   }
 }
 
@@ -7508,21 +7642,21 @@ v_name_of_function(void)
 v_name_of_function()
 #endif
 {
-#line 2035 "./verilog.g"
+#line 2046 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2035 "./verilog.g"
+#line 2046 "./verilog.g"
   v_identifier_nodot();
-#line 2035 "./verilog.g"
+#line 2046 "./verilog.g"
   zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x20);
+  zzresynch(setwd32, 0x8);
   }
 }
 
@@ -7533,29 +7667,29 @@ v_explist(void)
 v_explist()
 #endif
 {
-#line 2038 "./verilog.g"
+#line 2049 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2038 "./verilog.g"
+#line 2049 "./verilog.g"
   struct i_explist *lroot=NULL, *lcurrent=NULL;
-#line 2039 "./verilog.g"
+#line 2050 "./verilog.g"
   v_fn_expression();
-#line 2040 "./verilog.g"
+#line 2051 "./verilog.g"
   lroot=lcurrent=(struct i_explist *)calloc(1,sizeof(struct i_explist));
   lcurrent->item=zzaArg(zztasp1,1 ).prim;
-#line 2048 "./verilog.g"
+#line 2059 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (LA(1)==V_COMMA) ) {
-#line 2043 "./verilog.g"
+#line 2054 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 2043 "./verilog.g"
+#line 2054 "./verilog.g"
       v_fn_expression();
-#line 2044 "./verilog.g"
+#line 2055 "./verilog.g"
       lcurrent->next=(struct i_explist *)calloc(1,sizeof(struct i_explist));
       lcurrent=lcurrent->next;
       lcurrent->item=zzaArg(zztasp2,2 ).prim;
@@ -7564,14 +7698,14 @@ v_explist()
     zzEXIT(zztasp2);
     }
   }
-#line 2049 "./verilog.g"
+#line 2060 "./verilog.g"
   zzaRet.explist=i_explist_make(lroot);
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd31, 0x40);
+  zzresynch(setwd32, 0x10);
   }
 }
 
@@ -7582,30 +7716,31 @@ v_fn_expression(void)
 v_fn_expression()
 #endif
 {
-#line 2052 "./verilog.g"
+#line 2063 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd31[LA(1)]&0x80) ) {
-#line 2053 "./verilog.g"
+  if ( (setwd32[LA(1)]&0x20) ) {
+#line 2064 "./verilog.g"
     v_expression();
-#line 2053 "./verilog.g"
+#line 2064 "./verilog.g"
     zzaRet.prim = zzaArg(zztasp1,1 ).prim;
   }
   else {
-    if ( (setwd32[LA(1)]&0x1) ) {
-#line 2054 "./verilog.g"
+    if ( (setwd32[LA(1)]&0x40)
+ ) {
+#line 2065 "./verilog.g"
       zzaRet.prim = NULL;
     }
-    else {zzFAIL(1,zzerr110,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr114,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd32, 0x2);
+  zzresynch(setwd32, 0x80);
   }
 }
 
@@ -7616,29 +7751,29 @@ v_mexplist(void)
 v_mexplist()
 #endif
 {
-#line 2058 "./verilog.g"
+#line 2069 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2058 "./verilog.g"
+#line 2069 "./verilog.g"
   struct i_explist *lroot=NULL, *lcurrent=NULL;
-#line 2059 "./verilog.g"
+#line 2070 "./verilog.g"
   v_mfn_expression();
-#line 2060 "./verilog.g"
+#line 2071 "./verilog.g"
   lroot=lcurrent=(struct i_explist *)calloc(1,sizeof(struct i_explist));
   lcurrent->item=zzaArg(zztasp1,1 ).prim;
-#line 2068 "./verilog.g"
+#line 2079 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
     while ( (LA(1)==V_COMMA) ) {
-#line 2063 "./verilog.g"
+#line 2074 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
-#line 2063 "./verilog.g"
+#line 2074 "./verilog.g"
       v_mfn_expression();
-#line 2064 "./verilog.g"
+#line 2075 "./verilog.g"
       lcurrent->next=(struct i_explist *)calloc(1,sizeof(struct i_explist));
       lcurrent=lcurrent->next;
       lcurrent->item=zzaArg(zztasp2,2 ).prim;
@@ -7647,14 +7782,14 @@ v_mexplist()
     zzEXIT(zztasp2);
     }
   }
-#line 2069 "./verilog.g"
+#line 2080 "./verilog.g"
   zzaRet.explist=i_explist_make(lroot);
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd32, 0x4);
+  zzresynch(setwd33, 0x1);
   }
 }
 
@@ -7665,24 +7800,23 @@ v_mfn_expression(void)
 v_mfn_expression()
 #endif
 {
-#line 2072 "./verilog.g"
+#line 2083 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_DOT)
- ) {
-#line 2073 "./verilog.g"
+  if ( (LA(1)==V_DOT) ) {
+#line 2084 "./verilog.g"
     zzmatch(V_DOT); zzCONSUME;
-#line 2073 "./verilog.g"
+#line 2084 "./verilog.g"
     v_identifier_nodot();
-#line 2073 "./verilog.g"
+#line 2084 "./verilog.g"
     zzmatch(V_LP); zzCONSUME;
-#line 2073 "./verilog.g"
+#line 2084 "./verilog.g"
     v_expression();
-#line 2073 "./verilog.g"
+#line 2084 "./verilog.g"
     zzmatch(V_RP);
-#line 2074 "./verilog.g"
+#line 2085 "./verilog.g"
     
     struct i_primary *ip = i_primary_make(PRIM_NAMEDPARAM,NULL);
     ip->primval.named_param.sym = zzaArg(zztasp1,2 ).symbol;
@@ -7693,18 +7827,18 @@ v_mfn_expression()
 
   }
   else {
-    if ( (setwd32[LA(1)]&0x8) ) {
-#line 2081 "./verilog.g"
+    if ( (setwd33[LA(1)]&0x2) ) {
+#line 2092 "./verilog.g"
       v_expression();
-#line 2081 "./verilog.g"
+#line 2092 "./verilog.g"
       zzaRet.prim = zzaArg(zztasp1,1 ).prim;
     }
     else {
-      if ( (setwd32[LA(1)]&0x10) ) {
-#line 2082 "./verilog.g"
+      if ( (setwd33[LA(1)]&0x4) ) {
+#line 2093 "./verilog.g"
         zzaRet.prim = NULL;
       }
-      else {zzFAIL(1,zzerr111,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr115,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
   }
   zzEXIT(zztasp1);
@@ -7712,7 +7846,7 @@ v_mfn_expression()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd32, 0x20);
+  zzresynch(setwd33, 0x8);
   }
 }
 
@@ -7723,34 +7857,35 @@ v_identifier(void)
 v_identifier()
 #endif
 {
-#line 2089 "./verilog.g"
+#line 2100 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (setwd32[LA(1)]&0x40) ) {
-#line 2089 "./verilog.g"
+  if ( (setwd33[LA(1)]&0x10)
+ ) {
+#line 2100 "./verilog.g"
     v_identifier_nodot();
-#line 2089 "./verilog.g"
+#line 2100 "./verilog.g"
     zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
   }
   else {
     if ( (LA(1)==V_IDENDOT) ) {
-#line 2090 "./verilog.g"
+#line 2101 "./verilog.g"
       zzmatch(V_IDENDOT);
-#line 2090 "./verilog.g"
+#line 2101 "./verilog.g"
       zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
  zzCONSUME;
 
     }
-    else {zzFAIL(1,zzerr112,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr116,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd32, 0x80);
+  zzresynch(setwd33, 0x20);
   }
 }
 
@@ -7761,39 +7896,38 @@ v_identifier_nodot(void)
 v_identifier_nodot()
 #endif
 {
-#line 2093 "./verilog.g"
+#line 2104 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-  if ( (LA(1)==V_IDENTIFIER)
- ) {
-#line 2094 "./verilog.g"
+  if ( (LA(1)==V_IDENTIFIER) ) {
+#line 2105 "./verilog.g"
     zzmatch(V_IDENTIFIER);
-#line 2094 "./verilog.g"
+#line 2105 "./verilog.g"
     zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
  zzCONSUME;
 
   }
   else {
     if ( (LA(1)==V_IDENTIFIER2) ) {
-#line 2095 "./verilog.g"
+#line 2106 "./verilog.g"
       zzmatch(V_IDENTIFIER2);
-#line 2095 "./verilog.g"
+#line 2106 "./verilog.g"
       zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
  zzCONSUME;
 
     }
     else {
       if ( (LA(1)==V_FUNCTION_NAME) ) {
-#line 2096 "./verilog.g"
+#line 2107 "./verilog.g"
         zzmatch(V_FUNCTION_NAME);
-#line 2096 "./verilog.g"
+#line 2107 "./verilog.g"
         zzaRet.symbol = zzaArg(zztasp1,1 ).symbol;
  zzCONSUME;
 
       }
-      else {zzFAIL(1,zzerr113,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+      else {zzFAIL(1,zzerr117,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
     }
   }
   zzEXIT(zztasp1);
@@ -7801,7 +7935,7 @@ v_identifier_nodot()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd33, 0x1);
+  zzresynch(setwd33, 0x40);
   }
 }
 
@@ -7812,53 +7946,53 @@ v_delay(void)
 v_delay()
 #endif
 {
-#line 2099 "./verilog.g"
+#line 2110 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2099 "./verilog.g"
+#line 2110 "./verilog.g"
   zzmatch(V_POUND); zzCONSUME;
-#line 2099 "./verilog.g"
+#line 2110 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd33[LA(1)]&0x2) ) {
-#line 2099 "./verilog.g"
+    if ( (setwd33[LA(1)]&0x80)
+ ) {
+#line 2110 "./verilog.g"
       v_number();
     }
     else {
-      if ( (setwd33[LA(1)]&0x4) ) {
-#line 2100 "./verilog.g"
+      if ( (setwd34[LA(1)]&0x1) ) {
+#line 2111 "./verilog.g"
         v_identifier();
       }
       else {
-        if ( (LA(1)==V_LP)
- ) {
-#line 2101 "./verilog.g"
+        if ( (LA(1)==V_LP) ) {
+#line 2112 "./verilog.g"
           zzmatch(V_LP); zzCONSUME;
-#line 2101 "./verilog.g"
+#line 2112 "./verilog.g"
           v_mintypmax_expression();
-#line 2102 "./verilog.g"
+#line 2113 "./verilog.g"
           {
             zzBLOCK(zztasp3);
             zzMake0;
             {
             while ( (LA(1)==V_COMMA) ) {
-#line 2102 "./verilog.g"
+#line 2113 "./verilog.g"
               zzmatch(V_COMMA); zzCONSUME;
-#line 2102 "./verilog.g"
+#line 2113 "./verilog.g"
               v_mintypmax_expression();
               zzLOOP(zztasp3);
             }
             zzEXIT(zztasp3);
             }
           }
-#line 2102 "./verilog.g"
+#line 2113 "./verilog.g"
           zzmatch(V_RP); zzCONSUME;
         }
-        else {zzFAIL(1,zzerr114,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr118,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
     }
     zzEXIT(zztasp2);
@@ -7869,7 +8003,7 @@ v_delay()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd33, 0x8);
+  zzresynch(setwd34, 0x2);
   }
 }
 
@@ -7880,37 +8014,38 @@ v_delay_control(void)
 v_delay_control()
 #endif
 {
-#line 2105 "./verilog.g"
+#line 2116 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2105 "./verilog.g"
+#line 2116 "./verilog.g"
   zzmatch(V_POUND); zzCONSUME;
-#line 2105 "./verilog.g"
+#line 2116 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd33[LA(1)]&0x10) ) {
-#line 2105 "./verilog.g"
+    if ( (setwd34[LA(1)]&0x4) ) {
+#line 2116 "./verilog.g"
       v_number();
     }
     else {
-      if ( (setwd33[LA(1)]&0x20) ) {
-#line 2106 "./verilog.g"
+      if ( (setwd34[LA(1)]&0x8)
+ ) {
+#line 2117 "./verilog.g"
         v_identifier();
       }
       else {
         if ( (LA(1)==V_LP) ) {
-#line 2107 "./verilog.g"
+#line 2118 "./verilog.g"
           zzmatch(V_LP); zzCONSUME;
-#line 2107 "./verilog.g"
+#line 2118 "./verilog.g"
           v_mintypmax_expression();
-#line 2107 "./verilog.g"
+#line 2118 "./verilog.g"
           zzmatch(V_RP); zzCONSUME;
         }
-        else {zzFAIL(1,zzerr115,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr119,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
     }
     zzEXIT(zztasp2);
@@ -7921,7 +8056,7 @@ v_delay_control()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd33, 0x40);
+  zzresynch(setwd34, 0x10);
   }
 }
 
@@ -7932,38 +8067,37 @@ v_event_control(void)
 v_event_control()
 #endif
 {
-#line 2110 "./verilog.g"
+#line 2121 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2110 "./verilog.g"
+#line 2121 "./verilog.g"
   zzmatch(V_AT); zzCONSUME;
-#line 2110 "./verilog.g"
+#line 2121 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd33[LA(1)]&0x80)
- ) {
-#line 2110 "./verilog.g"
+    if ( (setwd34[LA(1)]&0x20) ) {
+#line 2121 "./verilog.g"
       v_identifier();
     }
     else {
       if ( (LA(1)==V_LP) ) {
-#line 2111 "./verilog.g"
+#line 2122 "./verilog.g"
         zzmatch(V_LP); zzCONSUME;
-#line 2111 "./verilog.g"
+#line 2122 "./verilog.g"
         v_event_expression();
-#line 2111 "./verilog.g"
+#line 2122 "./verilog.g"
         zzmatch(V_RP); zzCONSUME;
       }
       else {
         if ( (LA(1)==V_STAR) ) {
-#line 2112 "./verilog.g"
+#line 2123 "./verilog.g"
           zzmatch(V_STAR); zzCONSUME;
         }
-        else {zzFAIL(1,zzerr116,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+        else {zzFAIL(1,zzerr120,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
       }
     }
     zzEXIT(zztasp2);
@@ -7974,7 +8108,7 @@ v_event_control()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd34, 0x1);
+  zzresynch(setwd34, 0x40);
   }
 }
 
@@ -7985,22 +8119,23 @@ v_event_expression(void)
 v_event_expression()
 #endif
 {
-#line 2116 "./verilog.g"
+#line 2127 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2117 "./verilog.g"
+#line 2128 "./verilog.g"
   v_event_expression2();
-#line 2117 "./verilog.g"
+#line 2128 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    while ( (setwd34[LA(1)]&0x2) ) {
-#line 2117 "./verilog.g"
+    while ( (setwd34[LA(1)]&0x80)
+ ) {
+#line 2128 "./verilog.g"
       v_orcomma();
-#line 2117 "./verilog.g"
+#line 2128 "./verilog.g"
       v_event_expression2();
       zzLOOP(zztasp2);
     }
@@ -8012,7 +8147,7 @@ v_event_expression()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd34, 0x4);
+  zzresynch(setwd35, 0x1);
   }
 }
 
@@ -8023,29 +8158,28 @@ v_orcomma(void)
 v_orcomma()
 #endif
 {
-#line 2120 "./verilog.g"
+#line 2131 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
   if ( (LA(1)==V_ORLIT) ) {
-#line 2120 "./verilog.g"
+#line 2131 "./verilog.g"
     zzmatch(V_ORLIT); zzCONSUME;
   }
   else {
-    if ( (LA(1)==V_COMMA)
- ) {
-#line 2121 "./verilog.g"
+    if ( (LA(1)==V_COMMA) ) {
+#line 2132 "./verilog.g"
       zzmatch(V_COMMA); zzCONSUME;
     }
-    else {zzFAIL(1,zzerr117,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+    else {zzFAIL(1,zzerr121,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
   }
   zzEXIT(zztasp1);
   return;
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd34, 0x8);
+  zzresynch(setwd35, 0x2);
   }
 }
 
@@ -8056,40 +8190,41 @@ v_event_expression2(void)
 v_event_expression2()
 #endif
 {
-#line 2124 "./verilog.g"
+#line 2135 "./verilog.g"
   zzRULE;
   zzBLOCK(zztasp1);
   zzMake0;
   {
-#line 2124 "./verilog.g"
+#line 2135 "./verilog.g"
   {
     zzBLOCK(zztasp2);
     zzMake0;
     {
-    if ( (setwd34[LA(1)]&0x10) ) {
-#line 2124 "./verilog.g"
+    if ( (setwd35[LA(1)]&0x4) ) {
+#line 2135 "./verilog.g"
       v_expression();
     }
     else {
       if ( (LA(1)==V_POSEDGE) ) {
-#line 2125 "./verilog.g"
+#line 2136 "./verilog.g"
         zzmatch(V_POSEDGE); zzCONSUME;
-#line 2125 "./verilog.g"
+#line 2136 "./verilog.g"
         v_expression();
       }
       else {
-        if ( (LA(1)==V_NEGEDGE) ) {
-#line 2126 "./verilog.g"
+        if ( (LA(1)==V_NEGEDGE)
+ ) {
+#line 2137 "./verilog.g"
           zzmatch(V_NEGEDGE); zzCONSUME;
-#line 2126 "./verilog.g"
+#line 2137 "./verilog.g"
           v_expression();
         }
         else {
           if ( (LA(1)==V_STAR) ) {
-#line 2127 "./verilog.g"
+#line 2138 "./verilog.g"
             zzmatch(V_STAR); zzCONSUME;
           }
-          else {zzFAIL(1,zzerr118,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
+          else {zzFAIL(1,zzerr122,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
         }
       }
     }
@@ -8101,6 +8236,6 @@ v_event_expression2()
 fail:
   zzEXIT(zztasp1);
   zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
-  zzresynch(setwd34, 0x20);
+  zzresynch(setwd35, 0x8);
   }
 }
diff --git a/contrib/vermin/verilog.g b/contrib/vermin/verilog.g
index df6be3b..484728a 100644
--- a/contrib/vermin/verilog.g
+++ b/contrib/vermin/verilog.g
@@ -1253,6 +1253,7 @@ v_module_item:	v_parameter_declaration
 		| v_reg_declaration
 		| v_time_declaration
 		| v_integer_declaration
+		| v_genvar_declaration
 		| v_real_declaration
 		| v_event_declaration
 		| v_gate_declaration
@@ -1265,6 +1266,7 @@ v_module_item:	v_parameter_declaration
 		| v_task
 		| v_function
 		| v_specify_block
+		| v_generate_block
 		;
 
 v_udp:		V_PRIMITIVE 
@@ -1530,6 +1532,9 @@ v_time_declaration: V_TIME v_optsigned (v_range | ) v_list_of_register_variables
 v_integer_declaration: V_INTEGER v_optsigned (v_range | ) v_list_of_register_variables V_SEMI
 		;
 
+v_genvar_declaration: V_GENVAR v_optsigned (v_range | ) v_list_of_register_variables V_SEMI
+		;
+
 v_real_declaration: V_REAL v_optsigned (v_range | ) v_list_of_register_variables V_SEMI
 		;
 
@@ -1541,7 +1546,7 @@ v_continuous_assign: V_ASSIGN v_cont_drv v_cont_dly v_list_of_assignments V_SEMI
 		v_optsigned // v2k1
 		v_net_chg 
 		v_cont_exr v_cont_dly
-		(v_list_of_assignments | v_list_of_variables ) V_SEMI
+		(v_list_of_variables | v_list_of_assignments) V_SEMI
 		;
 
 v_cont_drv:	v_drive_strength
@@ -1560,8 +1565,11 @@ v_cont_dly:	v_delay
 v_parameter_override: V_DEFPARAM v_list_of_param_assignments V_SEMI
 		;
 
-v_list_of_variables: v_name_of_variable
-		(V_COMMA v_name_of_variable)*
+v_list_of_variables: v_name_of_variable v_optrange_list
+		(V_COMMA v_name_of_variable v_optrange_list)*
+		;
+
+v_optrange_list: (v_range | )
 		;
 
 v_name_of_variable: v_identifier
@@ -1872,6 +1880,9 @@ v_name_of_task: v_identifier
 v_name_of_task_or_block: v_identifier_nodot
 		;
 
+v_generate_block: V_GENERATE (~V_ENDGENERATE)* V_ENDGENERATE
+                ;
+
 
 //
 // section 6 (specify blocks not supported, just skip over them with negative token matching)
diff --git a/src/ae2.c b/src/ae2.c
index 7a1a40b..63b9752 100644
--- a/src/ae2.c
+++ b/src/ae2.c
@@ -194,7 +194,7 @@ static unsigned long ae2_read_symbol_rows_2(AE2_HANDLE handle, unsigned long sym
 {
 if(symbol_idx <= GLOBALS->ae2_num_facs)
 	{
-	unsigned long r = ae2_read_symbol_rows(handle, symbol_idx);
+	unsigned long r = (unsigned long)((unsigned int)ae2_read_symbol_rows(handle, symbol_idx));
 	if(r > AE2_MAX_ROWS) r = AE2_MAX_ROWS;
 	return(r);
 	}
diff --git a/src/bitvec.c b/src/bitvec.c
index 9276064..aa2ccd0 100644
--- a/src/bitvec.c
+++ b/src/bitvec.c
@@ -329,7 +329,8 @@ while(h[0])	/* should never exit through this point the way we set up histents w
 				case 'w': case 'W':
 					enc = AN_W; break;
 
-				default: enc = enc & AN_MSK; break;
+				default: 
+					enc = enc & AN_MSK; break;
 				}
 			}
 			else
diff --git a/src/helpers/fst/fstapi.c b/src/helpers/fst/fstapi.c
index cf59597..da65758 100644
--- a/src/helpers/fst/fstapi.c
+++ b/src/helpers/fst/fstapi.c
@@ -531,9 +531,26 @@ size_t fst_break_add_size;
 size_t fst_huge_break_size;
 
 fstHandle next_huge_break;
+
+unsigned fseek_failed : 1;
 };
 
 
+static int fstWriterFseeko(struct fstWriterContext *xc, FILE *stream, off_t offset, int whence)
+{
+int rc = fseeko(stream, offset, whence);
+
+if(rc<0)
+	{
+	xc->fseek_failed = 1;
+#ifdef FST_DEBUG
+	fprintf(stderr, "Seek to #%"PRId64" (whence = %d) failed!\n", offset, whence);
+	perror("Why");
+#endif
+	}
+}
+
+
 static uint32_t fstWriterUint32WithVarint32(struct fstWriterContext *xc, uint32_t *u, uint32_t v, const void *dbuf, uint32_t siz)
 {
 unsigned char *buf = xc->vchg_mem + xc->vchg_siz;
@@ -673,15 +690,15 @@ off_t curpos = ftello(xc->handle);
 fflush(xc->hier_handle);
 
 /* write out intermediate header */
-fseeko(xc->handle, FST_HDR_OFFS_START_TIME, SEEK_SET);
+fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_START_TIME, SEEK_SET);
 fstWriterUint64(xc->handle, xc->firsttime);
 fstWriterUint64(xc->handle, xc->curtime);
-fseeko(xc->handle, FST_HDR_OFFS_NUM_SCOPES, SEEK_SET);
+fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_NUM_SCOPES, SEEK_SET);
 fstWriterUint64(xc->handle, xc->numscopes);
 fstWriterUint64(xc->handle, xc->numsigs);
 fstWriterUint64(xc->handle, xc->maxhandle);
 fstWriterUint64(xc->handle, xc->secnum);
-fseeko(xc->handle, curpos, SEEK_SET);
+fstWriterFseeko(xc, xc->handle, curpos, SEEK_SET);
 fflush(xc->handle);
 
 /* do mappings */
@@ -1322,7 +1339,7 @@ fstWriterUint64(xc->handle, endpos-indxpos);		/* write delta index position at v
 /*emit time changes for block */
 fflush(xc->tchn_handle);
 tlen = ftello(xc->tchn_handle);
-fseeko(xc->tchn_handle, 0, SEEK_SET);
+fstWriterFseeko(xc, xc->tchn_handle, 0, SEEK_SET);
 
 tmem = fstMmap(NULL, tlen, PROT_READ|PROT_WRITE, MAP_SHARED, fileno(xc->tchn_handle), 0);
 if(tmem)
@@ -1348,19 +1365,19 @@ if(tmem)
 	}
 
 xc->tchn_cnt = xc->tchn_idx = 0;
-fseeko(xc->tchn_handle, 0, SEEK_SET);
+fstWriterFseeko(xc, xc->tchn_handle, 0, SEEK_SET);
 fstFtruncate(fileno(xc->tchn_handle), 0);
 
 /* write block trailer */
 endpos = ftello(xc->handle);
-fseeko(xc->handle, xc->section_start, SEEK_SET);
+fstWriterFseeko(xc, xc->handle, xc->section_start, SEEK_SET);
 fstWriterUint64(xc->handle, endpos - xc->section_start); 	/* write block length */
-fseeko(xc->handle, 8, SEEK_CUR);				/* skip begin time */
+fstWriterFseeko(xc, xc->handle, 8, SEEK_CUR);				/* skip begin time */
 fstWriterUint64(xc->handle, xc->curtime); 			/* write end time for section */
 fstWriterUint64(xc->handle, unc_memreq);			/* amount of buffer memory required in reader for full traversal */
 fflush(xc->handle);
 
-fseeko(xc->handle, xc->section_start-1, SEEK_SET);		/* write out FST_BL_VCDATA over FST_BL_SKIP */
+fstWriterFseeko(xc, xc->handle, xc->section_start-1, SEEK_SET);		/* write out FST_BL_VCDATA over FST_BL_SKIP */
 
 #ifndef FST_DYNAMIC_ALIAS_DISABLE
 fputc(FST_BL_VCDATA_DYN_ALIAS, xc->handle);
@@ -1370,7 +1387,7 @@ fputc(FST_BL_VCDATA, xc->handle);
 
 fflush(xc->handle);
 
-fseeko(xc->handle, endpos, SEEK_SET);				/* seek to end of file */
+fstWriterFseeko(xc, xc->handle, endpos, SEEK_SET);				/* seek to end of file */
 
 xc2->section_header_truncpos = endpos;				/* cache in case of need to truncate */
 if(xc->dump_size_limit)
@@ -1454,7 +1471,7 @@ if(xc->parallel_enabled)
 
 	xc->tchn_cnt = xc->tchn_idx = 0;
 	xc->tchn_handle = tmpfile();
-	fseeko(xc->tchn_handle, 0, SEEK_SET);
+	fstWriterFseeko(xc, xc->tchn_handle, 0, SEEK_SET);
 	fstFtruncate(fileno(xc->tchn_handle), 0);
 
 	xc->section_header_only = 0;
@@ -1520,7 +1537,7 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 	if(xc->section_header_only && xc->section_header_truncpos && (xc->vchg_siz <= 1) && (!xc->is_initial_time))
 		{
 		fstFtruncate(fileno(xc->handle), xc->section_header_truncpos);
-		fseeko(xc->handle, xc->section_header_truncpos, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, xc->section_header_truncpos, SEEK_SET);
 		xc->section_header_only = 0;
 		}
 		else
@@ -1571,10 +1588,10 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 		fstFwrite((destlen != tlen) ? dmem : tmem, destlen, 1, xc->handle);
 		fflush(xc->handle);
 
-		fseeko(xc->handle, fixup_offs, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, fixup_offs, SEEK_SET);
 		fputc(FST_BL_GEOM, xc->handle);			/* actual tag */
 
-		fseeko(xc->handle, 0, SEEK_END);		/* move file pointer to end for any section adds */
+		fstWriterFseeko(xc, xc->handle, 0, SEEK_END);		/* move file pointer to end for any section adds */
 		fflush(xc->handle);
 
 		free(dmem);
@@ -1604,14 +1621,14 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 			}
 
 		eos = ftello(xc->handle);
-		fseeko(xc->handle, bpos, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, bpos, SEEK_SET);
 		fstWriterUint64(xc->handle, eos - bpos);		
 		fflush(xc->handle);
 
-		fseeko(xc->handle, fixup_offs, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, fixup_offs, SEEK_SET);
 		fputc(FST_BL_BLACKOUT, xc->handle);	/* actual tag */
 
-		fseeko(xc->handle, 0, SEEK_END);	/* move file pointer to end for any section adds */
+		fstWriterFseeko(xc, xc->handle, 0, SEEK_END);	/* move file pointer to end for any section adds */
 		fflush(xc->handle);
 		}
 
@@ -1636,7 +1653,7 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 		zhandle = gzdopen(zfd, "wb4");
 		if(zhandle)
 			{
-			fseeko(xc->hier_handle, 0, SEEK_SET);
+			fstWriterFseeko(xc, xc->hier_handle, 0, SEEK_SET);
 			for(hl = 0; hl < xc->hier_file_len; hl += FST_GZIO_LEN)
 				{
 				unsigned len = ((xc->hier_file_len - hl) > FST_GZIO_LEN) ? FST_GZIO_LEN : (xc->hier_file_len - hl);
@@ -1651,16 +1668,16 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 			}
 		free(mem);
 
-		fseeko(xc->handle, 0, SEEK_END);
+		fstWriterFseeko(xc, xc->handle, 0, SEEK_END);
 		eos = ftello(xc->handle);
-		fseeko(xc->handle, hlen, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, hlen, SEEK_SET);
 		fstWriterUint64(xc->handle, eos - hlen);
 		fflush(xc->handle);
 
-		fseeko(xc->handle, fixup_offs, SEEK_SET);
+		fstWriterFseeko(xc, xc->handle, fixup_offs, SEEK_SET);
 		fputc(FST_BL_HIER, xc->handle);		/* actual tag */
 
-		fseeko(xc->handle, 0, SEEK_END);	/* move file pointer to end for any section adds */
+		fstWriterFseeko(xc, xc->handle, 0, SEEK_END);	/* move file pointer to end for any section adds */
 		fflush(xc->handle);
 
 #ifndef __MINGW32__
@@ -1671,10 +1688,10 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 		}
 
 	/* finalize out header */
-	fseeko(xc->handle, FST_HDR_OFFS_START_TIME, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_START_TIME, SEEK_SET);
 	fstWriterUint64(xc->handle, xc->firsttime);
 	fstWriterUint64(xc->handle, xc->curtime);
-	fseeko(xc->handle, FST_HDR_OFFS_NUM_SCOPES, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_NUM_SCOPES, SEEK_SET);
 	fstWriterUint64(xc->handle, xc->numscopes);
 	fstWriterUint64(xc->handle, xc->numsigs);
 	fstWriterUint64(xc->handle, xc->maxhandle);
@@ -1706,7 +1723,7 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 				int zfd;
 				char gz_membuf[FST_GZIO_LEN];
 
-				fseeko(xc->handle, 0, SEEK_END);
+				fstWriterFseeko(xc, xc->handle, 0, SEEK_END);
 				uclen = ftello(xc->handle);
 
 				fputc(FST_BL_ZWRAPPER, fp);
@@ -1714,7 +1731,7 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 				fstWriterUint64(fp, uclen);
 				fflush(fp);
 
-				fseeko(xc->handle, 0, SEEK_SET);
+				fstWriterFseeko(xc, xc->handle, 0, SEEK_SET);
 				zfd = dup(fileno(fp));
 				dsth = gzdopen(zfd, "wb4");
 				if(dsth)
@@ -1731,9 +1748,9 @@ if(xc && !xc->already_in_close && !xc->already_in_flush)
 					{
 					close(zfd);
 					}
-				fseeko(fp, 0, SEEK_END);
+				fstWriterFseeko(xc, fp, 0, SEEK_END);
 				offpnt = ftello(fp);
-				fseeko(fp, 1, SEEK_SET);
+				fstWriterFseeko(xc, fp, 1, SEEK_SET);
 				fstWriterUint64(fp, offpnt - 1);
 				fclose(fp);
 				fclose(xc->handle); xc->handle = NULL; 
@@ -1794,12 +1811,12 @@ if(xc)
 	off_t fpos = ftello(xc->handle);
 	int len = strlen(dat);
 
-	fseeko(xc->handle, FST_HDR_OFFS_DATE, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_DATE, SEEK_SET);
 	memset(s, 0, FST_HDR_DATE_SIZE);
 	memcpy(s, dat, (len < FST_HDR_DATE_SIZE) ? len : FST_HDR_DATE_SIZE);
 	fstFwrite(s, FST_HDR_DATE_SIZE, 1, xc->handle);
 	fflush(xc->handle);
-	fseeko(xc->handle, fpos, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, fpos, SEEK_SET);
 	}
 }
 
@@ -1813,12 +1830,12 @@ if(xc && vers)
 	off_t fpos = ftello(xc->handle);
 	int len = strlen(vers);
 
-	fseeko(xc->handle, FST_HDR_OFFS_SIM_VERSION, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_SIM_VERSION, SEEK_SET);
 	memset(s, 0, FST_HDR_SIM_VERSION_SIZE);
 	memcpy(s, vers, (len < FST_HDR_SIM_VERSION_SIZE) ? len : FST_HDR_SIM_VERSION_SIZE);
 	fstFwrite(s, FST_HDR_SIM_VERSION_SIZE, 1, xc->handle);
 	fflush(xc->handle);
-	fseeko(xc->handle, fpos, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, fpos, SEEK_SET);
 	}
 }
 
@@ -1829,10 +1846,10 @@ struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
 if(xc)
         {
 	off_t fpos = ftello(xc->handle);
-	fseeko(xc->handle, FST_HDR_OFFS_TIMESCALE, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_TIMESCALE, SEEK_SET);
 	fputc(ts & 255, xc->handle);
 	fflush(xc->handle);
-	fseeko(xc->handle, fpos, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, fpos, SEEK_SET);
 	}
 }
 
@@ -1887,10 +1904,10 @@ struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
 if(xc)
         {
 	off_t fpos = ftello(xc->handle);
-	fseeko(xc->handle, FST_HDR_OFFS_TIMEZERO, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, FST_HDR_OFFS_TIMEZERO, SEEK_SET);
 	fstWriterUint64(xc->handle, (xc->timezero = tim));
 	fflush(xc->handle);
-	fseeko(xc->handle, fpos, SEEK_SET);
+	fstWriterFseeko(xc, xc->handle, fpos, SEEK_SET);
 	}
 }
 
@@ -1955,6 +1972,18 @@ return(0);
 }
 
 
+int fstWriterGetFseekFailed(void *ctx)
+{
+struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
+if(xc)
+        {
+        return(xc->fseek_failed != 0);
+        }
+
+return(0);
+}
+
+
 /*
  * writer scope/var creation
  */
@@ -2445,9 +2474,25 @@ unsigned do_rewind : 1;
 char str_scope_nam[FST_ID_NAM_SIZ+1];
 char str_scope_comp[FST_ID_NAM_SIZ+1];
 
+unsigned fseek_failed : 1;
 };
 
 
+int fstReaderFseeko(struct fstReaderContext *xc, FILE *stream, off_t offset, int whence)
+{
+int rc = fseeko(stream, offset, whence);
+
+if(rc<0)
+	{
+	xc->fseek_failed = 1;
+#ifdef FST_DEBUG
+	fprintf(stderr, "Seek to #%"PRId64" (whence = %d) failed!\n", offset, whence);
+	perror("Why");
+#endif
+	}
+}
+
+
 /*
  * scope -> flat name handling
  */
@@ -2575,6 +2620,18 @@ return(0);
 }
 
 
+int fstReaderGetFseekFailed(void *ctx)
+{
+struct fstReaderContext *xc = (struct fstReaderContext *)ctx;
+if(xc)
+        {
+        return(xc->fseek_failed != 0);
+        }
+
+return(0);
+}
+
+
 /*
  * iter mask manipulation util functions
  */
@@ -2886,7 +2943,7 @@ if(!xc->fh)
 	int zfd;
 
 	sprintf(fnam, "%s.hier_%d_%p", xc->filename, getpid(), (void *)xc);
-	fseeko(xc->f, xc->hier_pos, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, xc->hier_pos, SEEK_SET);
 	uclen = fstReaderUint64(xc->f);
 	fflush(xc->f);
 	zfd = dup(fileno(xc->f));
@@ -2940,7 +2997,7 @@ if(!xc->fh)
 	free(mem);
 	free(fnam);
 
-	fseeko(xc->f, offs_cache, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, offs_cache, SEEK_SET);
 	}
 
 return(pass_status);
@@ -2989,7 +3046,7 @@ if(xc->do_rewind)
 	{
 	xc->do_rewind = 0;
 	xc->current_handle = 0;
-	fseeko(xc->fh, 0, SEEK_SET);
+	fstReaderFseeko(xc, xc->fh, 0, SEEK_SET);
 	clearerr(xc->fh);
 	}
 
@@ -3168,7 +3225,7 @@ xc->signal_lens = malloc(num_signal_dyn*sizeof(uint32_t));
 free(xc->signal_typs);
 xc->signal_typs = malloc(num_signal_dyn*sizeof(unsigned char));
 
-fseeko(xc->fh, 0, SEEK_SET);
+fstReaderFseeko(xc, xc->fh, 0, SEEK_SET);
 while(!feof(xc->fh))
 	{
 	int tag = fgetc(xc->fh);
@@ -3347,7 +3404,7 @@ if(sectype == FST_BL_ZWRAPPER)
 		}
 #endif
 
-	fseeko(xc->f, 1+8+8, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, 1+8+8, SEEK_SET);
 	fflush(xc->f);
 
 	zfd = dup(fileno(xc->f));
@@ -3385,12 +3442,12 @@ if(sectype == FST_BL_ZWRAPPER)
 
 if(gzread_pass_status)
 	{
-	fseeko(xc->f, 0, SEEK_END);
+	fstReaderFseeko(xc, xc->f, 0, SEEK_END);
 	endfile = ftello(xc->f);
 
 	while(blkpos < endfile)
 		{
-		fseeko(xc->f, blkpos, SEEK_SET);
+		fstReaderFseeko(xc, xc->f, blkpos, SEEK_SET);
 		
 		sectype = fgetc(xc->f);
 		seclen = fstReaderUint64(xc->f);
@@ -3763,7 +3820,7 @@ for(;;)
 	uint32_t *tc_head = NULL;
 	traversal_mem_offs = 0;
 
-	fseeko(xc->f, blkpos, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, blkpos, SEEK_SET);
 	
 	sectype = fgetc(xc->f);
 	seclen = fstReaderUint64(xc->f);
@@ -3825,7 +3882,7 @@ for(;;)
 	uint64_t tpval;
 	int ti;
 
-	if(fseeko(xc->f, blkpos + seclen - 24, SEEK_SET) != 0) break;
+	if(fstReaderFseeko(xc, xc->f, blkpos + seclen - 24, SEEK_SET) != 0) break;
 	tsec_uclen = fstReaderUint64(xc->f);
 	tsec_clen = fstReaderUint64(xc->f);
 	tsec_nitems = fstReaderUint64(xc->f);
@@ -3839,7 +3896,7 @@ for(;;)
 	destlen = tsec_uclen;
 	sourcelen = tsec_clen;
 
-	fseeko(xc->f, -24 - ((off_t)tsec_clen), SEEK_CUR);
+	fstReaderFseeko(xc, xc->f, -24 - ((off_t)tsec_clen), SEEK_CUR);
 
 	if(tsec_uclen != tsec_clen)
 		{
@@ -3877,7 +3934,7 @@ for(;;)
 	free(ucdata);
 	}
 
-	fseeko(xc->f, blkpos+32, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, blkpos+32, SEEK_SET);
 
 	frame_uclen = fstReaderVarint64(xc->f);
 	frame_clen = fstReaderVarint64(xc->f);
@@ -4060,11 +4117,11 @@ for(;;)
 				}
 
 			free(mu);
-			fseeko(xc->f, -((off_t)frame_clen), SEEK_CUR);
+			fstReaderFseeko(xc, xc->f, -((off_t)frame_clen), SEEK_CUR);
 			}
 		}
 
-	fseeko(xc->f, (off_t)frame_clen, SEEK_CUR); /* skip past compressed data */
+	fstReaderFseeko(xc, xc->f, (off_t)frame_clen, SEEK_CUR); /* skip past compressed data */
 
 	vc_maxhandle = fstReaderVarint64(xc->f);
 	vc_start = ftello(xc->f);	/* points to '!' character */
@@ -4077,7 +4134,7 @@ for(;;)
 #endif
 
 	indx_pntr = blkpos + seclen - 24 -tsec_clen -8;
-	fseeko(xc->f, indx_pntr, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, indx_pntr, SEEK_SET);
 	chain_clen = fstReaderUint64(xc->f);
 	indx_pos = indx_pntr - chain_clen;
 #ifdef FST_DEBUG
@@ -4085,7 +4142,7 @@ for(;;)
 #endif
 	chain_cmem = malloc(chain_clen);
 	if(!chain_cmem) goto block_err;
-	fseeko(xc->f, indx_pos, SEEK_SET);
+	fstReaderFseeko(xc, xc->f, indx_pos, SEEK_SET);
 	fstFread(chain_cmem, chain_clen, 1, xc->f);
 	
 	if(vc_maxhandle > vc_maxhandle_largest)
@@ -4172,7 +4229,7 @@ for(;;)
 				uint32_t skiplen;
 				uint32_t tdelta;
 	
-				fseeko(xc->f, vc_start + chain_table[i], SEEK_SET);
+				fstReaderFseeko(xc, xc->f, vc_start + chain_table[i], SEEK_SET);
 				val = fstReaderVarint32WithSkip(xc->f, &skiplen);
 				if(val)
 					{
@@ -4679,7 +4736,7 @@ xc->rvat_chain_pos_valid = 0;
 
 for(;;)
 	{
-	fseeko(xc->f, (prev_blkpos = blkpos), SEEK_SET);
+	fstReaderFseeko(xc, xc->f, (prev_blkpos = blkpos), SEEK_SET);
 
 	sectype = fgetc(xc->f);
 	seclen = fstReaderUint64(xc->f);
@@ -4704,7 +4761,7 @@ for(;;)
 		if((tim == end_tim) && (tim != xc->end_time))
 			{
 			off_t cached_pos = ftello(xc->f);
-			fseeko(xc->f, blkpos, SEEK_SET);
+			fstReaderFseeko(xc, xc->f, blkpos, SEEK_SET);
 
 			sectype = fgetc(xc->f);
 			seclen = fstReaderUint64(xc->f);
@@ -4719,7 +4776,7 @@ for(;;)
 				}
 			beg_tim = beg_tim2;
 			end_tim = end_tim2;
-			fseeko(xc->f, cached_pos, SEEK_SET);
+			fstReaderFseeko(xc, xc->f, cached_pos, SEEK_SET);
 			}
 		break;
 		}
@@ -4753,7 +4810,7 @@ unsigned char *tpnt;
 uint64_t tpval;
 int ti;
 
-fseeko(xc->f, blkpos + seclen - 24, SEEK_SET);
+fstReaderFseeko(xc, xc->f, blkpos + seclen - 24, SEEK_SET);
 tsec_uclen = fstReaderUint64(xc->f);
 tsec_clen = fstReaderUint64(xc->f);
 tsec_nitems = fstReaderUint64(xc->f);
@@ -4765,7 +4822,7 @@ ucdata = malloc(tsec_uclen);
 destlen = tsec_uclen;
 sourcelen = tsec_clen;
 	
-fseeko(xc->f, -24 - ((off_t)tsec_clen), SEEK_CUR);
+fstReaderFseeko(xc, xc->f, -24 - ((off_t)tsec_clen), SEEK_CUR);
 if(tsec_uclen != tsec_clen)
 	{
 	cdata = malloc(tsec_clen);
@@ -4800,7 +4857,7 @@ for(ti=0;ti<tsec_nitems;ti++)
 free(ucdata);
 }
 
-fseeko(xc->f, blkpos+32, SEEK_SET);
+fstReaderFseeko(xc, xc->f, blkpos+32, SEEK_SET);
 
 frame_uclen = fstReaderVarint64(xc->f);
 frame_clen = fstReaderVarint64(xc->f);
@@ -4839,14 +4896,14 @@ printf("\tvc_maxhandle: %d\n", (int)xc->rvat_vc_maxhandle);
 #endif
 
 indx_pntr = blkpos + seclen - 24 -tsec_clen -8;
-fseeko(xc->f, indx_pntr, SEEK_SET);
+fstReaderFseeko(xc, xc->f, indx_pntr, SEEK_SET);
 chain_clen = fstReaderUint64(xc->f);
 indx_pos = indx_pntr - chain_clen;
 #ifdef FST_DEBUG
 printf("\tindx_pos: %d (%d bytes)\n", (int)indx_pos, (int)chain_clen);
 #endif
 chain_cmem = malloc(chain_clen);
-fseeko(xc->f, indx_pos, SEEK_SET);
+fstReaderFseeko(xc, xc->f, indx_pos, SEEK_SET);
 fstFread(chain_cmem, chain_clen, 1, xc->f);
 	
 xc->rvat_chain_table = calloc((xc->rvat_vc_maxhandle+1), sizeof(off_t));
@@ -4941,7 +4998,7 @@ if(facidx != xc->rvat_chain_facidx)
 if(!xc->rvat_chain_mem)
 	{
 	uint32_t skiplen;
-	fseeko(xc->f, xc->rvat_vc_start + xc->rvat_chain_table[facidx], SEEK_SET);
+	fstReaderFseeko(xc, xc->f, xc->rvat_vc_start + xc->rvat_chain_table[facidx], SEEK_SET);
 	xc->rvat_chain_len = fstReaderVarint32WithSkip(xc->f, &skiplen);
 	if(xc->rvat_chain_len)
 		{
diff --git a/src/helpers/fst/fstapi.h b/src/helpers/fst/fstapi.h
index a324744..bd7bacc 100644
--- a/src/helpers/fst/fstapi.h
+++ b/src/helpers/fst/fstapi.h
@@ -151,6 +151,7 @@ void fstWriterSetRepackOnClose(void *ctx, int enable); 	/* type = 0 (none), 1 (l
 void fstWriterSetParallelMode(void *ctx, int enable);
 void fstWriterSetDumpSizeLimit(void *ctx, uint64_t numbytes);
 int fstWriterGetDumpSizeLimitReached(void *ctx);
+int fstWriterGetFseekFailed(void *ctx);
 
 void *fstWriterCreate(const char *nam, int use_compressed_hier);
 void fstWriterClose(void *ctx);
@@ -199,6 +200,7 @@ uint64_t fstReaderGetValueChangeSectionCount(void *ctx);
 int fstReaderGetDoubleEndianMatchState(void *ctx);
 const char *fstReaderGetVersionString(void *ctx);
 const char *fstReaderGetDateString(void *ctx);
+int fstReaderGetFseekFailed(void *ctx);
 
 void fstReaderSetLimitTimeRange(void *ctx, uint64_t start_time, uint64_t end_time);
 void fstReaderSetUnlimitedTimeRange(void *ctx);
diff --git a/src/main.c b/src/main.c
index e943d59..3a6ff36 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2536,7 +2536,7 @@ else
 #endif
 if(is_interactive)
 	{
-	for(;;) kick_partial_vcd();
+	for(;;) { kick_partial_vcd(); }
 	}
 	else
 	{
diff --git a/src/menu.c b/src/menu.c
index be4100b..83589fb 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1993,7 +1993,7 @@ if(GLOBALS->helpbox_is_active)
         return;
         }
 
-helpbox("Wave Help",300,"Select any main window menu item");
+helpbox("Wave Help",480,"Select any main window menu item");
 }
 /**/
 void menu_version(gpointer null_data, guint callback_action, GtkWidget *widget)
@@ -2008,7 +2008,7 @@ if(GLOBALS->helpbox_is_active)
         return;
         }
 
-simplereqbox("Wave Version",400,WAVE_VERSION_INFO,"OK", NULL, NULL, 0);
+simplereqbox("Wave Version",480,WAVE_VERSION_INFO,"OK", NULL, NULL, 0);
 }
 /**/
 void menu_quit_callback(GtkWidget *widget, gpointer data)
diff --git a/src/vcd.h b/src/vcd.h
index 61cd1fb..6777cf7 100644
--- a/src/vcd.h
+++ b/src/vcd.h
@@ -73,6 +73,7 @@ TimeType vcd_main(char *fname);
 TimeType vcd_recoder_main(char *fname);
 
 TimeType vcd_partial_main(char *fname);
+void vcd_partial_mark_and_sweep(int mandclear);
 void kick_partial_vcd(void);
 
 
diff --git a/src/vcd_partial.c b/src/vcd_partial.c
index 191b67f..d32c9e0 100644
--- a/src/vcd_partial.c
+++ b/src/vcd_partial.c
@@ -2281,15 +2281,26 @@ if(!GLOBALS->hier_was_explicitly_set) /* set default hierarchy split char */
 	GLOBALS->hier_delimeter='.';
 	}
 
-
-if(!strcmp(fname, "-vcd"))
-	{
-	if(!fscanf(stdin, "%x", &shmidu)) shmidu = ~(0L); /* allow use of -v flag to pass straight from stdin */
-	}
-	else
+#ifdef __MINGW32__
+if(GetEnvironmentVariable("SHMID", NULL, 0))
+ 	{
+	char sEnv[128];
+	GetEnvironmentVariable("SHMID", sEnv, 128);
+  	sscanf(sEnv, "%x", &shmidu);
+ 	}
+else
+#endif
 	{
-	sscanf(fname, "%x", &shmidu);	/* passed as a filename */
+	if(!strcmp(fname, "-vcd"))
+		{
+		if(!fscanf(stdin, "%x", &shmidu)) shmidu = ~(0L); /* allow use of -v flag to pass straight from stdin */
+		}
+		else
+		{
+		sscanf(fname, "%x", &shmidu);	/* passed as a filename */
+		}
 	}
+
 shmid = (int)shmidu;
 
 #if !defined _MSC_VER
@@ -2417,7 +2428,7 @@ if(!nd->harray)         /* make quick array lookup for aet display */
 }
 
 /* mark vectors that need to be regenerated */
-static void regen_trace_mark(Trptr t)
+static void regen_trace_mark(Trptr t, int mandclear)
 {
 if(t->vector)
 	{
@@ -2425,6 +2436,21 @@ if(t->vector)
 	bptr bts = b->bits;
 	int i;
 
+	if(1)
+		{
+		for(i=0;i<bts->nnbits;i++)
+			{
+			if(!bts->nodes[i]->expansion)
+				{
+				if(bts->nodes[i]->harray)
+					{
+					free_2(bts->nodes[i]->harray);
+					bts->nodes[i]->harray = NULL;
+					}
+				}
+			}
+		}
+
 	for(i=0;i<bts->nnbits;i++)
 		{
 		if(!bts->nodes[i]->harray)
@@ -2434,6 +2460,15 @@ if(t->vector)
 			}		
 		}
 	}
+	else
+	{
+	if(t->n.nd) /* comment and blank traces don't have a valid node */
+	if((t->n.nd->harray) && (mandclear))
+		{
+		free_2(t->n.nd->harray);
+		t->n.nd->harray = NULL;
+		}
+	}
 }
 
 /* sweep through and regen nodes/dirty vectors */
@@ -2456,13 +2491,22 @@ else if(t->interactive_vector_needs_regeneration)
 
 	for(i=0;i<bts->nnbits;i++)
 		{
+		if(bts->nodes[i]->expansion)
+			{
+			nptr parent = bts->nodes[i]->expansion->parent;
+			int parentbit = bts->nodes[i]->expansion->parentbit;
+
+			DeleteNode(bts->nodes[i]);		
+
+			bts->nodes[i] = ExtractNodeSingleBit(parent, parentbit);
+			}
+
 		if(!bts->nodes[i]->harray)
 			{
 			regen_harray(t, bts->nodes[i]);
 			}		
 		}
 
-
 	if(!bts->name)
 		{
 		bts->name = "";
@@ -2534,11 +2578,7 @@ if(GLOBALS->partial_vcd)
 			old_maxtime_marker_conflict = (GLOBALS->tims.marker<=GLOBALS->max_time); /* data is now past what was invisible marker */
 			}
 	
-		t = GLOBALS->traces.first; while(t) { regen_trace_mark(t); t = t->t_next; }
-		t = GLOBALS->traces.buffer; while(t) { regen_trace_mark(t); t = t->t_next; }
-
-		t = GLOBALS->traces.first; while(t) { regen_trace_sweep(t); t = t->t_next; }
-		t = GLOBALS->traces.buffer; while(t) { regen_trace_sweep(t); t = t->t_next; }
+		vcd_partial_mark_and_sweep(1);
 	
 		if ((GLOBALS->zoom_dyn) && (!GLOBALS->helpbox_is_active)) 
 			{
@@ -2582,3 +2622,25 @@ if(GLOBALS->partial_vcd)
 gtkwave_main_iteration();
 }
 
+void vcd_partial_mark_and_sweep(int mandclear)
+{
+Trptr t;
+
+/* node */
+t = GLOBALS->traces.first; while(t) { if(!t->vector) regen_trace_mark(t, mandclear); t = t->t_next; }
+t = GLOBALS->traces.buffer; while(t) { if(!t->vector) regen_trace_mark(t, mandclear); t = t->t_next; }
+
+t = GLOBALS->traces.first; while(t) { if(!t->vector) regen_trace_sweep(t); t = t->t_next; }
+t = GLOBALS->traces.buffer; while(t) { if(!t->vector) regen_trace_sweep(t); t = t->t_next; }
+
+/* vector */
+t = GLOBALS->traces.first; while(t) { if(t->vector) regen_trace_mark(t, mandclear); t = t->t_next; }
+t = GLOBALS->traces.buffer; while(t) { if(t->vector) regen_trace_mark(t, mandclear); t = t->t_next; }
+
+t = GLOBALS->traces.first; while(t) { if(t->vector) regen_trace_sweep(t); t = t->t_next; }
+t = GLOBALS->traces.buffer; while(t) { if(t->vector) regen_trace_sweep(t); t = t->t_next; }
+
+/* floating point */
+t = GLOBALS->traces.first; while(t) { if(t->minmax_valid) t->minmax_valid = 0; t = t->t_next; }
+t = GLOBALS->traces.buffer; while(t) { if(t->minmax_valid) t->minmax_valid = 0; t = t->t_next; }
+}
diff --git a/src/version.h b/src/version.h
index a02bcad..9d69487 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,5 +1,5 @@
 /* 
- * Copyright (c) Tony Bybell 2010-2012.
+ * Copyright (c) Tony Bybell 2010-2013.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -10,6 +10,6 @@
 #ifndef WAVE_VERSION_H
 #define WAVE_VERSION_H
 
-#define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2012 BSI"
+#define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2013 BSI"
 
 #endif

-- 
Packaging for GTKWave



More information about the Pkg-electronics-commits mailing list