コード例 #1
0
ファイル: C_desc.cpp プロジェクト: dkrotx/gogo_lemmatizer
bool CanBeFileName(const CGraphmatFile& F, size_t LB)  
{
 return (   F.HasDescr (LB, OLLE) 
	     || F.HasDescr (LB, ORLE)
	     || F.HasDescr (LB, ODgCh)
	     || F.HasDescr (LB, ODg)
		 || (     ((F.GetUnits()[LB].GetTokenLength()) ==  1)
	          &&  (((unsigned char)F.GetUnits()[LB].GetToken()[0]) == '*')
			)
		 || (     (F.GetUnits()[LB].GetTokenLength() ==  2)
	          &&  ((unsigned char)F.GetUnits()[LB].GetToken()[0] == '.')
			  &&  ((unsigned char)F.GetUnits()[LB].GetToken()[1] == '.')
			)
	 
	    );
};
コード例 #2
0
ファイル: C_desc.cpp プロジェクト: dkrotx/gogo_lemmatizer
static void InitEnglishNameSlot (CGraphmatFile& C)
{
	for (size_t i=1; i< C.GetUnits().size(); i++)  
	   if (   !C.GetUnits()[i].IsSoft() 
		   && !C.HasDescr(i,OPun)
		   )
	   {
			if (C.HasDescr(i, OLw)) continue;

			const char* UpperUnit = C.GetUppercaseToken(i);

			vector<CEnglishName>::const_iterator It = lower_bound (C.m_pDicts->m_EnglishNames.begin(), C.m_pDicts->m_EnglishNames.end(), UpperUnit, EnglishNameLess);

			if	(		 (It != C.m_pDicts->m_EnglishNames.end())
					&&	!strcmp(It->name, UpperUnit)
				)
			C.GetUnit(i).SetEnglishName();
	
	   };
};
コード例 #3
0
ファイル: C_desc.cpp プロジェクト: dkrotx/gogo_lemmatizer
/*
	Building units like  "Bill Bush"
*/
static bool DealSimpleEnglishNames (CGraphmatFile& C, size_t StartPos, size_t EndPos)
{
	size_t  i = StartPos;
	if (!(C.GetUnits()[i].IsEnglishName())) return false;

	for (i++;(i<EndPos) && C.GetUnits()[i].IsSoft(); i++)
		if (		C.GetUnits()[i].IsParagraphTag()
				||	C.HasDescr(i, OPar)
			)
		return false;

	if (	(i == EndPos) 
		|| !C.HasDescr(i, OLLE) 
		|| !C.HasDescr(i, OUpLw)
		) return  false;
	if (C.HasGrouped(StartPos,i+1)) return false;

	C.SetDes (StartPos, OFAM1);
	C.SetDes (i, OFAM2);
	C.SetState(StartPos,i+1,stGrouped);
	return true;
};
コード例 #4
0
ファイル: C_desc.cpp プロジェクト: dkrotx/gogo_lemmatizer
bool  CanBeRussianInitial(const CGraphmatFile&C, size_t LineNo) 
{
	return  C.HasDescr(LineNo,OUp) && C.GetUnits()[LineNo].GetTokenLength()==1 && C.HasDescr(LineNo,ORLE) ;
};