SciNotes: add options to re-indent or remove trailing whites without open the editor 17/10017/7
Calixte DENIZET [Wed, 12 Dec 2012 19:55:51 +0000 (20:55 +0100)]
Change-Id: Ief2cb8c74134db7e4dbd05f19d53de3d5e8c534c

20 files changed:
scilab/bin/scilab
scilab/modules/scinotes/help/en_US/editor.xml
scilab/modules/scinotes/help/en_US/scinotes.xml
scilab/modules/scinotes/includes/callscinotes.h
scilab/modules/scinotes/sci_gateway/cpp/sci_scinotes.cpp
scilab/modules/scinotes/src/cpp/callscinotes.cpp
scilab/modules/scinotes/src/java/jflex/scilab.jflex
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/CompoundUndoManager.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/IndentManager.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotes.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabDocument.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabLexer.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/DoubleQuoteStringAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/IndentAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/RemoveTrailingWhiteAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SaveFile.java
scilab/modules/scinotes/src/jni/SciNotes.cpp
scilab/modules/scinotes/src/jni/SciNotes.giws.xml
scilab/modules/scinotes/src/jni/SciNotes.hxx
scilab/modules/scinotes/tests/unit_tests/Actions.tst [new file with mode: 0644]

index 50ad061..550df27 100755 (executable)
@@ -826,7 +826,7 @@ do_scinotes()
 
     for SCIARG in "$@"; do
         if test "$SCIARG" = "-indent"; then
-            INDENT="'actions=indent,trailing,quote'"
+            INDENT="['indent','trailing','quote']"
         else
             ARGS="$ARGS '$SCIARG', "
         fi
index bbdd918..c824e10 100644 (file)
@@ -13,7 +13,7 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="editor" xml:lang="en">
     <refnamediv>
         <refname>editor</refname>
-        <refpurpose>Call a the text editor as defined in the preferences</refpurpose>
+        <refpurpose>Call the text editor as defined in the preferences</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
@@ -26,6 +26,8 @@
         <para>
             An external text editor can be used with Scilab. This has to be configured in the <link linkend="preferences">preferences</link> menu.
         </para>
+        <para>By default, Scinotes is the preferred editor.
+        </para>
     </refsection>
     <refsection>
         <title>Examples</title>
index 4e02dc6..2882e7b 100644 (file)
@@ -25,8 +25,9 @@
             scinotes(file, line_number, macro_name)
             scinotes([file1, file2], [line_number1, line_number2])
             scinotes(file, 'readonly')
+            scinotes(file, ['indent','trailing','quote'])
             scinotes([file1, file2], 'readonly')
-            
+            scinotes([file1, file2], ['indent','trailing','quote'])
         </synopsis>
     </refsynopsisdiv>
     <refsection>
         <para>With the option 'readonly', files are opened in read-only mode so
             they cannot be modified.
         </para>
+        
+        <para>With the options 'indent', 'quote' or 'trailing', the editor will not be opened and the file(s) will be treated consequently to the actions. The actions are the following:
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        The action 'indent' will indent correctly the file.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        The action 'trailing' will remove the trailing white spaces.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        The action 'quote' will replace all simple quoted strings by double quoted ones.
+                    </para>
+                </listitem>
+            </itemizedlist>
+        </para>
+        <para>
+            One or several actions can be used at the same time, e.g. 'trailing' or ['indent','quote'].
+        </para>
+        
         <para>Keyboard shortcuts are defined for most possible editing actions and
             reported by the menu entries.
         </para>
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example"><![CDATA[
 // editor without parameters
 scinotes();
-    
+
 // editor with a file name
 scinotes('SCI/modules/time/macros/datenum.sci');
-    
+
 // editor with a matrix of files name
 scinotes(['SCI/modules/time/macros/datenum.sci','SCI/modules/time/macros/datevec.sci']);
-    
+
 // editor with a file name and the line number to highlight
 scinotes('SCI/modules/time/macros/datenum.sci', 5);
 
@@ -526,5 +551,36 @@ scinotes('SCI/modules/time/macros/datenum.sci', 8, 'datenum');
 // the files name matrix and the lines to highlight matrix should have the same size
 scinotes(['SCI/modules/time/macros/datenum.sci','SCI/modules/time/macros/datevec.sci'], [5,10]);
  ]]></programlisting>
+        Indent some Scilab code
+        <programlisting role="example"><![CDATA[
+
+
+f=TMPDIR + "/file_to_correct.sci";
+mputl(["a=''abcdef''                                                                   ";
+       "if a==1";
+       "   b=1+""abcdef''         ";
+       "                       c=2";
+       " d=3                   ";
+       "                                               if                                              ";
+       "a=''abcdef""""""";
+       "           end";
+       "                               end              "], f);
+
+scinotes(f, ["indent" "trailing" "quote"]);
+
+// Show the results
+mgetl(f)
+
+ ]]></programlisting>
     </refsection>
+    <refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.4.1</revnumber>
+                <revremark>['indent','trailing','quote'] options added.</revremark>
+            </revision>
+        </revhistory>
+    </refsection>
+    
 </refentry>
index eeeed25..aff9570 100644 (file)
@@ -24,6 +24,6 @@
 */
 SCINOTES_IMPEXP int callSciNotesW(wchar_t **_wcfilenames, int _nbfiles);
 SCINOTES_IMPEXP int callSciNotesWWithLineNumberAndFunction(wchar_t **_wcfilenames, double* pdblLineNumber, char *functionName, int _nbfiles);
-SCINOTES_IMPEXP int callSciNotesWWithOption(wchar_t **_wcfilenames, wchar_t** option, int _nbfiles);
+SCINOTES_IMPEXP int callSciNotesWWithOption(wchar_t **_wcfilenames, wchar_t** option, int _nboptions, int _nbfiles);
 /*--------------------------------------------------------------------------*/
 #endif /* __CALLSCINOTES_H__ */
index 72e5c33..525bb93 100644 (file)
@@ -195,15 +195,7 @@ int sci_scinotes(char *fname, unsigned long fname_len)
                     return 0;
                 }
 
-                if (m2 != 1 || n2 != 1)
-                {
-                    Scierror(999, _("%s: Wrong type for argument #%d: Real matrix or \'readonly\' expected.\n"), fname, 2);
-                    freeArrayOfWideString(pStVarOne, m1 * n1);
-                    FREE(lenStVarOne);
-                    return 0;
-                }
-
-                lenStVarTwo = (int *)MALLOC(sizeof(int));
+                lenStVarTwo = (int *)MALLOC(sizeof(int) * m2 * n2);
                 if (lenStVarTwo == NULL)
                 {
                     Scierror(999, _("%s: No more memory.\n"), fname);
@@ -224,7 +216,7 @@ int sci_scinotes(char *fname, unsigned long fname_len)
                     return 0;
                 }
 
-                pStVarTwo = (wchar_t **) MALLOC(sizeof(wchar_t *));
+                pStVarTwo = (wchar_t **) MALLOC(sizeof(wchar_t *) * m2 * n2);
                 if (pStVarTwo == NULL)
                 {
                     Scierror(999, _("%s: No more memory.\n"), fname);
@@ -234,15 +226,18 @@ int sci_scinotes(char *fname, unsigned long fname_len)
                     return 0;
                 }
 
-                pStVarTwo[0] = (wchar_t *) MALLOC(sizeof(wchar_t) * (lenStVarTwo[0] + 1));
-                if (pStVarTwo[0] == NULL)
+                for (int i = 0; i < m2 * n2; i++)
                 {
-                    Scierror(999, _("%s: No more memory.\n"), fname);
-                    FREE(pStVarTwo);
-                    FREE(lenStVarTwo);
-                    freeArrayOfWideString(pStVarOne, m1 * n1);
-                    FREE(lenStVarOne);
-                    return 0;
+                    pStVarTwo[i] = (wchar_t *) MALLOC(sizeof(wchar_t) * (lenStVarTwo[i] + 1));
+                    if (pStVarTwo[i] == NULL)
+                    {
+                        Scierror(999, _("%s: No more memory.\n"), fname);
+                        freeArrayOfWideString(pStVarTwo, i);
+                        FREE(lenStVarTwo);
+                        freeArrayOfWideString(pStVarOne, m1 * n1);
+                        FREE(lenStVarOne);
+                        return 0;
+                    }
                 }
 
                 /* get strings */
@@ -260,12 +255,12 @@ int sci_scinotes(char *fname, unsigned long fname_len)
 
                 try
                 {
-                    callSciNotesWWithOption(pStVarOne, pStVarTwo, m1 * n1);
+                    callSciNotesWWithOption(pStVarOne, pStVarTwo, m2 * n2, m1 * n1);
                 }
                 catch (GiwsException::JniCallMethodException exception)
                 {
                     Scierror(999, "%s: %s\n", fname, exception.getJavaDescription().c_str());
-                    FREE(pStVarTwo);
+                    freeArrayOfWideString(pStVarTwo, m2 * n2);
                     FREE(lenStVarTwo);
                     freeArrayOfWideString(pStVarOne, m1 * n1);
                     FREE(lenStVarOne);
@@ -274,13 +269,13 @@ int sci_scinotes(char *fname, unsigned long fname_len)
                 catch (GiwsException::JniException exception)
                 {
                     Scierror(999, "%s: %s\n", fname, exception.whatStr().c_str());
-                    FREE(pStVarTwo);
+                    freeArrayOfWideString(pStVarTwo, m2 * n2);
                     FREE(lenStVarTwo);
                     freeArrayOfWideString(pStVarOne, m1 * n1);
                     FREE(lenStVarOne);
                     return 0;
                 }
-                freeArrayOfWideString(pStVarTwo, 1);
+                freeArrayOfWideString(pStVarTwo, m2 * n2);
                 FREE(lenStVarTwo);
             }
             else
index 631bd8d..386f6d5 100644 (file)
@@ -1,14 +1,14 @@
 /*
-* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-* Copyright (C) 2009 - DIGITEO - Allan CORNET
-*
-* This file must be used under the terms of the CeCILL.
-* This source file is licensed as described in the file COPYING, which
-* you should have received as part of this distribution.  The terms
-* are also available at
-* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-*
-*/
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
 
 #include "SciNotes.hxx"
 
