Class SnowballProgram
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  
    Inheritance
    
    SnowballProgram
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
   
  
  
  Assembly: Lucene.Net.Analysis.Common.dll
  Syntax
  
    public abstract class SnowballProgram
   
  Constructors
  
  SnowballProgram()
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected SnowballProgram()
   
  Fields
  m_bra
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
  Field Value
  
  m_current
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected char[] m_current
   
  Field Value
  
  m_cursor
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
  Field Value
  
  m_ket
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
  Field Value
  
  m_limit
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
  Field Value
  
  m_limit_backward
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected int m_limit_backward
   
  Field Value
  
  Properties
  
  Current
  
  
  Declaration
  
    public virtual string Current { get; }
   
  Property Value
  
  
  CurrentBuffer
  Get the current buffer containing the stem.
NOTE: this may be a reference to a different character array than the
one originally provided with setCurrent, in the exceptional case that 
stemming produced a longer intermediate or result string.
It is necessary to use 
CurrentBufferLength to determine
the valid length of the returned buffer. For example, many words are
stemmed simply by subtracting from the length to remove suffixes.
 
  
  Declaration
  
    public virtual char[] CurrentBuffer { get; }
   
  Property Value
  
  See Also
  
  
  CurrentBufferLength
  
  
  Declaration
  
    public virtual int CurrentBufferLength { get; }
   
  Property Value
  
  Methods
  
  AssignTo(StringBuilder)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual StringBuilder AssignTo(StringBuilder s)
   
  Parameters
  
  Returns
  
  
  CopyFrom(SnowballProgram)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual void CopyFrom(SnowballProgram other)
   
  Parameters
  
  
  Eq_S(int, string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool Eq_S(int s_size, string s)
   
  Parameters
  
  Returns
  
  
  Eq_S_B(int, string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool Eq_S_B(int s_size, string s)
   
  Parameters
  
  Returns
  
  
  Eq_V(string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool Eq_V(string s)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | string | 
        s | 
         | 
      
    
  
  Returns
  
  
  Eq_V_B(string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool Eq_V_B(string s)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | string | 
        s | 
         | 
      
    
  
  Returns
  
  
  FindAmong(Among[], int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual int FindAmong(Among[] v, int v_size)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Among[] | 
        v | 
         | 
      
      
        | int | 
        v_size | 
         | 
      
    
  
  Returns
  
  
  FindAmongB(Among[], int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual int FindAmongB(Among[] v, int v_size)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Among[] | 
        v | 
         | 
      
      
        | int | 
        v_size | 
         | 
      
    
  
  Returns
  
  
  InGrouping(char[], int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool InGrouping(char[] s, int min, int max)
   
  Parameters
  
  Returns
  
  
  InGroupingB(char[], int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool InGroupingB(char[] s, int min, int max)
   
  Parameters
  
  Returns
  
  
  InRange(int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool InRange(int min, int max)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | int | 
        min | 
         | 
      
      
        | int | 
        max | 
         | 
      
    
  
  Returns
  
  
  InRangeB(int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool InRangeB(int min, int max)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | int | 
        min | 
         | 
      
      
        | int | 
        max | 
         | 
      
    
  
  Returns
  
  
  Insert(int, int, string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual void Insert(int c_bra, int c_ket, string s)
   
  Parameters
  
  
  OutGrouping(char[], int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool OutGrouping(char[] s, int min, int max)
   
  Parameters
  
  Returns
  
  
  OutGroupingB(char[], int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool OutGroupingB(char[] s, int min, int max)
   
  Parameters
  
  Returns
  
  
  OutRange(int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool OutRange(int min, int max)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | int | 
        min | 
         | 
      
      
        | int | 
        max | 
         | 
      
    
  
  Returns
  
  
  OutRangeB(int, int)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual bool OutRangeB(int min, int max)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | int | 
        min | 
         | 
      
      
        | int | 
        max | 
         | 
      
    
  
  Returns
  
  
  ReplaceS(int, int, string)
  to replace chars between c_bra and c_ket in current by the
chars in s.
 
  
  Declaration
  
    protected virtual int ReplaceS(int c_bra, int c_ket, string s)
   
  Parameters
  
  Returns
  
  
  SetCurrent(char[], int)
  
  
  Declaration
  
    public virtual void SetCurrent(char[] text, int length)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | char[] | 
        text | 
        character array containing input 
 | 
      
      
        | int | 
        length | 
        valid length of text. 
 | 
      
    
  
  
  SetCurrent(string)
  
  
  Declaration
  
    public virtual void SetCurrent(string value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | string | 
        value | 
         | 
      
    
  
  
  SliceCheck()
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual void SliceCheck()
   
  
  SliceDel()
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual void SliceDel()
   
  
  SliceFrom(string)
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    protected virtual void SliceFrom(string s)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | string | 
        s | 
         | 
      
    
  
  
  SliceTo(StringBuilder)
  
  
  Declaration
  
    protected virtual StringBuilder SliceTo(StringBuilder s)
   
  Parameters
  
  Returns
  
  
  Stem()
  This is the rev 502 of the Snowball SVN trunk,
but modified:
made abstract and introduced abstract method stem to avoid expensive reflection in filter class.
refactored StringBuffers to StringBuilder
uses char[] as buffer instead of StringBuffer/StringBuilder
eq_s,eq_s_b,insert,replace_s take CharSequence like eq_v and eq_v_b
reflection calls (Lovins, etc) use EMPTY_ARGS/EMPTY_PARAMS
 
  
  Declaration
  
    public abstract bool Stem()
   
  Returns