gt:     while (i < l) {
context: /* The following code was generated by JFlex 1.4.1 on 1/25/09 9:54 PM */
  
  /*
   * 11/13/2004
   *
   * CTokenMaker.java - An object that can take a chunk of text and
   * return a linked list of tokens representing it in the C programming
   * language.
   * 
   * This library is distributed under a modified BSD license.  See the included
   * RSyntaxTextArea.License.txt file for details.
   */
  package com.fr.design.gui.syntax.ui.rsyntaxtextarea.modes;
  
  import java.io.*;
  import javax.swing.text.Segment;
  
  import com.fr.design.gui.syntax.ui.rsyntaxtextarea.*;
  
  
  /**
   * Scanner for the C programming language.
   *
   * This implementation was created using
   * <a href="http://www.jflex.de/">JFlex</a> 1.4.1; however, the generated file
   * was modified for performance.  Memory allocation needs to be almost
   * completely removed to be competitive with the handwritten lexers (subclasses
   * of <code>AbstractTokenMaker</code>, so this class has been modified so that
   * Strings are never allocated (via yytext()), and the scanner never has to
   * worry about refilling its buffer (needlessly copying chars around).
   * We can achieve this because RText always scans exactly 1 line of tokens at a
   * time, and hands the scanner this line as an array of characters (a Segment
   * really).  Since tokens contain pointers to char arrays instead of Strings
   * holding their contents, there is no need for allocating new memory for
   * Strings.<p>
   *
   * The actual algorithm generated for scanning has, of course, not been
   * modified.<p>
   *
   * If you wish to regenerate this file yourself, keep in mind the following:
   * <ul>
   *   <li>The generated <code>CTokenMaker.java</code> file will contain two
   *       definitions of both <code>zzRefill</code> and <code>yyreset</code>.
   *       You should hand-delete the second of each definition (the ones
   *       generated by the lexer), as these generated methods modify the input
   *       buffer, which we'll never have to do.</li>
   *   <li>You should also change the declaration/definition of zzBuffer to NOT
   *       be initialized.  This is a needless memory allocation for us since we
   *       will be pointing the array somewhere else anyway.</li>
   *   <li>You should NOT call <code>yylex()</code> on the generated scanner
   *       directly; rather, you should use <code>getTokenList</code> as you would
   *       with any other <code>TokenMaker</code> instance.</li>
   * </ul>
   *
   * @author Robert Futrell
   * @version 0.5
   *
   */
  
  public class CTokenMaker extends AbstractJFlexCTokenMaker {
  
    /** This character denotes the end of file */
    public static final int YYEOF = -1;
  
    /** lexical states */
    public static final int EOL_COMMENT = 2;
    public static final int YYINITIAL = 0;
    public static final int MLC = 1;
  
    /** 
     * Translates characters to character classes
     */
    private static final String ZZ_CMAP_PACKED = 
      "\11\0\1\50\1\43\1\0\1\50\1\56\22\0\1\50\1\36\1\44"+
      "\1\57\1\60\1\65\1\114\1\33\1\31\1\31\1\51\1\7\1\64"+
      "\1\37\1\54\1\32\1\47\1\77\1\76\1\41\4\5\2\3\1\70"+
      "\1\63\1\34\1\30\1\35\1\27\1\61\1\103\1\4\1\111\1\102"+
      "\1\6\1\55\2\1\1\105\2\1\1\53\1\106\1\107\4\1\1\110"+
      "\1\104\1\52\2\1\1\42\2\1\1\62\1\40\1\62\1\113\1\2"+
      "\1\0\1\24\1\46\1\21\1\10\1\11\1\12\1\25\1\66\1\13"+
      "\1\100\1\72\1\15\1\26\1\14\1\20\1\23\1\101\1\17\1\16"+
      "\1\67\1\22\1\45\1\71\1\73\1\75\1\74\1\112\1\115\1\112"+
      "\1\64\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 =
      "\3\0\1\1\2\2\1\3\1\4\16\2\2\4\1\5"+
      "\1\4\1\6\4\4\1\2\1\7\1\10\2\2\1\3"+
      "\1\11\1\4\2\1\4\2\2\4\2\12\1\13\5\12"+
      "\1\14\2\12\1\2\2\15\2\3\1\16\2\2\1\17"+
      "\21\2\1\17\50\2\1\0\1\20\1\21\2\22\1\23"+
      "\1\6\2\10\1\24\7\2\1\15\6\1\1\0\11\2"+
      "\2\0\1\25\6\0\5\2\1\3\1\0\1\3\1\15"+
      "\1\16\2\2\1\26\5\2\1\26\17\2\1\27\15\2"+
      "\1\26\1\2\1\26\45\2\1\6\1\30\1\6\3\22"+
      "\1\6\2\10\1\31\6\2\1\32\4\1\1\33\4\1"+
      "\6\0\10\2\10\0\5\2\1\16\1\0\27\2\1\27"+
      "\36\2\1\26\2\2\1\26\6\2\1\6\1\10\6\2"+
      "\2\32\7\1\4\0\1\33\4\0\10\2\2\0\1\34"+
      "\2\0\1\35\47\2\1\32\1\33\3\1\7\0\7\2"+
      "\4\0\12\2\2\1\1\33\3\0\4\2\2\0\1\33";
  
    private static int [] zzUnpackAction() {
      int [] result = new int[500];
      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;
    }
  
  
    /** 
     * Translates a state to a row index in the transition table
     */
    private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
  
    private static final String ZZ_ROWMAP_PACKED_0 =
      "\0\0\0\116\0\234\0\352\0\u0138\0\u0186\0\u01d4\0\u0222"+
      "\0\u0270\0\u02be\0\u030c\0\u035a\0\u03a8\0\u03f6\0\u0444\0\u0492"+
      "\0\u04e0\0\u052e\0\u057c\0\u05ca\0\u0618\0\u0666\0\u06b4\0\u0702"+
      "\0\u0750\0\u079e\0\u07ec\0\u083a\0\u0888\0\u0750\0\u08d6\0\352"+
      "\0\u0750\0\u0924\0\u0972\0\u09c0\0\u0a0e\0\u0a5c\0\u0aaa\0\u0750"+
      "\0\u0af8\0\u0750\0\u0b46\0\u0b94\0\u0be2\0\u0c30\0\u0c7e\0\u0ccc"+
      "\0\u0d1a\0\u0750\0\u0d68\0\u0db6\0\u0e04\0\u0e52\0\u0ea0\0\u0750"+
      "\0\u0eee\0\u0f3c\0\u0f8a\0\u0fd8\0\u1026\0\u1074\0\u10c2\0\u1110"+
      "\0\u115e\0\u11ac\0\u11fa\0\u1248\0\u1296\0\u12e4\0\u1332\0\u1380"+
      "\0\u13ce\0\u141c\0\u146a\0\u14b8\0\u1506\0\u1554\0\u15a2\0\u15f0"+
      "\0\u163e\0\u168c\0\u16da\0\u1728\0\u0138\0\u1776\0\u17c4\0\u1812"+
      "\0\u1860\0\u18ae\0\u18fc\0\u194a\0\u1998\0\u19e6\0\u1a34\0\u1a82"+
      "\0\u1ad0\0\u1b1e\0\u1b6c\0\u1bba\0\u1c08\0\u1c56\0\u1ca4\0\u1cf2"+
      "\0\u1d40\0\u1d8e\0\u1ddc\0\u1e2a\0\u1e78\0\u1ec6\0\u1f14\0\u1f62"+
      "\0\u1fb0\0\u1ffe\0\u204c\0\u209a\0\u20e8\0\u2136\0\u2184\0\u21d2"+
      "\0\u2220\0\u226e\0\u22bc\0\u230a\0\u2358\0\u23a6\0\u0750\0\u0750"+
      "\0\u23f4\0\u2442\0\u0750\0\u2490\0\u24de\0\u252c\0\u0750\0\u257a"+
      "\0\u25c8\0\u2616\0\u2664\0\u26b2\0\u2700\0\u274e\0\u279c\0\u27ea"+
      "\0\u2838\0\u2886\0\u28d4\0\u2922\0\u2970\0\u29be\0\u2a0c\0\u2a5a"+
      "\0\u2aa8\0\u2af6\0\u2b44\0\u2b92\0\u2be0\0\u2c2e\0\u2c7c\0\u2cca"+
      "\0\u2d18\0\u0750\0\u2d66\0\u2db4\0\u2e02\0\u2e50\0\u2e9e\0\u2eec"+
      "\0\u2f3a\0\u2f88\0\u2fd6\0\u3024\0\u3072\0\u30c0\0\u310e\0\u0fd8"+
      "\0\u315c\0\u0fd8\0\u31aa\0\u31f8\0\u3246\0\u3294\0\u32e2\0\u3330"+
      "\0\u337e\0\u33cc\0\u0138\0\u341a\0\u3468\0\u34b6\0\u3504\0\u3552"+
      "\0\u35a0\0\u35ee\0\u363c\0\u368a\0\u36d8\0\u3726\0\u3774\0\u37c2"+
      "\0\u3810\0\u385e\0\u0138\0\u38ac\0\u38fa\0\u3948\0\u3996\0\u39e4"+
      "\0\u3a32\0\u3a80\0\u3ace\0\u3b1c\0\u3b6a\0\u3bb8\0\u3c06\0\u3c54"+
      "\0\u3ca2\0\u3cf0\0\u3d3e\0\u3d8c\0\u3dda\0\u3e28\0\u3e76\0\u3ec4"+
      "\0\u3f12\0\u3f60\0\u3fae\0\u3ffc\0\u404a\0\u4098\0\u40e6\0\u4134"+
      "\0\u4182\0\u41d0\0\u421e\0\u426c\0\u42ba\0\u4308\0\u4356\0\u43a4"+
      "\0\u43f2\0\u4440\0\u448e\0\u44dc\0\u452a\0\u4578\0\u45c6\0\u4614"+
      "\0\u4662\0\u46b0\0\u46fe\0\u474c\0\u479a\0\u47e8\0\u4836\0\u4884"+
      "\0\u48d2\0\u0750\0\u4920\0\u496e\0\u49bc\0\u4a0a\0\u4a58\0\u4aa6"+
      "\0\u4af4\0\u0750\0\u4b42\0\u4b90\0\u4bde\0\u4c2c\0\u4c7a\0\u4cc8"+
      "\0\u4d16\0\u4d64\0\u4db2\0\u4e00\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38"+
      "\0\u4f86\0\u4fd4\0\u5022\0\u5070\0\u50be\0\u510c\0\u515a\0\u51a8"+
      "\0\u51f6\0\u5244\0\u5292\0\u52e0\0\u532e\0\u537c\0\u53ca\0\u5418"+
      "\0\u5466\0\u54b4\0\u5502\0\u5550\0\u559e\0\u55ec\0\u563a\0\u5688"+
      "\0\u56d6\0\u5724\0\u5772\0\u57c0\0\u580e\0\u585c\0\u58aa\0\u58f8"+
      "\0\u5946\0\u5994\0\u59e2\0\u5a30\0\u5a7e\0\u5acc\0\u5b1a\0\u5b68"+
      "\0\u5bb6\0\u5c04\0\u5c52\0\u5ca0\0\u5cee\0\u5d3c\0\u5d8a\0\u5dd8"+
      "\0\u5e26\0\u5e74\0\u5ec2\0\u5f10\0\u5f5e\0\u5fac\0\u5ffa\0\u6048"+
      "\0\u6096\0\u60e4\0\u6132\0\u6180\0\u61ce\0\u621c\0\u626a\0\u62b8"+
      "\0\u6306\0\u6354\0\u63a2\0\u63f0\0\u643e\0\u648c\0\u64da\0\u6528"+
      "\0\u6576\0\u65c4\0\u6612\0\u6660\0\u66ae\0\u66fc\0\u674a\0\u6798"+
      "\0\u67e6\0\u6834\0\u6882\0\u68d0\0\u691e\0\u696c\0\u69ba\0\u6a08"+
      "\0\u6a56\0\u6aa4\0\u6af2\0\u6b40\0\u6b8e\0\u6bdc\0\u6c2a\0\u6c78"+
      "\0\u6cc6\0\u6d14\0\u6d62\0\u6db0\0\u6dfe\0\u6e4c\0\u6e9a\0\u6ee8"+
      "\0\u6f36\0\u6f84\0\u6fd2\0\u7020\0\u706e\0\u70bc\0\u710a\0\u7158"+
      "\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de\0\u732c\0\u737a\0\u73c8"+
      "\0\u7416\0\u7464\0\u74b2\0\u7500\0\u754e\0\u759c\0\u75ea\0\u7638"+
      "\0\u7686\0\u76d4\0\u7722\0\u7770\0\u77be\0\u780c\0\u785a\0\u78a8"+
      "\0\u78f6\0\u7944\0\u7992\0\u3d3e\0\u79e0\0\u7a2e\0\u7a7c\0\u7aca"+
      "\0\u7b18\0\u7b66\0\u7bb4\0\u7c02\0\u7c50\0\u7c9e\0\u7cec\0\u7d3a"+
      "\0\u7d88\0\u7dd6\0\u7e24\0\u7e72\0\u7ec0\0\u7f0e\0\u7f5c\0\u7faa"+
      "\0\u7ff8\0\u8046\0\u8094\0\u80e2\0\u8130\0\u817e\0\u81cc\0\u821a"+
      "\0\u8268\0\u82b6\0\u8304\0\u8352\0\u83a0\0\u83ee\0\u0fd8\0\352"+
      "\0\u843c\0\u848a\0\u84d8\0\u8526\0\u8574\0\u85c2\0\u8610\0\u865e"+
      "\0\u86ac\0\u86fa\0\u8748\0\u8796\0\u87e4\0\u8832\0\u8880\0\u3246"+
      "\0\u88ce\0\u891c\0\u7770\0\u896a\0\u785a\0\u89b8\0\u8a06\0\u8a54"+
      "\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u8bda\0\u8c28\0\u8c76\0\u8cc4"+
      "\0\u8d12\0\u0750\0\u8d60\0\u8dae\0\u8dfc\0\u8e4a\0\u8e98\0\u8ee6"+
      "\0\u8f34\0\u8f82\0\u8fd0\0\u0138";
  
    private static int [] zzUnpackRowMap() {
      int [] result = new int[500];
      int offset = 0;
      offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
      return result;
    }
  
    private static int zzUnpackRowMap(String packed, int offset, int [] result) {
      int i = 0;  /* index in packed string  */
      int j = offset;  /* index in unpacked array */
      int l = packed.length();
  