@@ -27,105 +27,111 @@ using namespace org_scilab_modules_scinotes;
 /*--------------------------------------------------------------------------*/
 int callSciNotesW(wchar_t **_wcfilenames, int _nbfiles)
 {
-        if ( (_wcfilenames) && (_nbfiles > 0) )
+    if ( (_wcfilenames) && (_nbfiles > 0) )
+    {
+        int i = 0;
+        for (i = 0; i < _nbfiles; i++)
         {
-                int i = 0;
-                for (i = 0; i < _nbfiles; i++)
+            if (_wcfilenames[i])
+            {
+                wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
+                if (wcFullFilename)
                 {
-                        if (_wcfilenames[i])
-                        {
-                                wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
-                                if (wcFullFilename)
-                                {
-                                        char *fullFilename = wide_string_to_UTF8(wcFullFilename);
-                                        if (fullFilename)
-                                        {
-                                                SciNotes::scinotes(getScilabJavaVM(), fullFilename);
-                                                FREE(fullFilename);
-                                                fullFilename = NULL;
-                                        }
+                    char *fullFilename = wide_string_to_UTF8(wcFullFilename);
+                    if (fullFilename)
+                    {
+                        SciNotes::scinotes(getScilabJavaVM(), fullFilename);
+                        FREE(fullFilename);
+                        fullFilename = NULL;
+                    }
 
-                                        FREE(wcFullFilename);
-                                        wcFullFilename = NULL;
-                                }
-                        }
+                    FREE(wcFullFilename);
+                    wcFullFilename = NULL;
                 }
+            }
         }
-        else
-        {
-                SciNotes::scinotes(getScilabJavaVM());
-        }
-        return 0;
+    }
+    else
+    {
+        SciNotes::scinotes(getScilabJavaVM());
+    }
+    return 0;
 }
 
 int callSciNotesWWithLineNumberAndFunction(wchar_t **_wcfilenames, double* pdblLineNumber, char *functionName, int _nbfiles)
 {
-        if ( (_wcfilenames) && (_nbfiles > 0) )
+    if ( (_wcfilenames) && (_nbfiles > 0) )
+    {
+        int i = 0;
+        for (i = 0; i < _nbfiles; i++)
         {
-                int i = 0;
-                for (i = 0; i < _nbfiles; i++)
+            if (_wcfilenames[i])
+            {
+                wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
+                if (wcFullFilename)
                 {
-                        if (_wcfilenames[i])
-                        {
-                                wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
-                                if (wcFullFilename)
-                                {
-                                        char *fullFilename = wide_string_to_UTF8(wcFullFilename);
-                                        if (fullFilename)
-                                        {
-                                                SciNotes::scinotes(getScilabJavaVM(), fullFilename, (int)pdblLineNumber[i], functionName);
-                                                FREE(fullFilename);
-                                                fullFilename = NULL;
-                                        }
+                    char *fullFilename = wide_string_to_UTF8(wcFullFilename);
+                    if (fullFilename)
+                    {
+                        SciNotes::scinotes(getScilabJavaVM(), fullFilename, (int)pdblLineNumber[i], functionName);
+                        FREE(fullFilename);
+                        fullFilename = NULL;
+                    }
 
-                                        FREE(wcFullFilename);
-                                        wcFullFilename = NULL;
-                                }
-                        }
+                    FREE(wcFullFilename);
+                    wcFullFilename = NULL;
                 }
+            }
         }
-        else
-        {
-                SciNotes::scinotes(getScilabJavaVM());
-        }
-        return 0;
+    }
+    else
+    {
+        SciNotes::scinotes(getScilabJavaVM());
+    }
+    return 0;
 }
 
-int callSciNotesWWithOption(wchar_t **_wcfilenames, wchar_t** option, int _nbfiles)
+int callSciNotesWWithOption(wchar_t **_wcfilenames, wchar_t** option, int _nboptions, int _nbfiles)
 {
-        if ( (_wcfilenames) && (_nbfiles > 0) )
+    if ( (_wcfilenames) && (_nbfiles > 0) )
+    {
+        int i = 0;
+        char ** opt = NULL;
+        if (_nboptions)
         {
-                int i = 0;
-                char *opt = wide_string_to_UTF8(option[0]);
-                if (opt)
+            opt = new char*[_nboptions];
+            for (int i = 0; i < _nboptions; i++)
+            {
+                opt[i] = wide_string_to_UTF8(option[i]);
+            }
+        }
+
+        for (i = 0; i < _nbfiles; i++)
+        {
+            if (_wcfilenames[i])
+            {
+                wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
+                if (wcFullFilename)
                 {
-                        for (i = 0; i < _nbfiles; i++)
-                        {
-                                if (_wcfilenames[i])
-                                {
-                                        wchar_t *wcFullFilename = getFullFilenameW(_wcfilenames[i]);
-                                        if (wcFullFilename)
-                                        {
-                                                char *fullFilename = wide_string_to_UTF8(wcFullFilename);
-                                                if (fullFilename)
-                                                {
-                                                        SciNotes::scinotes(getScilabJavaVM(), fullFilename, opt);
-                                                        FREE(fullFilename);
-                                                        fullFilename = NULL;
-                                                }
+                    char *fullFilename = wide_string_to_UTF8(wcFullFilename);
+                    if (fullFilename)
+                    {
+                        SciNotes::scinotes(getScilabJavaVM(), fullFilename, opt, _nboptions);
+                        FREE(fullFilename);
+                        fullFilename = NULL;
+                    }
 
-                                                FREE(wcFullFilename);
-                                                wcFullFilename = NULL;
-                                        }
-                                }
-                        }
-                        FREE(opt);
+                    FREE(wcFullFilename);
+                    wcFullFilename = NULL;
                 }
+            }
         }
-        else
-        {
-                SciNotes::scinotes(getScilabJavaVM());
-        }
-        return 0;
+        FREE(opt);
+    }
+    else
+    {
+        SciNotes::scinotes(getScilabJavaVM());
+    }
+    return 0;
 }
 /*--------------------------------------------------------------------------*/
