コード例 #1
0
void make_silence_mora( MORPH *morph )
{
	MORA *mora;

	/* 、の後の 「 や 、の前の 」 では、ポーズを作らない。*/
	if( morph->hinshiID == H_SONOTA_KAKKO_HIRAKU &&   /* 「 など */
		morph->prev && morph->prev->silence != NON )  return;
	if( morph->hinshiID == H_SONOTA_KAKKO_TOJIRU &&	/* 」など */
		morph->next && morph->next->silence != NON )  return;

	mora = new_mora();

	if( morph->silence == PAU )  {
		mora->yomi = malloc_char( "pau", "mora.yomi of SILENCE" );
	} else if( morph->silence == SILB )  {
		mora->yomi = malloc_char( "silB", "mora.yomi of SILENCE" );
	} else if( morph->silence == SILE )  {
		mora->yomi = malloc_char( "silE", "mora.yomi of SILENCE" );
	} else {
		ErrMsg( "* Unknown silence in make_silence_mora\n" );
		mora->yomi = malloc_char( "pau", "mora.yomi of SILENCE" );
/*		restart(1);	*/
	}
	mora->parent = morph;
	morph->mrhead = morph->mrtail = mora;
	mora->silence = morph->silence;

	  	/* ++(morph->parent->nmora); サイレンスはモーラ数をカウントしない */
}
コード例 #2
0
void testcases()
{
	int i,check;
	char *a,*op;

	for(i=0;i<11;i++)
	{
		struct sll *ihead,*ohead,*j;

		a=malloc_char(testDB[i].input);

		op=malloc_char(testDB[i].output);

		ihead=convert_to_list(a);

		ohead=convert_to_list(op);

		for(j=ihead;j!=NULL;j=j->ptr)
			printf("%d ",j->data);

		//for(j=ohead;j!=NULL;j=j->ptr)
			//printf("%d ",j->data); 

		check=ll_cmp(ihead,ohead);

		if(check==0)
			printf("passed\n");
		else 
			printf("failed\n");
	}
} 
コード例 #3
0
void testcases()
{
	int i,check,op,b;
	char *a;

	for(i=0;i<11;i++)
	{
		struct sll *ihead,*ohead,*j;

		a=malloc_char(testDB[i].input);

		op=testDB[i].even_odd;

		b=even_odd_check(convert_to_list(a));

		check=a_cmp(b,op);

		if(check==0)
			printf("passed\n");
		else 
			printf("failed\n");
	}
}