亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? snowballwrapper.cpp

?? firtext搜索引擎源碼
?? CPP
字號(hào):
//
// Copyright(C) 2005--2006 Institute of Computing Tech, Chinese Academy of Sciences. 
// All rights reserved.
// This file is part of FirteX (www.firtex.org)
//
// Use of the FirteX is subject to the terms of the software license set forth in 
// the LICENSE file included with this software, and also available at
// http://www.firtex.org/license.html
//
// Author	: 郭瑞杰(GuoRuijie),曹冬林
// Email	: ruijieguo@software.ict.ac.cn,ruijieguo@gmail.com
// Created	: 2007/3/6
//


#include <string.h>
#include <stdlib.h>
#include <string>
#include <map>
#include "include/SnowballWrapper.h"
#include "include/libstemmer.h"
#include "utility/Exception.h"


using namespace std;
//struct sb_stemmer * stemmer;
//map<string ,string> SpeWordList;
//static char * StemmedBuf=NULL;


namespace firtex
{
	namespace analyzer
	{
		CSnowballWrapper::CSnowballWrapper()
			:m_pStemmerBuffer(NULL)
			,m_nBufferSize(0)
			,m_pIrregularWords(NULL)
		{			
			m_pStemmer = sb_stemmer_new("english", NULL);///using utf-8 
		}
		CSnowballWrapper::CSnowballWrapper(const tchar* szLanguage)
			:m_pStemmerBuffer(NULL)
			,m_nBufferSize(0)
			,m_pIrregularWords(NULL)
		{			
			if(szLanguage)
				m_pStemmer = sb_stemmer_new(szLanguage, NULL);///using utf-8 
			else 
				m_pStemmer = sb_stemmer_new("english", NULL);///using utf-8 
		}		
		CSnowballWrapper::CSnowballWrapper(const tchar* szLanguage,const tchar* szEnc)
			:m_pStemmerBuffer(NULL)
			,m_nBufferSize(0)
			,m_pIrregularWords(NULL)
		{			
			if(szLanguage)
				m_pStemmer = sb_stemmer_new(szLanguage, szEnc);
			else 
				m_pStemmer = sb_stemmer_new("english", szEnc);
		}
		CSnowballWrapper::CSnowballWrapper(const tchar* szLanguage,const tchar* szIrregularWords,const tchar* szEnc)
			:m_pStemmerBuffer(NULL)
			,m_nBufferSize(0)
			,m_pIrregularWords(NULL)
		{			
			if(szIrregularWords)
			{
				m_pIrregularWords = new map<string,string>();
				m_sIrregularWords = szIrregularWords;
			}
			if(szLanguage)
				m_pStemmer = sb_stemmer_new(szLanguage, szEnc);
			else 
				m_pStemmer = sb_stemmer_new("english", szEnc);
		}
		CSnowballWrapper::~CSnowballWrapper()
		{
			if(m_pStemmer)
				sb_stemmer_delete(m_pStemmer);
			if(m_pStemmerBuffer)
			{
				delete[] m_pStemmerBuffer;
				m_pStemmerBuffer = NULL;
				m_nBufferSize = 0;
			}
			if(m_pIrregularWords)
			{
				m_pIrregularWords->clear();
				delete m_pIrregularWords;
				m_pIrregularWords = NULL;
			}
		}