index 3c8885a..142ec92 100644 (file)
@@ -43,11 +43,17 @@ import org.scilab.modules.commons.ScilabCommonsUtils;
     private boolean breakstring;
 
     public ScilabLexer(ScilabDocument doc) {
+       this(doc, true);
+    }
+
+    public ScilabLexer(ScilabDocument doc, boolean update) {
         this.doc = doc;
         this.elem = doc.getDefaultRootElement();
         this.infile = doc.getFunctionsInDoc();
-       update();
-    }
+       if (update) {
+          update();
+       }
+    }     
 
     public static void update() {
        if (ScilabCommonsUtils.isScilabThread()) {
index 3341af5..e6361cb 100644 (file)
@@ -73,7 +73,7 @@ public class CompoundUndoManager extends UndoManager {
      * startCompoundEdit
      */
     public void startCompoundEdit() {
-        if (compoundEdit == null) {
+        if (compoundEdit == null && sdoc.getEditorPane() != null) {
             compoundEdit = new CompoundEdit();
             addEdit(compoundEdit);
             ++nbEdits;
@@ -87,7 +87,7 @@ public class CompoundUndoManager extends UndoManager {
      * endCompoundEdit
      */
     public void endCompoundEdit() {
-        if (compoundEdit != null) {
+        if (compoundEdit != null && sdoc.getEditorPane() != null) {
             compoundEdit.end();
             compoundEdit = null;
         }
@@ -190,47 +190,48 @@ public class CompoundUndoManager extends UndoManager {
      */
     public void undoableEditHappened(UndoableEditEvent e) {
         DocumentEvent event = (AbstractDocument.DefaultDocumentEvent) e.getEdit();
-
-        if (!oneShot && event.getLength() == 1) {
-            if (!remove && event.getType() == DocumentEvent.EventType.REMOVE) {
-                endCompoundEdit();
-                remove = true;
-            }
-
-            if (remove && event.getType() == DocumentEvent.EventType.INSERT) {
-                endCompoundEdit();
-                remove = false;
-            }
-
-            try {
-                sdoc.getText(event.getOffset(), 1, seg);
-                boolean br = false;
-                for (int i = 0; i < breaks.length && !br; i++) {
-                    br = seg.array[seg.offset] == breaks[i];
-                }
-                if (!remove && br) {
-                    // there is a problem when the window is splitted
-                    // two compoundEdits are created !
+        if (sdoc.getEditorPane() != null) {
+            if (!oneShot && event.getLength() == 1) {
+                if (!remove && event.getType() == DocumentEvent.EventType.REMOVE) {
                     endCompoundEdit();
-                    startCompoundEdit();
-                    compoundEdit.addEdit(e.getEdit());
+                    remove = true;
+                }
+
+                if (remove && event.getType() == DocumentEvent.EventType.INSERT) {
                     endCompoundEdit();
-                    return;
-                } else {
-                    if (sdoc.getDefaultRootElement().getElementIndex(event.getOffset()) != prevLine) {
-                        prevLine = sdoc.getDefaultRootElement().getElementIndex(event.getOffset());
+                    remove = false;
+                }
+
+                try {
+                    sdoc.getText(event.getOffset(), 1, seg);
+                    boolean br = false;
+                    for (int i = 0; i < breaks.length && !br; i++) {
+                        br = seg.array[seg.offset] == breaks[i];
+                    }
+                    if (!remove && br) {
+                        // there is a problem when the window is splitted
+                        // two compoundEdits are created !
+                        endCompoundEdit();
+                        startCompoundEdit();
+                        compoundEdit.addEdit(e.getEdit());
                         endCompoundEdit();
+                        return;
+                    } else {
+                        if (sdoc.getDefaultRootElement().getElementIndex(event.getOffset()) != prevLine) {
+                            prevLine = sdoc.getDefaultRootElement().getElementIndex(event.getOffset());
+                            endCompoundEdit();
+                        }
+                        startCompoundEdit();
+                        compoundEdit.addEdit(e.getEdit());
+                        return;
                     }
-                    startCompoundEdit();
-                    compoundEdit.addEdit(e.getEdit());
-                    return;
+                } catch (BadLocationException ex) {
+                    ex.printStackTrace();
                 }
-            } catch (BadLocationException ex) {
-                ex.printStackTrace();
+            } else {
+                startCompoundEdit();
+                compoundEdit.addEdit(e.getEdit());
             }
-        } else {
-            startCompoundEdit();
-            compoundEdit.addEdit(e.getEdit());
         }
     }
 }
index 8231bf9..e4d299c 100644 (file)
@@ -33,7 +33,7 @@ public class IndentManager {
      * Constructor.
      * @param doc the doc to indent
      */
-    IndentManager(ScilabDocument doc) {
+    public IndentManager(ScilabDocument doc) {
         this.doc = doc;
         this.elem = doc.getDefaultRootElement();
         scanner = new IndentScanner(doc);
index 6f0a919..a4be301 100644 (file)
@@ -16,20 +16,26 @@ package org.scilab.modules.scinotes;
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Font;
+import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.InputStreamReader;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.StringReader;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.StringTokenizer;
 import java.util.UUID;
 import java.util.logging.Logger;
 
@@ -78,15 +84,19 @@ import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.SciFileFilter;
 import org.scilab.modules.gui.utils.Size;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
+
+import org.scilab.modules.scinotes.actions.DoubleQuoteStringAction;
 import org.scilab.modules.scinotes.actions.EncodingAction;
 import org.scilab.modules.scinotes.actions.EndOfLineAction;
 import org.scilab.modules.scinotes.actions.ExitAction;
 import org.scilab.modules.scinotes.actions.FindAction;
 import org.scilab.modules.scinotes.actions.IncrementalSearchAction;
+import org.scilab.modules.scinotes.actions.IndentAction;
 import org.scilab.modules.scinotes.actions.InsertOverwriteAction;
 import org.scilab.modules.scinotes.actions.LineBeautifierAction;
 import org.scilab.modules.scinotes.actions.OpenSourceFileOnKeywordAction;
 import org.scilab.modules.scinotes.actions.RecentFileAction;
+import org.scilab.modules.scinotes.actions.RemoveTrailingWhiteAction;
 import org.scilab.modules.scinotes.actions.RestoreOpenedFilesAction;
 import org.scilab.modules.scinotes.actions.SciNotesCompletionAction;
 import org.scilab.modules.scinotes.actions.SearchWordInFilesAction;
@@ -167,11 +177,11 @@ public class SciNotes extends SwingScilabTab {
         ConfigSciNotesManager.createUserCopy();
         ScilabTabFactory.getInstance().addTabFactory(SciNotesTabFactory.getInstance());
         Scilab.registerInitialHook(new Runnable() {
-                @Override
-                public void run() {
-                    updateSciNotes();
-                }
-            });
+            @Override
+            public void run() {
+                updateSciNotes();
+            }
+        });
 
         Document doc = ScilabXMLUtilities.readDocument(System.getenv("SCI") + "/modules/console/etc/Actions-Configuration.xml");
         actionToName = XConfiguration.get(doc, "name", String.class, "action", String.class, XPATH_SCINOTES_ACTION);
@@ -195,23 +205,23 @@ public class SciNotes extends SwingScilabTab {
         contentPane = new SciNotesContents(this);
         tabPane = contentPane.getScilabTabbedPane();
         tabPane.addChangeListener(new ChangeListener() {
-                @Override
-                public void stateChanged(ChangeEvent e) {
-                    if (getTextPane() != null) {
-                        // updateUI();
-                        getTextPane().updateInfosWhenFocused();
-                        getTextPane().requestFocus();
-                        getTextPane().highlightWords(IncrementalSearchAction.getWord(SciNotes.this), IncrementalSearchAction.getExact(SciNotes.this));
-
-                        // Update encoding menu
-                        EncodingAction.updateEncodingMenu((ScilabDocument) getTextPane().getDocument());
-
-                        // Update End Of Line menu
-                        EndOfLineAction.updateEolMenu((ScilabDocument) getTextPane().getDocument());
-                        setTitle(getTextPane().getTitle());
-                    }
+            @Override
+            public void stateChanged(ChangeEvent e) {
+                if (getTextPane() != null) {
+                    // updateUI();
+                    getTextPane().updateInfosWhenFocused();
+                    getTextPane().requestFocus();
+                    getTextPane().highlightWords(IncrementalSearchAction.getWord(SciNotes.this), IncrementalSearchAction.getExact(SciNotes.this));
+
+                    // Update encoding menu
+                    EncodingAction.updateEncodingMenu((ScilabDocument) getTextPane().getDocument());
+
+                    // Update End Of Line menu
+                    EndOfLineAction.updateEolMenu((ScilabDocument) getTextPane().getDocument());
+                    setTitle(getTextPane().getTitle());
                 }
-            });
+            }
+        });
         this.setContentPane(contentPane);
     }
 
@@ -429,15 +439,15 @@ public class SciNotes extends SwingScilabTab {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
-                    @Override
-                    public void run() {
-                        launchSciNotes();
-                        // Open an empty file if no tabs were opened at launch.
-                        if (editor.getTabPane().getTabCount() == 0) {
-                            editor.openFile(null, 0, null);
-                        }
+                @Override
+                public void run() {
+                    launchSciNotes();
+                    // Open an empty file if no tabs were opened at launch.
+                    if (editor.getTabPane().getTabCount() == 0) {
+                        editor.openFile(null, 0, null);
                     }
-                });
+                }
+            });
         } catch (InterruptedException e) {
             Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
             throw new RuntimeException(e);
@@ -461,12 +471,12 @@ public class SciNotes extends SwingScilabTab {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
-                    @Override
-                    public void run() {
-                        launchSciNotes();
-                        editor.openFile(filePath, 0, null);
-                    }
-                });
+                @Override
+                public void run() {
+                    launchSciNotes();
+                    editor.openFile(filePath, 0, null);
+                }
+            });
         } catch (InterruptedException e) {
             Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
             throw new RuntimeException(e);
@@ -492,12 +502,12 @@ public class SciNotes extends SwingScilabTab {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
-                    @Override
-                    public void run() {
-                        launchSciNotes();
-                        editor.openFile(filePath, lineNumber, functionName);
-                    }
-                });
+                @Override
+                public void run() {
+                    launchSciNotes();
+                    editor.openFile(filePath, lineNumber, functionName);
+                }
+            });
         } catch (InterruptedException e) {
             Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
             throw new RuntimeException(e);
@@ -518,17 +528,34 @@ public class SciNotes extends SwingScilabTab {
      *
      *            This method *must not* be called on the EDT thread.
      */
-    public static void scinotes(final String filePath, final String option) {
+    public static void scinotes(final String filePath, final String[] options) {
+        boolean hasAction = false;
+        if (options != null && options.length != 0) {
+            try {
+                hasAction = executeAction(filePath, options);
+            } catch (IOException e) {
+                System.err.println(e);
+            }
+        }
+
+        if (hasAction) {
+            return;
+        }
+
         ScilabLexer.update();
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
-                    @Override
-                    public void run() {
-                        launchSciNotes();
-                        editor.openFile(filePath, 0, option);
+                @Override
+                public void run() {
+                    launchSciNotes();
+                    if (options != null && options.length != 0) {
+                        editor.openFile(filePath, 0, options[0]);
+                    } else {
+                        editor.openFile(filePath, 0, "");
                     }
-                });
+                }
+            });
         } catch (InterruptedException e) {
             Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
             throw new RuntimeException(e);
@@ -634,11 +661,11 @@ public class SciNotes extends SwingScilabTab {
             try {
                 SwingUtilities.invokeAndWait(new Runnable() {
 
-                        @Override
-                        public void run() {
-                            restorePreviousSession();
-                        }
-                    });
+                    @Override
+                    public void run() {
+                        restorePreviousSession();
+                    }
+                });
             } catch (InterruptedException e) {
                 Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
                 throw new RuntimeException(e);
@@ -667,30 +694,30 @@ public class SciNotes extends SwingScilabTab {
         }
 
         SwingUtilities.invokeLater(new Runnable() {
-                @Override
-                public void run() {
-                    RestoreOpenedFilesAction.displayDialog((JFrame) SwingUtilities.getAncestorOfClass(JFrame.class, SciNotes.this), getUUID().toString());
-                    List<File> list = RestoreOpenedFilesAction.getSelectedFiles();
-
-                    if (list != null && list.size() != 0) {
-                        for (File f : list) {
-                            openFile(f.getPath(), 0, null);
-                        }
-                    } else {
-                        if (getTabPane().getTabCount() == 0 || getTextPane(0).getName() == null) {
-                            openFile(null, 0, null);
-                        }
+            @Override
+            public void run() {
+                RestoreOpenedFilesAction.displayDialog((JFrame) SwingUtilities.getAncestorOfClass(JFrame.class, SciNotes.this), getUUID().toString());
+                List<File> list = RestoreOpenedFilesAction.getSelectedFiles();
+
+                if (list != null && list.size() != 0) {
+                    for (File f : list) {
+                        openFile(f.getPath(), 0, null);
                     }
-
-                    setWindowIcon("accessories-text-editor");
-
-                    if (navigator != null) {
-                        navigator.updateTree();
+                } else {
+                    if (getTabPane().getTabCount() == 0 || getTextPane(0).getName() == null) {
+                        openFile(null, 0, null);
                     }
+                }
+
+                setWindowIcon("accessories-text-editor");
 
-                    WindowsConfigurationManager.restorationFinished(SciNotes.this);
+                if (navigator != null) {
+                    navigator.updateTree();
                 }
-            });
+
+                WindowsConfigurationManager.restorationFinished(SciNotes.this);
+            }
+        });
     }
 
     /**
@@ -1043,14 +1070,14 @@ public class SciNotes extends SwingScilabTab {
             }
 
             switch (answer) {
-            case YES_OPTION: // Yes, continue
-                break;
-            case NO_OPTION:// No, exit and returns true
-                return true;
-            case CANCEL_OPTION: // Cancel, exit and return false
-                return false;
-            default:
-                break;
+                case YES_OPTION: // Yes, continue
+                    break;
+                case NO_OPTION:// No, exit and returns true
+                    return true;
+                case CANCEL_OPTION: // Cancel, exit and return false
+                    return false;
+                default:
+                    break;
             }
         }
 
@@ -1251,7 +1278,7 @@ public class SciNotes extends SwingScilabTab {
             String fileName = f.getName();
             if (fileName.lastIndexOf(DOT) != -1) {
                 if (fileName.substring(fileName.lastIndexOf(DOT), fileName.length()).length() >= 2
-                    && fileName.substring(fileName.lastIndexOf(DOT), fileName.length()).length() <= 4) {
+                        && fileName.substring(fileName.lastIndexOf(DOT), fileName.length()).length() <= 4) {
                     hasNoExtension = false;
                 }
             }
@@ -1743,22 +1770,22 @@ public class SciNotes extends SwingScilabTab {
                     messageBox.displayAndWait(); // Waits for a user action
 
                     switch (messageBox.getSelectedButton()) {
-                    case 1: // Reload
-                        if ((i == 0) && (getTabPane().getTabCount() == 1)) {
-                            for (int j = 0; j < tabPane.getChangeListeners().length; j++) {
-                                tabPane.removeChangeListener(tabPane.getChangeListeners()[j]);
+                        case 1: // Reload
+                            if ((i == 0) && (getTabPane().getTabCount() == 1)) {
+                                for (int j = 0; j < tabPane.getChangeListeners().length; j++) {
+                                    tabPane.removeChangeListener(tabPane.getChangeListeners()[j]);
+                                }
                             }
-                        }
-                        tabPane.remove(i);
-                        f = new File(textPaneAt.getName());
-                        index = i;
-                        break;
-                    case 2: // Overwrite 2
-                        overwrite(i);
-                        alreadyOpened = true;
-                        break;
-                    default: // Ignore
-                        alreadyOpened = true;
+                            tabPane.remove(i);
+                            f = new File(textPaneAt.getName());
+                            index = i;
+                            break;
+                        case 2: // Overwrite 2
+                            overwrite(i);
+                            alreadyOpened = true;
+                            break;
+                        default: // Ignore
+                            alreadyOpened = true;
                     }
                 } else {
                     alreadyOpened = true;
@@ -2290,7 +2317,7 @@ public class SciNotes extends SwingScilabTab {
         ScilabEditorPane theTextPane = addEmptyTab();
         ScilabDocument styleDocument = null;
         int choice = JOptionPane.showConfirmDialog(SciNotes.this, String.format(SciNotesMessages.FILE_DOESNT_EXIST, f.getName()), SCINOTES,
-                                                   JOptionPane.YES_NO_OPTION);
+                     JOptionPane.YES_NO_OPTION);
         if (choice == 0) { // OK
             styleDocument = (ScilabDocument) theTextPane.getDocument();
             styleDocument.disableUndoManager();
@@ -2385,16 +2412,16 @@ public class SciNotes extends SwingScilabTab {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
-                    @Override
-                    public void run() {
-                        SciNotes[] arr = scinotesList.toArray(new SciNotes[0]);
-                        for (int i = 0; i < arr.length; i++) {
-                            arr[i].setProtectOpenFileList(true);
-                            ExitAction.doExit(arr[i]);
-                        }
-                        scinotesList.clear();
+                @Override
+                public void run() {
+                    SciNotes[] arr = scinotesList.toArray(new SciNotes[0]);
+                    for (int i = 0; i < arr.length; i++) {
+                        arr[i].setProtectOpenFileList(true);
+                        ExitAction.doExit(arr[i]);
                     }
-                });
+                    scinotesList.clear();
+                }
+            });
         } catch (InterruptedException e) {
             Logger.getLogger(SciNotes.class.getName()).severe(e.toString());
         } catch (InvocationTargetException e) {
@@ -2471,4 +2498,89 @@ public class SciNotes extends SwingScilabTab {
             }
         }
     }
+
+    /**
+     * Execute an action on file
+     * @param fileName the name of the file
+     * @param action the action
+     */
+    public static void executeAction(String fileName, ActionOnDocument action) throws IOException {
+        Charset charset = null;
+        try {
+            charset = ScilabEditorKit.tryToGuessEncoding(new File(fileName));
+        } catch (CharacterCodingException e) {
+            throw new IOException(SciNotesMessages.CANNOT_GUESS_ENCODING + ": " + fileName);
+        }
+        FileInputStream fis = new FileInputStream(fileName);
+        InputStreamReader isr = new InputStreamReader(fis, charset);
+        BufferedReader reader = new BufferedReader(isr);
+        ScilabDocument doc = new ScilabDocument();
+        ScilabEditorKit kit = new ScilabEditorKit();
+        try {
+            kit.read(reader, doc, 0);
+        } catch (BadLocationException e) {
+            System.err.println(e);
+        }
+
+        doc.addDocumentListener(doc);
+        if (!doc.getBinary()) {
+            action.actionOn(doc);
+        }
+
+        reader.close();
+        if (doc.isContentModified()) {
+            SaveFile.doSave(doc, new File(fileName), kit);
+        }
+    }
+
+    /**
+     * Execute an action on file
+     * @param fileName the name of the file
+     * @param actionsName the actions as an array
+     */
+    public static boolean executeAction(String fileName, final String[] actionsName) throws IOException {
+        final boolean[] hasAction = new boolean[] { false };
+        ActionOnDocument action = new ActionOnDocument() {
+            public void actionOn(ScilabDocument doc) throws IOException {
+                for (String act : actionsName) {
+                    if (act.equalsIgnoreCase("indent")) {
+                        hasAction[0] = true;
+                        org.scilab.modules.scinotes.actions.IndentAction.getActionOnDocument().actionOn(doc);
+                    } else if (act.equalsIgnoreCase("trailing")) {
+                        hasAction[0] = true;
+                        org.scilab.modules.scinotes.actions.RemoveTrailingWhiteAction.getActionOnDocument().actionOn(doc);
+                    } else if (act.equalsIgnoreCase("quote")) {
+                        hasAction[0] = true;
+                        org.scilab.modules.scinotes.actions.DoubleQuoteStringAction.getActionOnDocument().actionOn(doc);
+                    }
+                }
+            }
+        };
+
+        executeAction(fileName, action);
+
+        return hasAction[0];
+    }
+
+    /**
+     * Execute an action on file
+     * @param fileName the name of the file
+     * @param acts actions separated with , or ;
+     */
+    public static void executeAction(String fileName, String acts) throws IOException {
+        StringTokenizer toks = new StringTokenizer(acts, ",;");
+        String[] actions = new String[toks.countTokens()];
+        for (int i = 0; i < actions.length; i++) {
+            actions[i] = toks.nextToken();
+        }
+        executeAction(fileName, actions);
+    }
+
+    /**
+     * An interface to implement to execute an action on a document
+     */
+    public static interface ActionOnDocument {
+
+        public void actionOn(ScilabDocument doc) throws IOException;
+    }
 }
index ef5dad3..deaa97b 100644 (file)
@@ -147,8 +147,17 @@ public class ScilabDocument extends PlainDocument implements DocumentListener {
      * Create a lexer used to colorize the text
      * @return ScilabLexer the lexer
      */
+    public ScilabLexer createLexer(boolean update) {
+        return new ScilabLexer(this, update);
+    }
+
+    /**
+     * Create a lexer used to colorize the text
+     * @param update true if the scilab vars must be updated
+     * @return ScilabLexer the lexer
+     */
     public ScilabLexer createLexer() {
-        return new ScilabLexer(this);
+        return new ScilabLexer(this, true);
     }
 
     /**
@@ -744,10 +753,13 @@ public class ScilabDocument extends PlainDocument implements DocumentListener {
      * @param ev the DocumentEvent to handle
      */
     private void handleEvent(DocumentEvent ev) {
-        if (!contentModified && pane != null) {
+        if (!contentModified) {
             contentModified = true;
-            pane.updateTitle();
+            if (pane != null) {
+                pane.updateTitle();
+            }
         }
+
         contentModifiedSinceBackup = true;
 
         DocumentEvent.ElementChange chg = ev.getChange(getDefaultRootElement());
index 90b8c54..b228dbe 100644 (file)
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 02/11/12 14:44 */
+/* The following code was generated by JFlex 1.4.3 on 09/12/12 18:44 */
 
 //CHECKSTYLE:OFF
 
@@ -21,163 +21,161 @@ import org.scilab.modules.commons.ScilabCommonsUtils;
 
 
 /**
- * This class is a scanner generated by
+ * This class is a scanner generated by 
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 02/11/12 14:44 from the specification file
+ * on 09/12/12 18:44 from the specification file
  * <tt>scilab.jflex</tt>
  */
 public final class ScilabLexer extends ScilabLexerConstants {
 
-    /** This character denotes the end of file */
-    public static final int YYEOF = -1;
-
-    /** initial size of the lookahead buffer */
-    private static final int ZZ_BUFFERSIZE = 16384;
-
-    /** lexical states */
-    public static final int BREAKSTRING = 12;
-    public static final int COMMANDSWHITE = 10;
-    public static final int YYINITIAL = 0;
-    public static final int COMMENT = 4;
-    public static final int FIELD = 6;
-    public static final int COMMANDS = 8;
-    public static final int QSTRING = 2;
-
-    /**
-     * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
-     * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-     *                  at the beginning of a line
-     * l is of the form l = 2*k, k a non negative integer
-     */
-    private static final int ZZ_LEXSTATE[] = {
-        0,  0,  1,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6, 6
-    };
-
-    /**
-     * Translates characters to character classes
-     */
-    private static final String ZZ_CMAP_PACKED =
-        "\11\0\1\111\1\1\1\0\1\120\1\113\22\0\1\72\1\116\1\7" +
-        "\1\114\1\112\1\10\1\51\1\6\1\3\1\4\1\40\1\43\1\117" +
-        "\1\44\1\37\1\5\12\115\1\110\1\123\1\47\1\45\1\50\1\114" +
-        "\1\53\1\101\1\102\1\25\1\35\1\33\1\14\1\104\1\30\1\26" +
-        "\1\103\1\107\1\76\1\32\1\73\1\31\1\34\1\122\1\36\1\24" +
-        "\1\12\1\77\1\105\1\27\1\122\1\100\1\74\1\2\1\41\1\4" +
-        "\1\42\1\121\1\0\1\23\1\65\1\55\1\57\1\15\1\13\1\106" +
-        "\1\60\1\17\1\122\1\66\1\61\1\70\1\20\1\56\1\16\1\67" +
-        "\1\62\1\22\1\11\1\54\1\75\1\63\1\71\1\64\1\21\1\2" +
-        "\1\52\1\4\1\46\uff81\0";
-
-    /**
-     * Translates characters to character classes
-     */
-    private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-    /**
-     * Translates DFA states to action switch labels.
-     */
-    private static final int [] ZZ_ACTION = zzUnpackAction();
-
-    private static final String ZZ_ACTION_PACKED_0 =
-        "\1\0\1\1\3\0\1\1\1\0\1\2\1\3\1\4" +
-        "\1\5\1\6\1\7\14\10\1\11\10\5\6\10\1\12" +
-        "\1\13\1\14\1\13\1\15\1\2\1\1\1\16\1\17" +
-        "\1\1\1\20\1\21\1\22\1\23\13\22\1\24\6\22" +
-        "\1\25\1\22\1\26\1\27\1\26\1\30\1\31\1\32" +
-        "\1\33\2\1\1\34\1\35\2\16\1\36\1\5\1\37" +
-        "\1\0\2\40\1\10\1\40\12\10\1\41\4\10\1\5" +
-        "\1\13\1\5\1\15\1\0\2\10\1\42\3\10\1\0" +
-        "\1\37\2\0\1\37\1\15\41\0\1\43\1\0\1\1" +
-        "\1\44\3\0\6\10\1\41\5\10\1\40\1\10\1\15" +
-        "\7\10\2\15\1\45\37\0\1\43\1\0\1\46\3\10" +
-        "\1\47\1\50\11\10\16\0\1\51\15\0\1\46\7\10" +
-        "\1\52\30\0\1\10\1\47\2\10\30\0\1\10\27\0" +
-        "\1\53\20\0\1\54\1\0\1\55\260\0\2\37";
-
-    private static int [] zzUnpackAction() {
-        int [] result = new int[551];
-        int offset = 0;
-        offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-        return result;
-    }
-
-    private static int zzUnpackAction(String packed, int offset, int [] result) {
-        int i = 0;       /* index in packed string  */
-        int j = offset;  /* index in unpacked array */
-        int l = packed.length();
-        while (i < l) {
-            int count = packed.charAt(i++);
-            int value = packed.charAt(i++);
-            do {
-                result[j++] = value;
-            } while (--count > 0);
-        }
-        return j;
+  /** This character denotes the end of file */
+  public static final int YYEOF = -1;
+
+  /** initial size of the lookahead buffer */
+  private static final int ZZ_BUFFERSIZE = 16384;
+
+  /** lexical states */
+  public static final int BREAKSTRING = 12;
+  public static final int COMMANDSWHITE = 10;
+  public static final int YYINITIAL = 0;
+  public static final int COMMENT = 4;
+  public static final int FIELD = 6;
+  public static final int COMMANDS = 8;
+  public static final int QSTRING = 2;
+
+  /**
+   * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+   * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
+   *                  at the beginning of a line
+   * l is of the form l = 2*k, k a non negative integer
+   */
+  private static final int ZZ_LEXSTATE[] = { 
+     0,  0,  1,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6, 6
+  };
+
+  /** 
+   * Translates characters to character classes
+   */
+  private static final String ZZ_CMAP_PACKED = 
+    "\11\0\1\111\1\1\1\0\1\120\1\113\22\0\1\72\1\116\1\7"+
+    "\1\114\1\112\1\10\1\51\1\6\1\3\1\4\1\40\1\43\1\117"+
+    "\1\44\1\37\1\5\12\115\1\110\1\123\1\47\1\45\1\50\1\114"+
+    "\1\53\1\101\1\102\1\25\1\35\1\33\1\14\1\104\1\30\1\26"+
+    "\1\103\1\107\1\76\1\32\1\73\1\31\1\34\1\122\1\36\1\24"+
+    "\1\12\1\77\1\105\1\27\1\122\1\100\1\74\1\2\1\41\1\4"+
+    "\1\42\1\121\1\0\1\23\1\65\1\55\1\57\1\15\1\13\1\106"+
+    "\1\60\1\17\1\122\1\66\1\61\1\70\1\20\1\56\1\16\1\67"+
+    "\1\62\1\22\1\11\1\54\1\75\1\63\1\71\1\64\1\21\1\2"+
+    "\1\52\1\4\1\46\uff81\0";
+
+  /** 
+   * Translates characters to character classes
+   */
+  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+
+  /** 
+   * Translates DFA states to action switch labels.
+   */
+  private static final int [] ZZ_ACTION = zzUnpackAction();
+
+  private static final String ZZ_ACTION_PACKED_0 =
+    "\1\0\1\1\3\0\1\1\1\0\1\2\1\3\1\4"+
+    "\1\5\1\6\1\7\14\10\1\11\10\5\6\10\1\12"+
+    "\1\13\1\14\1\13\1\15\1\2\1\1\1\16\1\17"+
+    "\1\1\1\20\1\21\1\22\1\23\13\22\1\24\6\22"+
+    "\1\25\1\22\1\26\1\27\1\26\1\30\1\31\1\32"+
+    "\1\33\2\1\1\34\1\35\2\16\1\36\1\5\1\37"+
+    "\1\0\2\40\1\10\1\40\12\10\1\41\4\10\1\5"+
+    "\1\13\1\5\1\15\1\0\2\10\1\42\3\10\1\0"+
+    "\1\37\2\0\1\37\1\15\41\0\1\43\1\0\1\1"+
+    "\1\44\3\0\6\10\1\41\5\10\1\40\1\10\1\15"+
+    "\7\10\2\15\1\45\37\0\1\43\1\0\1\46\3\10"+
+    "\1\47\1\50\11\10\16\0\1\51\15\0\1\46\7\10"+
+    "\1\52\30\0\1\10\1\47\2\10\30\0\1\10\27\0"+
+    "\1\53\20\0\1\54\1\0\1\55\260\0\2\37";
+
+  private static int [] zzUnpackAction() {
+    int [] result = new int[551];
+    int offset = 0;
+    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+    return result;
+  }
+
+  private static int zzUnpackAction(String packed, int offset, int [] result) {
+    int i = 0;       /* index in packed string  */
+    int j = offset;  /* index in unpacked array */
+    int l = packed.length();
+    while (i < l) {
+      int count = packed.charAt(i++);
+      int value = packed.charAt(i++);
+      do result[j++] = value; while (--count > 0);
     }
+    return j;
+  }
 
 
-    /* error codes */
-    private static final int ZZ_UNKNOWN_ERROR = 0;
-    private static final int ZZ_NO_MATCH = 1;
-    private static final int ZZ_PUSHBACK_2BIG = 2;
+  /* error codes */
+  private static final int ZZ_UNKNOWN_ERROR = 0;
+  private static final int ZZ_NO_MATCH = 1;
+  private static final int ZZ_PUSHBACK_2BIG = 2;
 
-    /* error messages for the codes above */
-    private static final String ZZ_ERROR_MSG[] = {
-        "Unkown internal scanner error",
-        "Error: could not match input",
-        "Error: pushback value was too large"
-    };
+  /* error messages for the codes above */
+  private static final String ZZ_ERROR_MSG[] = {
+    "Unkown internal scanner error",
+    "Error: could not match input",
+    "Error: pushback value was too large"
+  };
 
-    /** the input device */
-    private java.io.Reader zzReader;
+  /** the input device */
+  private java.io.Reader zzReader;
 
-    /** the current state of the DFA */
-    private int zzState;
+  /** the current state of the DFA */
+  private int zzState;
 
-    /** the current lexical state */
-    private int zzLexicalState = YYINITIAL;
+  /** the current lexical state */
+  private int zzLexicalState = YYINITIAL;
 
-    /** this buffer contains the current text to be matched and is
-        the source of the yytext() string */
-    private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+  /** this buffer contains the current text to be matched and is
+      the source of the yytext() string */
+  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
 
-    /** the textposition at the last accepting state */
-    private int zzMarkedPos;
+  /** the textposition at the last accepting state */
+  private int zzMarkedPos;
 
-    /** the current text position in the buffer */
-    private int zzCurrentPos;
+  /** the current text position in the buffer */
+  private int zzCurrentPos;
 
-    /** startRead marks the beginning of the yytext() string in the buffer */
-    private int zzStartRead;
+  /** startRead marks the beginning of the yytext() string in the buffer */
+  private int zzStartRead;
 
-    /** endRead marks the last character in the buffer, that has been read
-        from input */
-    private int zzEndRead;
+  /** endRead marks the last character in the buffer, that has been read
+      from input */
+  private int zzEndRead;
 
-    /** number of newlines encountered up to the start of the matched text */
-    private int yyline;
+  /** number of newlines encountered up to the start of the matched text */
+  private int yyline;
 
-    /** the number of characters up to the start of the matched text */
-    private int yychar;
+  /** the number of characters up to the start of the matched text */
+  private int yychar;
 
-    /**
-     * the number of characters from the last newline up to the start of the
-     * matched text
-     */
-    private int yycolumn;
+  /**
+   * the number of characters from the last newline up to the start of the 
+   * matched text
+   */
+  private int yycolumn;
 
-    /**
-     * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-     */
-    private boolean zzAtBOL = true;
+  /** 
+   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
+   */
+  private boolean zzAtBOL = true;
 
-    /** zzAtEOF == true <=> the scanner is at the EOF */
-    private boolean zzAtEOF;
+  /** zzAtEOF == true <=> the scanner is at the EOF */
+  private boolean zzAtEOF;
 
-    /** denotes if the user-EOF-code has already been executed */
-    private boolean zzEOFDone;
+  /** denotes if the user-EOF-code has already been executed */
+  private boolean zzEOFDone;
 
-    /* user code: */
+  /* user code: */
     public int start;
     public int end;
     public int beginString;
@@ -192,30 +190,36 @@ public final class ScilabLexer extends ScilabLexerConstants {
     private boolean breakstring;
 
     public ScilabLexer(ScilabDocument doc) {
+       this(doc, true);
+    }
+
+    public ScilabLexer(ScilabDocument doc, boolean update) {
         this.doc = doc;
         this.elem = doc.getDefaultRootElement();
         this.infile = doc.getFunctionsInDoc();
-        update();
-    }
+       if (update) {
+          update();
+       }
+    }     
 
     public static void update() {
-        if (ScilabCommonsUtils.isScilabThread()) {
+       if (ScilabCommonsUtils.isScilabThread()) {
             String[] vars = ScilabKeywords.GetVariablesName();
-            String[] funs = ScilabKeywords.GetFunctionsName();
-            String[] macs = ScilabKeywords.GetMacrosName();
-            variables.clear();
+           String[] funs = ScilabKeywords.GetFunctionsName();
+           String[] macs = ScilabKeywords.GetMacrosName();
+           variables.clear();
             commands.clear();
             macros.clear();
-            if (vars != null) {
-                variables.addAll(Arrays.asList(vars));
-            }
+           if (vars != null) {
+               variables.addAll(Arrays.asList(vars));
+           }
             if (funs != null) {
-                commands.addAll(Arrays.asList(funs));
-            }
-            if (macs != null) {
-                macros.addAll(Arrays.asList(macs));
-            }
-        }
+               commands.addAll(Arrays.asList(funs));
+           }
+           if (macs != null) {
+               macros.addAll(Arrays.asList(macs));
+           }
+       }
     }
 
     public void setRange(int p0, int p1) {
@@ -226,7 +230,7 @@ public final class ScilabLexer extends ScilabLexerConstants {
         yyreset(new ScilabDocumentReader(doc, p0, p1));
         int currentLine = elem.getElementIndex(start);
         if (currentLine != 0 && ((ScilabDocument.ScilabLeafElement) elem.getElement(currentLine - 1)).isBrokenString()) {
-            yybegin(QSTRING);
+           yybegin(QSTRING);
         }
     }
 
@@ -237,8 +241,8 @@ public final class ScilabLexer extends ScilabLexerConstants {
     public int scan() throws IOException {
         int ret = yylex();
         if (start + yychar + yylength() == end - 1) {
-            ((ScilabDocument.ScilabLeafElement) elem.getElement(elem.getElementIndex(start))).setBrokenString(breakstring);
-            breakstring = false;
+           ((ScilabDocument.ScilabLeafElement) elem.getElement(elem.getElementIndex(start))).setBrokenString(breakstring);
+           breakstring = false;
         }
         return ret;
     }
@@ -252,9842 +256,7230 @@ public final class ScilabLexer extends ScilabLexerConstants {
         int s = -1;
 
         try {
-            yyreset(new ScilabDocumentReader(doc, start, end));
-            if (!strict) {
-                pos++;
-            }
-
-            while (startL < pos && (s != startL || yystate() == BREAKSTRING)) {
-                s = startL;
-                tok = yylex();
-                startL = start + yychar + yylength();
-            }
-
-            return tok;
+           yyreset(new ScilabDocumentReader(doc, start, end));
+           if (!strict) {
+              pos++;
+           }
+
+           while (startL < pos && (s != startL || yystate() == BREAKSTRING)) {
+               s = startL;
+               tok = yylex();
+               startL = start + yychar + yylength();
+           }
+
+           return tok;
         } catch (IOException e) {
-            return ScilabLexerConstants.DEFAULT;
+           return ScilabLexerConstants.DEFAULT;
         }
-    }
-
-    public static ScilabTokens getScilabTokens(String str) {
-        ScilabDocument doc = new ScilabDocument(false);
-        try {
-            doc.insertString(0, str, null);
-        } catch (BadLocationException e) { }
-        return getScilabTokens(doc);
-    }
-
-    public static ScilabTokens getScilabTokens(ScilabDocument doc) {
-        ScilabLexer lexer = new ScilabLexer(doc);
-        lexer.yyreset(new ScilabDocumentReader(doc, 0, doc.getLength()));
-        ScilabTokens tokens = new ScilabTokens();
-        int tok = -1;
-        try {
-            while (tok != ScilabLexerConstants.EOF) {
-                tok = lexer.yylex();
-                tokens.add(tok, lexer.yychar + lexer.yylength());
-            }
-        } catch (IOException e) { }
-
-        return tokens;
-    }
-
-    public static class ScilabTokens {
+     }
+
+     public static ScilabTokens getScilabTokens(String str) {
+        ScilabDocument doc = new ScilabDocument(false);
+        try {
+            doc.insertString(0, str, null);
+         } catch (BadLocationException e) { }
+        return getScilabTokens(doc);
+     }
+
+     public static ScilabTokens getScilabTokens(ScilabDocument doc) {
+        ScilabLexer lexer = new ScilabLexer(doc);
+        lexer.yyreset(new ScilabDocumentReader(doc, 0, doc.getLength()));
+        ScilabTokens tokens = new ScilabTokens();
+        int tok = -1;
+        try {
+           while (tok != ScilabLexerConstants.EOF) {
+               tok = lexer.yylex();
+              tokens.add(tok, lexer.yychar + lexer.yylength());
+           }
+        } catch (IOException e) { }
+        return tokens;
+     }
+
+     public static class ScilabTokens {
         private List<Integer> tokenType = new ArrayList<Integer>();
         private List<Integer> tokenPos = new ArrayList<Integer>();
 
-        ScilabTokens() { }
-
-        void add(final int type, final int pos) {
-            tokenType.add(type);
-            tokenPos.add(pos);
-        }
-
-        public final List<Integer> getTokenType() {
-            return tokenType;
-        }
-
-        public final List<Integer> getTokenPos() {
-            return tokenPos;
-        }
-    }
-
-
-    /**
-     * Creates a new scanner
-     * There is also a java.io.InputStream version of this constructor.
-     *
-     * @param   in  the java.io.Reader to read input from.
-     */
-    public ScilabLexer(java.io.Reader in) {
-        this.zzReader = in;
-    }
-
-    /**
-     * Creates a new scanner.
-     * There is also java.io.Reader version of this constructor.
-     *
-     * @param   in  the java.io.Inputstream to read input from.
-     */
-    public ScilabLexer(java.io.InputStream in) {
-        this(new java.io.InputStreamReader(in));
+       ScilabTokens() { }
+
+       void add(final int type, final int pos) {
+          tokenType.add(type);
+          tokenPos.add(pos);
+       }
+
+       public final List<Integer> getTokenType() {
+          return tokenType;
+       }
+
+       public final List<Integer> getTokenPos() {
+          return tokenPos;
+       }
+     }
+
+
+  /**
+   * Creates a new scanner
+   * There is also a java.io.InputStream version of this constructor.
+   *
+   * @param   in  the java.io.Reader to read input from.
+   */
+  public ScilabLexer(java.io.Reader in) {
+    this.zzReader = in;
+  }
+
+  /**
+   * Creates a new scanner.
+   * There is also java.io.Reader version of this constructor.
+   *
+   * @param   in  the java.io.Inputstream to read input from.
+   */
+  public ScilabLexer(java.io.InputStream in) {
+    this(new java.io.InputStreamReader(in));
+  }
+
+  /** 
+   * Unpacks the compressed character translation table.
+   *
+   * @param packed   the packed character translation table
+   * @return         the unpacked character translation table
+   */
+  private static char [] zzUnpackCMap(String packed) {
+    char [] map = new char[0x10000];
+    int i = 0;  /* index in packed string  */
+    int j = 0;  /* index in unpacked array */
+    while (i < 188) {
+      int  count = packed.charAt(i++);
+      char value = packed.charAt(i++);
+      do map[j++] = value; while (--count > 0);
     }
-
-    /**
-     * Unpacks the compressed character translation table.
-     *
-     * @param packed   the packed character translation table
-     * @return         the unpacked character translation table
-     */
-    private static char [] zzUnpackCMap(String packed) {
-        char [] map = new char[0x10000];
-        int i = 0;  /* index in packed string  */
-        int j = 0;  /* index in unpacked array */
-        while (i < 188) {
-            int  count = packed.charAt(i++);
-            char value = packed.charAt(i++);
-            do {
-                map[j++] = value;
-            } while (--count > 0);
-        }
-        return map;
+    return map;
+  }
+
+
+  /**
+   * Refills the input buffer.
+   *
+   * @return      <code>false</code>, iff there was new input.
+   * 
+   * @exception   java.io.IOException  if any I/O-Error occurs
+   */
+  private boolean zzRefill() throws java.io.IOException {
+
+    /* first: make room (if you can) */
+    if (zzStartRead > 0) {
+      System.arraycopy(zzBuffer, zzStartRead,
+                       zzBuffer, 0,
+                       zzEndRead-zzStartRead);
+
+      /* translate stored positions */
+      zzEndRead-= zzStartRead;
+      zzCurrentPos-= zzStartRead;
+      zzMarkedPos-= zzStartRead;
+      zzStartRead = 0;
     }
 
-
-    /**
-     * Refills the input buffer.
-     *
-     * @return      <code>false</code>, iff there was new input.
-     *
-     * @exception   java.io.IOException  if any I/O-Error occurs
-     */
-    private boolean zzRefill() throws java.io.IOException {
-
-        /* first: make room (if you can) */
-        if (zzStartRead > 0) {
-            System.arraycopy(zzBuffer, zzStartRead,
-                             zzBuffer, 0,
-                             zzEndRead - zzStartRead);
-
-            /* translate stored positions */
-            zzEndRead -= zzStartRead;
-            zzCurrentPos -= zzStartRead;
-            zzMarkedPos -= zzStartRead;
-            zzStartRead = 0;
-        }
-
-        /* is the buffer big enough? */
-        if (zzCurrentPos >= zzBuffer.length) {
-            /* if not: blow it up */
-            char newBuffer[] = new char[zzCurrentPos * 2];
-            System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-            zzBuffer = newBuffer;
-        }
-
-        /* finally: fill the buffer with new input */
-        int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                    zzBuffer.length - zzEndRead);
-
-        if (numRead > 0) {
-            zzEndRead += numRead;
-            return false;
-        }
-        // unlikely but not impossible: read 0 characters, but not at end of stream
-        if (numRead == 0) {
-            int c = zzReader.read();
-            if (c == -1) {
-                return true;
-            } else {
-                zzBuffer[zzEndRead++] = (char) c;
-                return false;
-            }
-        }
-
-        // numRead < 0
-        return true;
+    /* is the buffer big enough? */
+    if (zzCurrentPos >= zzBuffer.length) {
+      /* if not: blow it up */
+      char newBuffer[] = new char[zzCurrentPos*2];
+      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+      zzBuffer = newBuffer;
     }
 
+    /* finally: fill the buffer with new input */
+    int numRead = zzReader.read(zzBuffer, zzEndRead,
+                                            zzBuffer.length-zzEndRead);
 
-    /**
-     * Closes the input stream.
-     */
-    public final void yyclose() throws java.io.IOException {
-        zzAtEOF = true;            /* indicate end of file */
-        zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-        if (zzReader != null) {
-            zzReader.close();
-        }
+    if (numRead > 0) {
+      zzEndRead+= numRead;
+      return false;
     }
-
-
-    /**
-     * Resets the scanner to read from a new input stream.
-     * Does not close the old reader.
-     *
-     * All internal variables are reset, the old input stream
-     * <b>cannot</b> be reused (internal buffer is discarded and lost).
-     * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-     *
-     * @param reader   the new input stream
-     */
-    public final void yyreset(java.io.Reader reader) {
-        zzReader = reader;
-        zzAtBOL  = true;
-        zzAtEOF  = false;
-        zzEOFDone = false;
-        zzEndRead = zzStartRead = 0;
-        zzCurrentPos = zzMarkedPos = 0;
-        yyline = yychar = yycolumn = 0;
-        zzLexicalState = YYINITIAL;
+    // unlikely but not impossible: read 0 characters, but not at end of stream    
+    if (numRead == 0) {
+      int c = zzReader.read();
+      if (c == -1) {
+        return true;
+      } else {
+        zzBuffer[zzEndRead++] = (char) c;
+        return false;
+      }     
     }
 
-
-    /**
-     * Returns the current lexical state.
-     */
-    public final int yystate() {
-        return zzLexicalState;
+       // numRead < 0
+    return true;
+  }
+
+    
+  /**
+   * Closes the input stream.
+   */
+  public final void yyclose() throws java.io.IOException {
+    zzAtEOF = true;            /* indicate end of file */
+    zzEndRead = zzStartRead;  /* invalidate buffer    */
+
+    if (zzReader != null)
+      zzReader.close();
+  }
+
+
+  /**
+   * Resets the scanner to read from a new input stream.
+   * Does not close the old reader.
+   *
+   * All internal variables are reset, the old input stream 
+   * <b>cannot</b> be reused (internal buffer is discarded and lost).
+   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
+   *
+   * @param reader   the new input stream 
+   */
+  public final void yyreset(java.io.Reader reader) {
+    zzReader = reader;
+    zzAtBOL  = true;
+    zzAtEOF  = false;
+    zzEOFDone = false;
+    zzEndRead = zzStartRead = 0;
+    zzCurrentPos = zzMarkedPos = 0;
+    yyline = yychar = yycolumn = 0;
+    zzLexicalState = YYINITIAL;
+  }
+
+
+  /**
+   * Returns the current lexical state.
+   */
+  public final int yystate() {
+    return zzLexicalState;
+  }
+
+
+  /**
+   * Enters a new lexical state
+   *
+   * @param newState the new lexical state
+   */
+  public final void yybegin(int newState) {
+    zzLexicalState = newState;
+  }
+
+
+  /**
+   * Returns the text matched by the current regular expression.
+   */
+  public final String yytext() {
+    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
+  }
+
+
+  /**
+   * Returns the character at position <tt>pos</tt> from the 
+   * matched text. 
+   * 
+   * It is equivalent to yytext().charAt(pos), but faster
+   *
+   * @param pos the position of the character to fetch. 
+   *            A value from 0 to yylength()-1.
+   *
+   * @return the character at position pos
+   */
+  public final char yycharat(int pos) {
+    return zzBuffer[zzStartRead+pos];
+  }
+
+
+  /**
+   * Returns the length of the matched text region.
+   */
+  public final int yylength() {
+    return zzMarkedPos-zzStartRead;
+  }
+
+
+  /**
+   * Reports an error that occured while scanning.
+   *
+   * In a wellformed scanner (no or only correct usage of 
+   * yypushback(int) and a match-all fallback rule) this method 
+   * will only be called with things that "Can't Possibly Happen".
+   * If this method is called, something is seriously wrong
+   * (e.g. a JFlex bug producing a faulty scanner etc.).
+   *
+   * Usual syntax/scanner level error handling should be done
+   * in error fallback rules.
+   *
+   * @param   errorCode  the code of the errormessage to display
+   */
+  private void zzScanError(int errorCode) {
+    String message;
+    try {
+      message = ZZ_ERROR_MSG[errorCode];
     }
-
-
-    /**
-     * Enters a new lexical state
-     *
-     * @param newState the new lexical state
-     */
-    public final void yybegin(int newState) {
-        zzLexicalState = newState;
+    catch (ArrayIndexOutOfBoundsException e) {
+      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
     }
 
+    throw new Error(message);
+  } 
 
-    /**
-     * Returns the text matched by the current regular expression.
-     */
-    public final String yytext() {
-        return new String( zzBuffer, zzStartRead, zzMarkedPos - zzStartRead );
-    }
 
+  /**
+   * Pushes the specified amount of characters back into the input stream.
+   *
+   * They will be read again by then next call of the scanning method
+   *
+   * @param number  the number of characters to be read again.
+   *                This number must not be greater than yylength()!
+   */
+  public void yypushback(int number)  {
+    if ( number > yylength() )
+      zzScanError(ZZ_PUSHBACK_2BIG);
 
-    /**
-     * Returns the character at position <tt>pos</tt> from the
-     * matched text.
-     *
-     * It is equivalent to yytext().charAt(pos), but faster
-     *
-     * @param pos the position of the character to fetch.
-     *            A value from 0 to yylength()-1.
-     *
-     * @return the character at position pos
-     */
-    public final char yycharat(int pos) {
-        return zzBuffer[zzStartRead + pos];
-    }
+    zzMarkedPos -= number;
+  }
 
 
-    /**
-     * Returns the length of the matched text region.
-     */
-    public final int yylength() {
-        return zzMarkedPos - zzStartRead;
-    }
+  /**
+   * Resumes scanning until the next regular expression is matched,
+   * the end of input is encountered or an I/O-Error occurs.
+   *
+   * @return      the next token
+   * @exception   java.io.IOException  if any I/O-Error occurs
+   */
+  public int yylex() throws java.io.IOException {
+    int zzInput;
+    int zzAction;
 
+    // cached fields:
+    int zzCurrentPosL;
+    int zzMarkedPosL;
+    int zzEndReadL = zzEndRead;
+    char [] zzBufferL = zzBuffer;
+    char [] zzCMapL = ZZ_CMAP;
 
-    /**
-     * Reports an error that occured while scanning.
-     *
-     * In a wellformed scanner (no or only correct usage of
-     * yypushback(int) and a match-all fallback rule) this method
-     * will only be called with things that "Can't Possibly Happen".
-     * If this method is called, something is seriously wrong
-     * (e.g. a JFlex bug producing a faulty scanner etc.).
-     *
-     * Usual syntax/scanner level error handling should be done
-     * in error fallback rules.
-     *
-     * @param   errorCode  the code of the errormessage to display
-     */
-    private void zzScanError(int errorCode) {
-        String message;
-        try {
-            message = ZZ_ERROR_MSG[errorCode];
-        } catch (ArrayIndexOutOfBoundsException e) {
-            message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-        }
 
-        throw new Error(message);
-    }
-
-
-    /**
-     * Pushes the specified amount of characters back into the input stream.
-     *
-     * They will be read again by then next call of the scanning method
-     *
-     * @param number  the number of characters to be read again.
-     *                This number must not be greater than yylength()!
-     */
-    public void yypushback(int number)  {
-        if ( number > yylength() ) {
-            zzScanError(ZZ_PUSHBACK_2BIG);
-        }
-
-        zzMarkedPos -= number;
-    }
+    while (true) {
+      zzMarkedPosL = zzMarkedPos;
 
+      yychar+= zzMarkedPosL-zzStartRead;
 
-    /**
-     * Resumes scanning until the next regular expression is matched,
-     * the end of input is encountered or an I/O-Error occurs.
-     *
-     * @return      the next token
-     * @exception   java.io.IOException  if any I/O-Error occurs
-     */
-    public int yylex() throws java.io.IOException {
-        int zzInput;
-        int zzAction;
+      zzAction = -1;
 
-        // cached fields:
-        int zzCurrentPosL;
-        int zzMarkedPosL;
-        int zzEndReadL = zzEndRead;
-        char [] zzBufferL = zzBuffer;
-        char [] zzCMapL = ZZ_CMAP;
+      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
+  
+      zzState = ZZ_LEXSTATE[zzLexicalState];
 
 
+      zzForAction: {
         while (true) {
-            zzMarkedPosL = zzMarkedPos;
-
-            yychar += zzMarkedPosL - zzStartRead;
-
-            zzAction = -1;
-
-            zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
-            zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
-            zzForAction: {
-                while (true) {
-
-                    if (zzCurrentPosL < zzEndReadL) {
-                        zzInput = zzBufferL[zzCurrentPosL++];
-                    } else if (zzAtEOF) {
-                        zzInput = YYEOF;
-                        break zzForAction;
-                    } else {
-                        // store back cached positions
-                        zzCurrentPos  = zzCurrentPosL;
-                        zzMarkedPos   = zzMarkedPosL;
-                        boolean eof = zzRefill();
-                        // get translated positions and possibly new buffer
-                        zzCurrentPosL  = zzCurrentPos;
-                        zzMarkedPosL   = zzMarkedPos;
-                        zzBufferL      = zzBuffer;
-                        zzEndReadL     = zzEndRead;
-                        if (eof) {
-                            zzInput = YYEOF;
-                            break zzForAction;
-                        } else {
-                            zzInput = zzBufferL[zzCurrentPosL++];
-                        }
-                    }
-                    zzInput = zzCMapL[zzInput];
-
-                    boolean zzIsFinal = false;
-                    boolean zzNoLookAhead = false;
-
-                    zzForNext: {
-                        switch (zzState) {
-                            case 0:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 75:
-                                    case 80:
-                                    case 83:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 7;
-                                        break zzForNext;
-                                    case 2:
-                                    case 3:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 8;
-                                        break zzForNext;
-                                    case 4:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 9;
-                                        break zzForNext;
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzState = 10;
-                                        break zzForNext;
-                                    case 6:
-                                        zzIsFinal = true;
-                                        zzState = 11;
-                                        break zzForNext;
-                                    case 7:
-                                        zzIsFinal = true;
-                                        zzState = 12;
-                                        break zzForNext;
-                                    case 8:
-                                        zzIsFinal = true;
-                                        zzState = 13;
-                                        break zzForNext;
-                                    case 9:
-                                        zzIsFinal = true;
-                                        zzState = 14;
-                                        break zzForNext;
-                                    case 10:
-                                        zzIsFinal = true;
-                                        zzState = 15;
-                                        break zzForNext;
-                                    case 11:
-                                        zzIsFinal = true;
-                                        zzState = 16;
-                                        break zzForNext;
-                                    case 13:
-                                        zzIsFinal = true;
-                                        zzState = 18;
-                                        break zzForNext;
-                                    case 14:
-                                        zzIsFinal = true;
-                                        zzState = 19;
-                                        break zzForNext;
-                                    case 15:
-                                        zzIsFinal = true;
-                                        zzState = 20;
-                                        break zzForNext;
-                                    case 18:
-                                        zzIsFinal = true;
-                                        zzState = 21;
-                                        break zzForNext;
-                                    case 19:
-                                        zzIsFinal = true;
-                                        zzState = 22;
-                                        break zzForNext;
-                                    case 20:
-                                        zzIsFinal = true;
-                                        zzState = 23;
-                                        break zzForNext;
-                                    case 23:
-                                        zzIsFinal = true;
-                                        zzState = 24;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 25;
-                                        break zzForNext;
-                                    case 32:
-                                        zzIsFinal = true;
-                                        zzState = 26;
-                                        break zzForNext;
-                                    case 33:
-                                    case 34:
-                                        zzIsFinal = true;
-                                        zzState = 27;
-                                        break zzForNext;
-                                    case 35:
-                                        zzIsFinal = true;
-                                        zzState = 28;
-                                        break zzForNext;
-                                    case 36:
-                                        zzIsFinal = true;
-                                        zzState = 29;
-                                        break zzForNext;
-                                    case 37:
-                                    case 38:
-                                    case 40:
-                                    case 43:
-                                        zzIsFinal = true;
-                                        zzState = 30;
-                                        break zzForNext;
-                                    case 39:
-                                        zzIsFinal = true;
-                                        zzState = 31;
-                                        break zzForNext;
-                                    case 41:
-                                        zzIsFinal = true;
-                                        zzState = 32;
-                                        break zzForNext;
-                                    case 42:
-                                        zzIsFinal = true;
-                                        zzState = 33;
-                                        break zzForNext;
-                                    case 45:
-                                        zzIsFinal = true;
-                                        zzState = 34;
-                                        break zzForNext;
-                                    case 47:
-                                        zzIsFinal = true;
-                                        zzState = 35;
-                                        break zzForNext;
-                                    case 50:
-                                        zzIsFinal = true;
-                                        zzState = 36;
-                                        break zzForNext;
-                                    case 51:
-                                        zzIsFinal = true;
-                                        zzState = 37;
-                                        break zzForNext;
-                                    case 53:
-                                        zzIsFinal = true;
-                                        zzState = 38;
-                                        break zzForNext;
-                                    case 55:
-                                        zzIsFinal = true;
-                                        zzState = 39;
-                                        break zzForNext;
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzState = 40;
-                                        break zzForNext;
-                                    case 72:
-                                        zzIsFinal = true;
-                                        zzState = 41;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzState = 42;
-                                        break zzForNext;
-                                    case 74:
-                                        zzIsFinal = true;
-                                        zzState = 43;
-                                        break zzForNext;
-                                    case 77:
-                                        zzIsFinal = true;
-                                        zzState = 44;
-                                        break zzForNext;
-                                    case 79:
-                                        zzIsFinal = true;
-                                        zzState = 45;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 1:
-                                switch (zzInput) {
-                                    case 1:
-                                    case 75:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 47;
-                                        break zzForNext;
-                                    case 6:
-                                    case 7:
-                                        zzIsFinal = true;
-                                        zzState = 48;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 49;
-                                        break zzForNext;
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 50;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 51;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 46;
-                                        break zzForNext;
-                                }
-
-                            case 2:
-                                switch (zzInput) {
-                                    case 1:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 53;
-                                        break zzForNext;
-                                    case 9:
-                                        zzIsFinal = true;
-                                        zzState = 54;
-                                        break zzForNext;
-                                    case 10:
-                                        zzIsFinal = true;
-                                        zzState = 55;
-                                        break zzForNext;
-                                    case 20:
-                                        zzIsFinal = true;
-                                        zzState = 56;
-                                        break zzForNext;
-                                    case 21:
-                                        zzIsFinal = true;
-                                        zzState = 57;
-                                        break zzForNext;
-                                    case 22:
-                                        zzIsFinal = true;
-                                        zzState = 58;
-                                        break zzForNext;
-                                    case 26:
-                                        zzIsFinal = true;
-                                        zzState = 59;
-                                        break zzForNext;
-                                    case 27:
-                                        zzIsFinal = true;
-                                        zzState = 60;
-                                        break zzForNext;
-                                    case 28:
-                                        zzIsFinal = true;
-                                        zzState = 61;
-                                        break zzForNext;
-                                    case 29:
-                                        zzIsFinal = true;
-                                        zzState = 62;
-                                        break zzForNext;
-                                    case 39:
-                                        zzIsFinal = true;
-                                        zzState = 63;
-                                        break zzForNext;
-                                    case 48:
-                                        zzIsFinal = true;
-                                        zzState = 64;
-                                        break zzForNext;
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 65;
-                                        break zzForNext;
-                                    case 59:
-                                        zzIsFinal = true;
-                                        zzState = 66;
-                                        break zzForNext;
-                                    case 62:
-                                        zzIsFinal = true;
-                                        zzState = 67;
-                                        break zzForNext;
-                                    case 64:
-                                        zzIsFinal = true;
-                                        zzState = 68;
-                                        break zzForNext;
-                                    case 65:
-                                        zzIsFinal = true;
-                                        zzState = 69;
-                                        break zzForNext;
-                                    case 66:
-                                        zzIsFinal = true;
-                                        zzState = 70;
-                                        break zzForNext;
-                                    case 69:
-                                        zzIsFinal = true;
-                                        zzState = 71;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 72;
-                                        break zzForNext;
-                                    case 74:
-                                        zzIsFinal = true;
-                                        zzState = 73;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 52;
-                                        break zzForNext;
-                                }
-
-                            case 3:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 77:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 74;
-                                        break zzForNext;
-                                    case 74:
-                                        zzIsFinal = true;
-                                        zzState = 76;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 75;
-                                        break zzForNext;
-                                }
-
-                            case 4:
-                                switch (zzInput) {
-                                    case 1:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 77;
-                                        break zzForNext;
-                                    case 3:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 78;
-                                        break zzForNext;
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzState = 79;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzState = 80;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 74;
-                                        break zzForNext;
-                                }
-
-                            case 5:
-                                switch (zzInput) {
-                                    case 79:
-                                    case 83:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 74;
-                                        break zzForNext;
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzState = 82;
-                                        break zzForNext;
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 83;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 84;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 81;
-                                        break zzForNext;
-                                }
-
-                            case 6:
-                                switch (zzInput) {
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 83;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 84;
-                                        break zzForNext;
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzState = 85;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 86;
-                                        break zzForNext;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 47;
-                                        break zzForNext;
-                                }
-
-                            case 10:
-                                switch (zzInput) {
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 87;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 11:
-                                switch (zzInput) {
-                                    case 74:
-                                        zzState = 90;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 12:
-                                switch (zzInput) {
-                                    case 74:
-                                        zzState = 90;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 13:
-                                switch (zzInput) {
-                                    case 9:
-                                    case 10:
-                                    case 11:
-                                    case 12:
-                                    case 17:
-                                    case 18:
-                                        zzIsFinal = true;
-                                        zzState = 91;
-                                        break zzForNext;
-                                    case 13:
-                                        zzIsFinal = true;
-                                        zzState = 92;
-                                        break zzForNext;
-                                    case 14:
-                                        zzIsFinal = true;
-                                        zzState = 93;
-                                        break zzForNext;
-                                    case 15:
-                                        zzIsFinal = true;
-                                        zzState = 94;
-                                        break zzForNext;
-                                    case 16:
-                                        zzIsFinal = true;
-                                        zzState = 95;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 14:
-                                switch (zzInput) {
-                                    case 48:
-                                        zzIsFinal = true;
-                                        zzState = 96;
-                                        break zzForNext;
-                                    case 50:
-                                        zzIsFinal = true;
-                                        zzState = 97;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 15:
-                                switch (zzInput) {
-                                    case 26:
-                                        zzIsFinal = true;
-                                        zzState = 98;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 16:
-                                switch (zzInput) {
-                                    case 44:
-                                        zzIsFinal = true;
-                                        zzState = 99;
-                                        break zzForNext;
-                                    case 46:
-                                        zzIsFinal = true;
-                                        zzState = 100;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 17:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                }
-
-                            case 18:
-                                switch (zzInput) {
-                                    case 16:
-                                        zzIsFinal = true;
-                                        zzState = 101;
-                                        break zzForNext;
-                                    case 49:
-                                        zzIsFinal = true;
-                                        zzState = 102;
-                                        break zzForNext;
-                                    case 57:
-                                        zzIsFinal = true;
-                                        zzState = 103;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 19:
-                                switch (zzInput) {
-                                    case 19:
-                                        zzIsFinal = true;
-                                        zzState = 104;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 20:
-                                switch (zzInput) {
-                                    case 11:
-                                        zzIsFinal = true;
-                                        zzState = 105;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 21:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzIsFinal = true;
-                                        zzState = 106;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 22:
-                                switch (zzInput) {
-                                    case 53:
-                                        zzIsFinal = true;
-                                        zzState = 107;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 23:
-                                switch (zzInput) {
-                                    case 21:
-                                        zzIsFinal = true;
-                                        zzState = 108;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 24:
-                                switch (zzInput) {
-                                    case 20:
-                                        zzIsFinal = true;
-                                        zzState = 109;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 25:
-                                switch (zzInput) {
-                                    case 6:
-                                    case 34:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    case 5:
-                                    case 33:
-                                        zzIsFinal = true;
-                                        zzState = 110;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 111;
-                                        break zzForNext;
-                                    case 32:
-                                        zzIsFinal = true;
-                                        zzState = 112;
-                                        break zzForNext;
-                                    case 77:
-                                        zzIsFinal = true;
-                                        zzState = 113;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 26:
-                                switch (zzInput) {
-                                    case 32:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 27:
-                                switch (zzInput) {
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 28:
-                                switch (zzInput) {
-                                    case 5:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    case 31:
-                                        zzState = 114;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 29:
-                                switch (zzInput) {
-                                    case 5:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 37:
-                                    case 40:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    case 31:
-                                        zzState = 114;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 30:
-                                switch (zzInput) {
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 31:
-                                switch (zzInput) {
-                                    case 37:
-                                    case 40:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 32:
-                                switch (zzInput) {
-                                    case 41:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 33:
-                                switch (zzInput) {
-                                    case 42:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 34:
-                                switch (zzInput) {
-                                    case 19:
-                                        zzIsFinal = true;
-                                        zzState = 115;
-                                        break zzForNext;
-                                    case 46:
-                                        zzIsFinal = true;
-                                        zzState = 116;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 35:
-                                switch (zzInput) {
-                                    case 46:
-                                        zzIsFinal = true;
-                                        zzState = 117;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 36:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzIsFinal = true;
-                                        zzState = 118;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 37:
-                                switch (zzInput) {
-                                    case 48:
-                                        zzIsFinal = true;
-                                        zzState = 119;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 38:
-                                switch (zzInput) {
-                                    case 50:
-                                        zzIsFinal = true;
-                                        zzState = 120;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 39:
-                                switch (zzInput) {
-                                    case 44:
-                                        zzIsFinal = true;
-                                        zzState = 103;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 40:
-                                switch (zzInput) {
-                                    case 58:
-                                        zzState = 121;
-                                        break zzForNext;
-                                    case 73:
-                                        zzIsFinal = true;
-                                        zzState = 122;
-                                        break zzForNext;
-                                    case 78:
-                                        zzState = 123;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 41:
-                                switch (zzInput) {
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 42:
-                                switch (zzInput) {
-                                    case 58:
-                                        zzIsFinal = true;
-                                        zzState = 122;
-                                        break zzForNext;
-                                    case 73:
-                                        zzState = 124;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 43:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 44:
-                                switch (zzInput) {
-                                    case 77:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 113;
-                                        break zzForNext;
-                                    case 13:
-                                    case 27:
-                                    case 29:
-                                    case 47:
-                                        zzIsFinal = true;
-                                        zzState = 126;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 125;
-                                        break zzForNext;
-                                }
-
-                            case 45:
-                                switch (zzInput) {
-                                    case 37:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 46:
-                                switch (zzInput) {
-                                    case 6:
-                                    case 7:
-                                        zzState = 127;
-                                        break zzForNext;
-                                    case 1:
-                                    case 31:
-                                    case 58:
-                                    case 73:
-                                    case 75:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                }
-
-                            case 48:
-                                switch (zzInput) {
-                                    case 6:
-                                    case 7:
-                                        zzIsFinal = true;
-                                        zzState = 46;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 49:
-                                switch (zzInput) {
-                                    case 31:
-                                        zzState = 128;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 54:
-                                switch (zzInput) {
-                                    case 46:
-                                        zzState = 129;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 55:
-                                switch (zzInput) {
-                                    case 46:
-                                        zzState = 129;
-                                        break zzForNext;
-                                    case 25:
-                                        zzState = 130;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 56:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzState = 131;
-                                        break zzForNext;
-                                    case 15:
-                                        zzState = 132;
-                                        break zzForNext;
-                                    case 45:
-                                        zzState = 133;
-                                        break zzForNext;
-                                    case 48:
-                                        zzState = 134;
-                                        break zzForNext;
-                                    case 52:
-                                        zzState = 135;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 57:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzState = 136;
-                                        break zzForNext;
-                                    case 19:
-                                        zzState = 137;
-                                        break zzForNext;
-                                    case 49:
-                                        zzState = 138;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 58:
-                                switch (zzInput) {
-                                    case 16:
-                                        zzState = 139;
-                                        break zzForNext;
-                                    case 59:
-                                        zzState = 140;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 59:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzState = 141;
-                                        break zzForNext;
-                                    case 19:
-                                        zzState = 142;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 60:
-                                switch (zzInput) {
-                                    case 59:
-                                        zzState = 143;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 61:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzState = 144;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 62:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzState = 145;
-                                        break zzForNext;
-                                    case 22:
-                                        zzState = 146;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 63:
-                                switch (zzInput) {
-                                    case 58:
-                                    case 73:
-                                        zzState = 148;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 72:
-                                    case 74:
-                                    case 75:
-                                    case 76:
-                                    case 78:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzState = 147;
-                                        break zzForNext;
-                                }
-
-                            case 64:
-                                switch (zzInput) {
-                                    case 9:
-                                        zzState = 149;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 66:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzState = 150;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 67:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzState = 151;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 68:
-                                switch (zzInput) {
-                                    case 19:
-                                        zzState = 152;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 69:
-                                switch (zzInput) {
-                                    case 16:
-                                        zzState = 153;
-                                        break zzForNext;
-                                    case 47:
-                                        zzState = 154;
-                                        break zzForNext;
-                                    case 49:
-                                        zzState = 155;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 70:
-                                switch (zzInput) {
-                                    case 50:
-                                        zzState = 156;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 71:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzState = 157;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 73:
-                                switch (zzInput) {
-                                    case 33:
-                                        zzState = 159;
-                                        break zzForNext;
-                                    case 74:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 160;
-                                        break zzForNext;
-                                    default:
-                                        zzState = 158;
-                                        break zzForNext;
-                                }
-
-                            case 75:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                }
-
-                            case 76:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 75;
-                                        break zzForNext;
-                                }
-
-                            case 79:
-                                switch (zzInput) {
-                                    case 3:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 78;
-                                        break zzForNext;
-                                    case 58:
-                                    case 73:
-                                        zzState = 161;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 80:
-                                switch (zzInput) {
-                                    case 3:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 78;
-                                        break zzForNext;
-                                    case 58:
-                                    case 73:
-                                        zzState = 161;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 81:
-                                switch (zzInput) {
-                                    case 5:
-                                    case 58:
-                                    case 73:
-                                    case 79:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                }
-
-                            case 82:
-                                switch (zzInput) {
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 87;
-                                        break zzForNext;
-                                    case 58:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 162;
-                                        break zzForNext;
-                                }
-
-                            case 85:
-                                switch (zzInput) {
-                                    case 5:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 87;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 86:
-                                switch (zzInput) {
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzState = 163;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 90:
-                                switch (zzInput) {
-                                    case 6:
-                                    case 7:
-                                        zzState = 164;
-                                        break zzForNext;
-                                    case 33:
-                                        zzState = 165;
-                                        break zzForNext;
-                                    case 74:
-                                        zzState = 166;
-                                        break zzForNext;
-                                    default:
-                                        break zzForNext;
-                                }
-
-                            case 91:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 92:
-                                switch (zzInput) {
-                                    case 14:
-                                        zzIsFinal = true;
-                                        zzState = 167;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 93:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzIsFinal = true;
-                                        zzState = 91;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 94:
-                                switch (zzInput) {
-                                    case 16:
-                                        zzIsFinal = true;
-                                        zzState = 168;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 95:
-                                switch (zzInput) {
-                                    case 19:
-                                        zzIsFinal = true;
-                                        zzState = 169;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 96:
-                                switch (zzInput) {
-                                    case 13:
-                                        zzIsFinal = true;
-                                        zzState = 170;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 97:
-                                switch (zzInput) {
-                                    case 52:
-                                        zzIsFinal = true;
-                                        zzState = 105;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 98:
-                                switch (zzInput) {
-                                    case 28:
-                                        zzIsFinal = true;
-                                        zzState = 171;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 99:
-                                switch (zzInput) {
-                                    case 16:
-                                        zzIsFinal = true;
-                                        zzState = 172;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 100:
-                                switch (zzInput) {
-                                    case 50:
-                                        zzIsFinal = true;
-                                        zzState = 105;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 101:
-                                switch (zzInput) {
-                                    case 47:
-                                        zzIsFinal = true;
-                                        zzState = 173;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 102:
-                                switch (zzInput) {
-                                    case 18:
-                                        zzIsFinal = true;
-                                        zzState = 174;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 103:
-                                switch (zzInput) {
-                                    case 15:
-                                        zzIsFinal = true;
-                                        zzState = 175;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 104:
-                                switch (zzInput) {
-                                    case 44:
-                                        zzIsFinal = true;
-                                        zzState = 176;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 105:
-                                switch (zzInput) {
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 106:
-                                switch (zzInput) {
-                                    case 49:
-                                        zzIsFinal = true;
-                                        zzState = 177;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 107:
-                                switch (zzInput) {
-                                    case 46:
-                                        zzIsFinal = true;
-                                        zzState = 178;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 108:
-                                switch (zzInput) {
-                                    case 22:
-                                        zzIsFinal = true;
-                                        zzState = 179;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 109:
-                                switch (zzInput) {
-                                    case 21:
-                                        zzIsFinal = true;
-                                        zzState = 180;
-                                        break zzForNext;
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                    case 3:
-                                    case 4:
-                                    case 5:
-                                    case 6:
-                                    case 7:
-                                    case 8:
-                                    case 31:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                    case 37:
-                                    case 38:
-                                    case 39:
-                                    case 40:
-                                    case 41:
-                                    case 42:
-                                    case 43:
-                                    case 58:
-                                    case 72:
-                                    case 73:
-                                    case 75:
-                                    case 79:
-                                    case 80:
-                                    case 83:
-                                        break zzForAction;
-                                    default:
-                                        zzIsFinal = true;
-                                        zzState = 17;
-                                        break zzForNext;
-                                }
-
-                            case 110:
-                                switch (zzInput) {
-                                    case 31:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 111:
-                                switch (zzInput) {
-                                    case 31:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 112:
-                                switch (zzInput) {
-                                    case 31:
-                                    case 32:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 88;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 113:
-                                switch (zzInput) {
-                                    case 77:
-                                        zzIsFinal = true;
-                                        break zzForNext;
-                                    case 13:
-                                    case 27:
-                                    case 29:
-                                    case 47:
-                                        zzIsFinal = true;
-                                        zzState = 181;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 114:
-                                switch (zzInput) {
-                                    case 5:
-                                    case 32:
-                                    case 33:
-                                    case 34:
-                                    case 35:
-                                    case 36:
-                                        zzIsFinal = true;
-                                        zzNoLookAhead = true;
-                                        zzState = 89;
-                                        break zzForNext;
-                                    default:
-                                        break zzForAction;
-                                }
-
-                            case 115:
-                                switch&