Exemplo n.º 1
0
        public override bool IncrementToken()
        {
            if (!input.IncrementToken())
            {
                return(false);
            }

            if (stemmer.Stem(termAtt.TermBuffer(), 0, termAtt.TermLength()))
            {
                termAtt.SetTermBuffer(stemmer.GetResultBuffer(), 0, stemmer.GetResultLength());
            }
            return(true);
        }
Exemplo n.º 2
0
 public override Token Next(Token result)
 {
     result = input.Next(result);
     if (result != null)
     {
         if (stemmer.Stem(result.TermBuffer(), 0, result.termLength))
         {
             result.SetTermBuffer(stemmer.GetResultBuffer(), 0, stemmer.GetResultLength());
         }
         return(result);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 3
0
        public override Token Next(/* in */ Token reusableToken)
        {
            System.Diagnostics.Debug.Assert(reusableToken != null);
            Token nextToken = input.Next(reusableToken);

            if (nextToken == null)
            {
                return(null);
            }

            if (stemmer.Stem(nextToken.TermBuffer(), 0, nextToken.TermLength()))
            {
                nextToken.SetTermBuffer(stemmer.GetResultBuffer(), 0, stemmer.GetResultLength());
            }

            return(nextToken);
        }
Exemplo n.º 4
0
        /// <summary>Returns the next input Token, after being stemmed </summary>
        public override Token Next()
        {
            Token token = input.Next();

            if (token == null)
            {
                return(null);
            }
            else
            {
                System.String s = stemmer.Stem(token.termText);
                if ((System.Object)s != (System.Object)token.termText)
                {
                    // Yes, I mean object reference comparison here
                    token.termText = s;
                }
                return(token);
            }
        }
Exemplo n.º 5
0
        public static void Main(System.String[] args)
        {
            var s = new PorterStemmer();

            for (int i = 0; i < args.Length; i++)
            {
                try
                {
                    System.IO.Stream in_Renamed = new System.IO.FileStream(args[i], System.IO.FileMode.Open, System.IO.FileAccess.Read);
                    var buffer = new byte[1024];

                    int bufferLen = in_Renamed.Read(buffer, 0, buffer.Length);
                    int offset = 0;
                    s.Reset();

                    while (true)
                    {
                        int ch;
                        if (offset < bufferLen)
                            ch = buffer[offset++];
                        else
                        {
                            bufferLen = in_Renamed.Read(buffer, 0, buffer.Length);
                            offset = 0;
                            if (bufferLen < 0)
                                ch = - 1;
                            else
                                ch = buffer[offset++];
                        }

                        if (Char.IsLetter((char) ch))
                        {
                            s.Add(Char.ToLower((char) ch));
                        }
                        else
                        {
                            s.Stem();
                            Console.Out.Write(s.ToString());
                            s.Reset();
                            if (ch < 0)
                                break;
                            else
                            {
                                System.Console.Out.Write((char) ch);
                            }
                        }
                    }

                    in_Renamed.Close();
                }
                catch (System.IO.IOException)
                {
                    Console.Out.WriteLine("error reading " + args[i]);
                }
            }
        }
Exemplo n.º 6
0
        public static void  Main(System.String[] args)
        {
            PorterStemmer s = new PorterStemmer();

            for (int i = 0; i < args.Length; i++)
            {
                try
                {
                    System.IO.BinaryReader in_Renamed = new System.IO.BinaryReader(System.IO.File.Open(args[i], System.IO.FileMode.Open, System.IO.FileAccess.Read));
                    byte[] buffer = new byte[1024];
                    int    bufferLen, offset, ch;

                    bufferLen = in_Renamed.Read(buffer, 0, buffer.Length);
                    offset    = 0;
                    s.Reset();

                    while (true)
                    {
                        if (offset < bufferLen)
                        {
                            ch = buffer[offset++];
                        }
                        else
                        {
                            bufferLen = in_Renamed.Read(buffer, 0, buffer.Length);
                            offset    = 0;
                            if (bufferLen <= 0)
                            {
                                ch = -1;
                            }
                            else
                            {
                                ch = buffer[offset++];
                            }
                        }

                        if (System.Char.IsLetter((char)ch))
                        {
                            s.Add(System.Char.ToLower((char)ch));
                        }
                        else
                        {
                            s.Stem();
                            System.Console.Out.Write(s.ToString());
                            s.Reset();
                            if (ch < 0)
                            {
                                break;
                            }
                            else
                            {
                                System.Console.Out.Write((char)ch);
                            }
                        }
                    }

                    in_Renamed.Close();
                }
                catch (System.IO.IOException)
                {
                    System.Console.Out.WriteLine("error reading " + args[i]);
                }
            }
        }