		char* CSnowballWrapper::stemmer(char* szTextBuf,size_t& nTextLen)
		{			
			if(nTextLen <= 0)
				return NULL;
			if(m_pStemmerBuffer == NULL)
			{
				m_nBufferSize = nTextLen<<1;
				m_pStemmerBuffer = new char[m_nBufferSize];
				if(m_pStemmerBuffer == NULL)
				{
					m_nBufferSize = 0;
					return NULL;
				}
			}
			else
			{
				if(m_nBufferSize < (nTextLen<<1) )
				{
					delete[] m_pStemmerBuffer;
					m_nBufferSize = nTextLen<<1;
					m_pStemmerBuffer = new char[m_nBufferSize];
					if(m_pStemmerBuffer == NULL)
					{
						m_nBufferSize = 0;
						return NULL;
					}
				}
			}

			bool bFlagEnglish = true;
			int i;
			register char*	pWord;
			int  nWordLen;
			register char* pStemmedBufStart = m_pStemmerBuffer;
			register char *pStemmedBufEnd;
			register char *pWordStart,*pWordEnd;
			pWordStart = szTextBuf;
			char* pTextEnd = szTextBuf + nTextLen;
			while(pWordStart < pTextEnd)
			{
				
				while(pWordStart < pTextEnd && !((*pWordStart >= 'a' && *pWordStart <= 'z') || (*pWordStart >= 'A' && *pWordStart <= 'Z')))//(*pWordStart==' ' || *pWordStart=='\xd' || *pWordStart=='\xa'))
				{
					*pStemmedBufStart = *pWordStart;
					pWordStart++;
					pStemmedBufStart++;
				}
				if(pWordStart >= pTextEnd)
					break;

				pWordEnd = pWordStart + 1;
				while((pWordEnd < (pTextEnd)) && ((*pWordEnd >= 'a' && *pWordEnd <= 'z') || (*pWordEnd >= 'A' && *pWordEnd <= 'Z')))//*pWordEnd!=' ' && *pWordEnd!='\xd' && *pWordEnd!='\xa' && *pWordEnd!='.' && *pWordEnd!='?' && *pWordEnd!=',')
					pWordEnd++;

				pStemmedBufEnd = pStemmedBufStart;
				for(i=0;i < pWordEnd - pWordStart;i++)
				{
					if(pWordStart[i] >= 'A' && pWordStart[i] <= 'Z')
						*pStemmedBufEnd = 'a'-'A' + pWordStart[i];
					else
					{
						if(!(pWordStart[i] >= 'a' && pWordStart[i] <= 'z'))
							bFlagEnglish = false;
						*pStemmedBufEnd = pWordStart[i];
					}
					pStemmedBufEnd++;
				}
				if(bFlagEnglish)
				{					
					if(pWordEnd != pWordStart)
					{							
						if(*(pWordEnd-1) != 'y')
						{
							
							pWord = (char*)sb_stemmer_stem(m_pStemmer, (const sb_symbol*)pStemmedBufStart,(int)(pStemmedBufEnd - pStemmedBufStart) );
							nWordLen = sb_stemmer_length(m_pStemmer);								
							for(i=0;i < nWordLen;i++)
							{
								*pStemmedBufStart = pWord[i];
								pStemmedBufStart++;
							}							
						}
						else
						{
							pStemmedBufStart = pStemmedBufEnd;
						}
					}			
				}
				else
				{
					pStemmedBufStart = pStemmedBufEnd;
				}
				pWordStart = pWordEnd;
			}
			*pStemmedBufStart = 0;
			nTextLen = pStemmedBufStart - m_pStemmerBuffer;
			return m_pStemmerBuffer;
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产高清一区二区三区蜜臀| 色婷婷国产精品综合在线观看| 亚洲黄色片在线观看| 欧美精品一区二区蜜臀亚洲| 色噜噜久久综合| 99久久精品国产毛片| 国内精品伊人久久久久av一坑| 亚洲自拍都市欧美小说| 国产精品天天摸av网| 日韩一级大片在线| 欧美一三区三区四区免费在线看| 色老汉一区二区三区| 不卡的电影网站| 国产盗摄一区二区三区| 九九**精品视频免费播放| 日韩精品欧美精品| 日韩国产欧美一区二区三区| 天天亚洲美女在线视频| 午夜精品成人在线视频| 三级成人在线视频| 免费在线观看精品| 国产精品99久久久| 99精品欧美一区| 欧美最猛黑人xxxxx猛交| 欧美日韩成人综合天天影院| 欧美日韩国产综合一区二区三区| 欧美伊人久久久久久久久影院| 欧美性xxxxx极品少妇| 欧美人与性动xxxx| xvideos.蜜桃一区二区| 中文字幕一区二区三中文字幕| 亚洲免费观看高清完整版在线观看熊| 亚洲欧美视频在线观看| 日韩精品1区2区3区| 国产福利91精品一区| 欧美美女一区二区三区| 久久只精品国产| 亚洲国产乱码最新视频 | 午夜欧美大尺度福利影院在线看| 亚洲一区二区三区国产| 日韩精品亚洲一区| 国产精品资源在线看| 激情小说欧美图片| 91蝌蚪porny| 91女厕偷拍女厕偷拍高清| 欧美在线观看视频一区二区三区| 日韩一区二区三区免费看| 日韩欧美一卡二卡| 国产欧美日韩精品一区| 亚洲午夜久久久久| 国内精品久久久久影院色 | 97久久精品人人爽人人爽蜜臀 | 欧美日本在线视频| 久久综合狠狠综合久久激情 | av一二三不卡影片| 欧美一区二区网站| 国产精品成人免费精品自在线观看| 亚洲va欧美va人人爽| 成人黄色一级视频| 日韩欧美一区电影| 午夜精品久久久久久不卡8050| 不卡的av网站| 中文字幕国产一区| 国产综合久久久久久鬼色| 9191成人精品久久| 一区二区三区美女视频| 成人综合激情网| 久久精品欧美一区二区三区麻豆| 免费人成在线不卡| 91精品免费在线| 亚洲bt欧美bt精品| 欧美亚州韩日在线看免费版国语版| 国产精品女人毛片| 成人亚洲一区二区一| 欧美v日韩v国产v| 国产精品一区二区男女羞羞无遮挡| 欧美精品一区二区高清在线观看| 首页国产欧美日韩丝袜| 欧美一区二区高清| 激情久久久久久久久久久久久久久久| 欧美一区二区三区日韩视频| 男人的天堂亚洲一区| 久久女同精品一区二区| 成人免费毛片嘿嘿连载视频| 国产精品乱码妇女bbbb| 欧美午夜精品电影| 免费观看久久久4p| 欧美不卡激情三级在线观看| 国产一区欧美一区| 国产欧美精品一区二区色综合| 豆国产96在线|亚洲| 亚洲品质自拍视频网站| 欧美一级在线视频| 国产成a人亚洲精| 亚洲精品国产无套在线观| 欧美一区二区三区日韩视频| 日本免费新一区视频| 国产精品人成在线观看免费| 色一情一乱一乱一91av| 青草国产精品久久久久久| 国产精品无码永久免费888| 91蝌蚪porny| 韩国v欧美v亚洲v日本v| 亚洲欧美日韩一区| 2019国产精品| 色吊一区二区三区| 国产成人精品一区二| 水蜜桃久久夜色精品一区的特点 | 天天综合网 天天综合色| 久久久亚洲高清| 欧美日韩一区中文字幕| 免费不卡在线观看| 亚洲视频1区2区| 国产精品美日韩| 日韩一区二区三区视频在线| 欧美午夜电影网| 91美女在线看| 黄色资源网久久资源365| 天天综合日日夜夜精品| 亚洲综合激情网| 亚洲女人的天堂| 国产精品初高中害羞小美女文| 久久亚洲捆绑美女| 欧美成人乱码一区二区三区| 欧美日韩一区二区欧美激情| 欧美中文字幕一区二区三区亚洲| 国产成人免费视频精品含羞草妖精| 亚洲成人动漫在线免费观看| 一区二区激情视频| 一区二区在线电影| 亚洲尤物在线视频观看| 亚洲国产综合色| 五月婷婷综合网| 男女激情视频一区| 亚洲成人av免费| 激情文学综合插| 国产成人亚洲综合a∨婷婷| 国产精品一二三| 波多野结衣中文字幕一区二区三区 | 国产精品久久久久一区| 亚洲人成网站在线| 免费观看日韩av| 99久久国产综合精品色伊| 成人亚洲一区二区一| 欧美性受xxxx黑人xyx| 欧美精品vⅰdeose4hd| 精品处破学生在线二十三| 中文字幕免费不卡| 亚洲精品v日韩精品| 日韩精品免费视频人成| 日韩成人精品视频| 成人国产精品免费观看视频| 91福利在线导航| www国产精品av| 亚洲精选视频免费看| 日韩av不卡一区二区| 91免费在线播放| 精品国产欧美一区二区| 国产精品丝袜黑色高跟| 午夜伦理一区二区| 国产91色综合久久免费分享| 91精品国产综合久久久久| 亚洲欧美偷拍卡通变态| 国产激情一区二区三区| 亚洲精品一区二区三区99| 男女男精品视频| 日韩天堂在线观看| 久久国产精品区| 久久久亚洲国产美女国产盗摄 | 91精品国产综合久久婷婷香蕉 | 在线观看视频一区二区| 一区二区高清免费观看影视大全| 成人性生交大片免费看中文 | 一区二区三区资源| 日本电影欧美片| 亚洲综合免费观看高清在线观看| 欧美做爰猛烈大尺度电影无法无天| 亚洲午夜视频在线观看| 91精品国产综合久久久久久 | 日韩制服丝袜av| 久久综合狠狠综合| 日本精品一级二级| 免费高清在线一区| 国产精品进线69影院| 欧美影院一区二区| 美国欧美日韩国产在线播放| 国产偷国产偷精品高清尤物| 色婷婷国产精品久久包臀| 午夜欧美大尺度福利影院在线看| 精品久久久久久亚洲综合网| 不卡的av在线| 精品在线免费视频| 亚洲一区二区三区在线| 日韩一二三区视频| 99精品桃花视频在线观看| 天天射综合影视| 亚洲综合小说图片| 久久久国产精品麻豆| 欧美人伦禁忌dvd放荡欲情| 国产91富婆露脸刺激对白|