Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.0 */
  package jason.mas2j.parser;

An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (without unicode processing).
  
  
  public class SimpleCharStream
 {
   public static final boolean staticFlag = false;
   int bufsize;
   int available;
   int tokenBegin;
   public int bufpos = -1;
   protected int bufline[];
   protected int bufcolumn[];
 
   protected int column = 0;
   protected int line = 1;
 
   protected boolean prevCharIsCR = false;
   protected boolean prevCharIsLF = false;
 
   protected java.io.Reader inputStream;
 
   protected char[] buffer;
   protected int maxNextCharInd = 0;
   protected int inBuf = 0;
   protected int tabSize = 8;
 
   protected void setTabSize(int i) {  = i; }
   protected int getTabSize(int i) { return ; }
 
 
   protected void ExpandBuff(boolean wrapAround)
   {
      char[] newbuffer = new char[ + 2048];
      int newbufline[] = new int[ + 2048];
      int newbufcolumn[] = new int[ + 2048];
 
      try
      {
         if (wrapAround)
         {
            System.arraycopy(newbuffer, 0,  - );
            System.arraycopy(, 0, newbuffer,
                                               - );
             = newbuffer;
 
            System.arraycopy(newbufline, 0,  - );
            System.arraycopy(, 0, newbufline - );
             = newbufline;
 
            System.arraycopy(newbufcolumn, 0,  - );
            System.arraycopy(, 0, newbufcolumn - );
             = newbufcolumn;
 
             = ( += ( - ));
         }
         else
         {
            System.arraycopy(newbuffer, 0,  - );
             = newbuffer;
 
            System.arraycopy(newbufline, 0,  - );
             = newbufline;
 
            System.arraycopy(newbufcolumn, 0,  - );
             = newbufcolumn;
 
             = ( -= );
         }
      }
      catch (Throwable t)
      {
         throw new Error(t.getMessage());
      }
 
 
       += 2048;
       = ;
       = 0;
   }
 
   protected void FillBuff() throws java.io.IOException
   {
      if ( == )
      {
         if ( == )
         {
            if ( > 2048)
            {
                =  = 0;
                = ;
            }
            else if ( < 0)
                =  = 0;
            else
              ExpandBuff(false);
        }
        else if ( > )
            = ;
        else if (( - ) < 2048)
           ExpandBuff(true);
        else
            = ;
     }
     int i;
     try {
        if ((i = .read(,
                                     - )) == -1)
        {
           .close();
           throw new java.io.IOException();
        }
        else
            += i;
        return;
     }
     catch(java.io.IOException e) {
        --;
        backup(0);
        if ( == -1)
            = ;
        throw e;
     }
  }
  public char BeginToken() throws java.io.IOException
  {
      = -1;
     char c = readChar();
      = ;
     return c;
  }
  protected void UpdateLineColumn(char c)
  {
     ++;
     if ()
     {
         = false;
         += ( = 1);
     }
     else if ()
     {
         = false;
        if (c == '\n')
        {
            = true;
        }
        else
            += ( = 1);
     }
     switch (c)
     {
        case '\r' :
            = true;
           break;
        case '\n' :
            = true;
           break;
        case '\t' :
           --;
            += ( - ( % ));
           break;
        default :
           break;
     }
     [] = ;
     [] = ;
  }
  public char readChar() throws java.io.IOException
  {
     if ( > 0)
     {
        --;
        if (++ == )
            = 0;
        return [];
     }
     if (++ >= )
        FillBuff();
     char c = [];
     UpdateLineColumn(c);
     return (c);
  }

  

Deprecated:
See also:
getEndColumn()
  public int getColumn() {
     return [];
  }

  

Deprecated:
See also:
getEndLine()
  public int getLine() {
     return [];
  }
  public int getEndColumn() {
     return [];
  }
  public int getEndLine() {
     return [];
  }
  public int getBeginColumn() {
     return [];
  }
  public int getBeginLine() {
     return [];
  }
  public void backup(int amount) {
     += amount;
    if (( -= amount) < 0)
        += ;
  }
  public SimpleCharStream(java.io.Reader dstreamint startline,
  int startcolumnint buffersize)
  {
     = dstream;
     = startline;
     = startcolumn - 1;
     =  = buffersize;
     = new char[buffersize];
     = new int[buffersize];
     = new int[buffersize];
  }
  public SimpleCharStream(java.io.Reader dstreamint startline,
                          int startcolumn)
  {
     this(dstreamstartlinestartcolumn, 4096);
  }
  public SimpleCharStream(java.io.Reader dstream)
  {
     this(dstream, 1, 1, 4096);
  }
  public void ReInit(java.io.Reader dstreamint startline,
  int startcolumnint buffersize)
  {
     = dstream;
     = startline;
     = startcolumn - 1;
    if ( == null || buffersize != .)
    {
       =  = buffersize;
       = new char[buffersize];
       = new int[buffersize];
       = new int[buffersize];
    }
     =  = false;
     =  =  = 0;
     = -1;
  }
  public void ReInit(java.io.Reader dstreamint startline,
                     int startcolumn)
  {
     ReInit(dstreamstartlinestartcolumn, 4096);
  }
  public void ReInit(java.io.Reader dstream)
  {
     ReInit(dstream, 1, 1, 4096);
  }
  public SimpleCharStream(java.io.InputStream dstreamString encodingint startline,
  int startcolumnint buffersizethrows java.io.UnsupportedEncodingException
  {
     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstreamencoding), startlinestartcolumnbuffersize);
  }
  public SimpleCharStream(java.io.InputStream dstreamint startline,
  int startcolumnint buffersize)
  {
     this(new java.io.InputStreamReader(dstream), startlinestartcolumnbuffersize);
  }
  public SimpleCharStream(java.io.InputStream dstreamString encodingint startline,
                          int startcolumnthrows java.io.UnsupportedEncodingException
  {
     this(dstreamencodingstartlinestartcolumn, 4096);
  }
  public SimpleCharStream(java.io.InputStream dstreamint startline,
                          int startcolumn)
  {
     this(dstreamstartlinestartcolumn, 4096);
  }
  {
     this(dstreamencoding, 1, 1, 4096);
  }
  public SimpleCharStream(java.io.InputStream dstream)
  {
     this(dstream, 1, 1, 4096);
  }
  public void ReInit(java.io.InputStream dstreamString encodingint startline,
                          int startcolumnint buffersizethrows java.io.UnsupportedEncodingException
  {
     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstreamencoding), startlinestartcolumnbuffersize);
  }
  public void ReInit(java.io.InputStream dstreamint startline,
                          int startcolumnint buffersize)
  {
     ReInit(new java.io.InputStreamReader(dstream), startlinestartcolumnbuffersize);
  }
  public void ReInit(java.io.InputStream dstreamString encodingthrows java.io.UnsupportedEncodingException
  {
     ReInit(dstreamencoding, 1, 1, 4096);
  }
  public void ReInit(java.io.InputStream dstream)
  {
     ReInit(dstream, 1, 1, 4096);
  }
  public void ReInit(java.io.InputStream dstreamString encodingint startline,
                     int startcolumnthrows java.io.UnsupportedEncodingException
  {
     ReInit(dstreamencodingstartlinestartcolumn, 4096);
  }
  public void ReInit(java.io.InputStream dstreamint startline,
                     int startcolumn)
  {
     ReInit(dstreamstartlinestartcolumn, 4096);
  }
  public String GetImage()
  {
     if ( >= )
        return new String( -  + 1);
     else
        return new String( - ) +
                              new String(, 0,  + 1);
  }
  public char[] GetSuffix(int len)
  {
     char[] ret = new char[len];
     if (( + 1) >= len)
        System.arraycopy( - len + 1, ret, 0, len);
     else
     {
        System.arraycopy( - (len -  - 1), ret, 0,
                                                          len -  - 1);
        System.arraycopy(, 0, retlen -  - 1,  + 1);
     }
     return ret;
  }
  public void Done()
  {
      = null;
      = null;
      = null;
  }

  
Method to adjust line and column numbers for the start of a token.
  public void adjustBeginLineColumn(int newLineint newCol)
  {
     int start = ;
     int len;
     if ( >= )
     {
        len =  -  +  + 1;
     }
     else
     {
        len =  -  +  + 1 + ;
     }
     int i = 0, j = 0, k = 0;
     int nextColDiff = 0, columnDiff = 0;
     while (i < len &&
            [j = start % ] == [k = ++start % ])
     {
        [j] = newLine;
        nextColDiff = columnDiff + [k] - [j];
        [j] = newCol + columnDiff;
        columnDiff = nextColDiff;
        i++;
     } 
     if (i < len)
     {
        [j] = newLine++;
        [j] = newCol + columnDiff;
        while (i++ < len)
        {
           if ([j = start % ] != [++start % ])
              [j] = newLine++;
           else
              [j] = newLine;
        }
     }
      = [j];
      = [j];
  }
New to GrepCode? Check out our FAQ X