---
name: "js_kanren"
section: "3"
platform: "linux"
package: "freewnn-jserver-dev"
version: "1.1.0+1.1.1-a016-1.potato.3"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/js_kanren"
---

# js\_kanren(3)

## Ì¾¾Î

```
js_kanren()	Ï¢Ê¸ÀáÊÑ´¹¤ò¹Ô¤¦¡£
```

## ·Á¼°

```
#include "jslib.h"
int
js_kanren(env,yomi,hinsi,fzk,vec,vec1,vec2,rb)
struct wnn_env *env;		/* ´Ä¶­ */
w_char *yomi;			/* ÆÉ¤ßÎó */
int hinsi;			/* ÉÊ»ìÈÖ¹æ */
w_char *fzk;			/* ÉÕÂ°¸ìÊ¸»úÎó */
int vec;			/* ÀÜÂ³¥Ù¥¯¥¿¡¼ */
int vec1;			/* ÀÜÂ³¥Ù¥¯¥¿¡¼ */
int vec2;			/* ÀÜÂ³¥Ù¥¯¥¿¡¼ */
struct wnn_ret_buf *rb;		/* ÊÑ´¹·ë²Ì¤òÊÖ¤¹¥¨¥ê¥¢¤Ø¤Î¥Ý¥¤¥ó¥¿ */
```

## µ¡Ç½

-

  ÆÉ¤ß yomi ¤òÏ¢Ê¸ÀáÊÑ´¹¤·¡¢Âè°ì¸õÊä¤ÎÎó¤òÊÖ¤¹¡£

  hinsi, fzk ¤Ï¡¢yomi ¤ÎÊ¸Àá¤ÎÁ°¤ÎÊ¸Àá¤ÎÉÊ»ìÈÖ¹æ¡¢ÉÕÂ°¸ìÊ¸»úÎó¤ò»ØÄê¤¹¤ë¡£

  ÉÊ»ìÈÖ¹æ¡¢ÉÕÂ°¸ìÊ¸»úÎó¤ò»ØÄê¤·¤¿¾ì¹ç¤Ï¡¢yomi ÀèÆ¬¤ÎÊ¸Àá¤òÁ°¤ÎÊ¸Àá¤ËÀÜÂ³ ¤Ç¤­¤ë¾®Ê¸ÀáÎó(Á°¤ÎÊ¸Àá¤ò´Þ¤á¤ÆÂçÊ¸Àá¤È¤Ê¤ë)¤È¤·¤ÆÊÑ´¹¤¹¤ë¡£

  Á°¤ÎÊ¸Àá¤ËÀÜÂ³¤Ç¤­¤ë¸õÊä¤¬Ìµ¤¤¾ì¹ç¤Ï¡¢ÂçÊ¸Àá¤ÎÀèÆ¬¤Ë¤Ê¤ì¤ë¤â¤Î¤òÊÖ¤¹¡£ ¤½¤ì¤â¤Ê¤¤¾ì¹ç¤Ï¡¢ÂçÊ¸Àá¤ÎÀèÆ¬¤Ë¤Ê¤ì¤Ê¤¤¤â¤Î(¤½¤ÎÁ°¤Ë¡¢»ØÄê¤·¤¿ÉÊ»ì°Ê³° ¤ÎÉÊ»ì¤¬¤³¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤â¤Î¡£¤¿¤È¤¨¤Ð¡¢hinsi ¤ËÌ¾»ì¤ò»ØÄê¤·¤¿¤È¤­¤Î ½õ¿ô»ì:½õ¿ô»ì¤ÎÁ°¤Ë¤Ï¡¢¿ô»ì¤¬¤­¤ÆÂçÊ¸Àá¤È¤Ê¤ë)¤òÊÖ¤¹¡£

  ¤³¤Î¤¦¤Á¤É¤Î¸õÊä¤¬Áª¤Ð¤ì¤¿¤«¤Ï¡¢rb-\>buf-\>sbn-\>status ¤ËÊÖ¤µ¤ì¤ë¡£

  ```
  	    WNN_CONNECT		»ØÄê¤µ¤ì¤¿(ÉÊ»ì¡¢ÉÕÂ°¸ì)¤ËÀÜÂ³¤Ç¤­¤¿
  	    WNN_SENTOU		ÂçÊ¸Àá¤ÎÀèÆ¬
  	    WNN_NOT_CONNECT	ÂçÊ¸Àá¤ÎÀèÆ¬¤Ë¤Ê¤ì¤Ê¤¤¤·¡¢Á°¤ËÀÜÂ³¤Ç¤­¤Ê¤¤
  	    WNN_GIJI		µ¿»÷Ê¸Àá¤È¤·¤ÆÊÑ´¹¤·¤¿
  ```

  Á°¤ÎÊ¸Àá¤ËÉÕÂ°¸ì¤¬Ìµ¤¤¾ì¹ç¤Ï¡¢NULL ¤ò»ØÄê¤¹¤ë¡£

  Á°¤Î¾®Ê¸Àá¤È¤ÏÂçÊÌÊ¸Àá¤È¤·¤ÆÊÑ´¹¤¹¤ë»þ¤Ï¡¢hinsi ¤Ë¡¢

  ```
  	    WNN_BUN_SENTOU	(ÂçÊ¸Àá¤ÎÀèÆ¬¤Ë¤Ê¤ì¤ë¤â¤Î)
  	    WNN_ALL_HINSI	(Á´¤Æ¤Î¾®Ê¸Àá)
  ```

  ¤ò»ØÄê¤¹¤ë¡£

  vec¡¢vec1 ¤Ï¡¢ÊÑ´¹¤Î¤¿¤á¤Î½ªÃ¼¥Ù¥¯¥È¥ë¤ò»ØÄê¤¹¤ë¡£ ¸å¤í¤Î¾®Ê¸Àá¤ÎÁ°Ã¼¥Ù¥¯¥È¥ë¤ò»ØÄê¤¹¤ë¡£¤½¤Î¾ì¹ç¤Ï¡¢yomi ¤ÎºÇ¸å¤ÎÊ¸Àá¤Ë ¸å¤í¤ÎÊ¸Àá¤ò´Þ¤á¤¿¤â¤Î¤¬ÂçÊ¸Àá¤È¤Ê¤ë¡£ ¸å¤í¤Î¾®Ê¸Àá¤È¤ÏÊÌÂçÊ¸Àá¤È¤·¤ÆÊÑ´¹¤¹¤ë»þ¤Ï¡¢vec¡¢ vec1 ¤Ë¡¢

  ```
  	    WNN_VECT_KANREN (Ï¢Ê¸ÀáÊÑ´¹¤Î½ªÃ¼¥Ù¥¯¥È¥ë)
  	    WNN_VECT_KANTAN (Ã±Ê¸ÀáÊÑ´¹¤Î½ªÃ¼¥Ù¥¯¥È¥ë)
  	    WNN_VECT_KANZEN (Á´¸õÊä¼è½Ð¤·¤Î½ªÃ¼¥Ù¥¯¥È¥ë)
  	    WNN_VECT_BUNSETSU (Ê¸Àá¤Î½ªÃ¼¥Ù¥¯¥È¥ë)
  ```

  ¤ò»ØÄê¤¹¤ë¡£

  vec ¤Ë»ØÄê¤·¤¿½ªÃ¼¥Ù¥¯¥È¥ë¤Ï¡¢vec1 ¤Ë»ØÄê¤·¤¿½ªÃ¼¥Ù¥¯¥È¥ë¤è¤ê¤â¡¢É¾²Á ´ð½à¤¬¹â¤¯¤Ê¤ë¡£ ÄÌ¾ï¡¢vec ¤Ë¤Ï¸å¤í¤Î¾®Ê¸Àá¤ÎÁ°Ã¼¥Ù¥¯¥È¥ë¤ò¡¢vec1 ¤Ë¤Ï¡¢WNN\_VECT\_KANREN ¤ò»ØÄê¤¹¤ë¡£ vec1 ¤Ë»ØÄê¤¹¤Ù¤­½ªÃ¼¥Ù¥¯¥È¥ë¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢WNN\_VECT\_NO ¤ò»ØÄê¤¹¤ë¡£ ¤³¤Î¾ì¹ç vec ¤Î¤ß¤¬ÊÑ´¹¤Ë»ÈÍÑ¤µ¤ì¤ë¡£

  vec2 ¤Ï¡¢Ï¢Ê¸ÀáÊÑ´¹»þ¤ÎÅÓÃæ¤ÎÊ¸Àá¤Ç»ÈÍÑ¤µ¤ì¤ë¡£ ÄÌ¾ï¡¢vec2 ¤Ë¤Ï WNN\_VECT\_BUNSETSU ¤ò»ØÄê¤¹¤ë¡£

  vec ¤ËÀÜÂ³¤Ç¤­¤ëÊ¸Àá¤«¡¢vec1 ¤ËÀÜÂ³¤Ç¤­¤ëÊ¸Àá¤«¤Ï¡¢ rb-\>buf-\>sbn-\>status\_bkwd ¤ËÊÖ¤µ¤ì¤ë¡£ vec ¤ËÀÜÂ³¤Ç¤­¤¿¾ì¹ç¤Ï¡¢WNN\_CONNECT\_BK ¤¬¡¢vec1 ¤ËÀÜÂ³¤Ç¤­¤¿¾ì¹ç¤Ï¡¢ WNN\_NOT\_CONNECT\_BK ¤¬ÊÖ¤µ¤ì¤ë¡£ ¤³¤ÎÃÍ¤Ï¡¢yomi ¤Ë»ØÄê¤·¤¿¡¢ºÇ¸å¸ì¤ÎÊ¸Àá¤Î¤ß¤¬Í­¸ú¤Ç¤¢¤ë¡£

  rb ¤Ë¤Ï¡¢ÊÑ´¹·ë²Ì¤¬ÊÖ¤ë¥¨¥ê¥¢¤Ø¤Î¥Ý¥¤¥ó¥¿(struct wnn\_ret\_buf \*)¤ò»ØÄê ¤¹¤ë¡£rb ¤Ï¡¢¥æ¡¼¥¶¤¬ÍÑ°Õ¤· \*rb = {0, NULL} ¤Ë½é´ü²½¤¹¤ë¡£ rb-\>buf ¤ËÊÑ´¹·ë²Ì¤ÎÂçÊ¸Àá¤Î¾ðÊó(struct wnn\_dai\_bunsetsu \*)¤ÎÀèÆ¬¤Ø¤Î ¥Ý¥¤¥ó¥¿¤¬ÊÖ¤µ¤ì¤ë¡£¤½¤³¤«¤é¡¢ÂçÊ¸Àá¿ô¤À¤±ÂçÊ¸Àá¤Î¾ðÊó¤¬¡¢Æþ¤Ã¤Æ¤¤¤ë¡£

  ÉÕÂ°¸ì¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤È¤Ê¤ë¡£

## ¥ê¥¿¡¼¥ó¥Ð¥ê¥å¡¼

```
Àµ¾ï½ªÎ»»þ¤Ë¤Ï¡¢ÂçÊ¸Àá¿ô¤òÊÖ¤¹¡£
°Û¾ï½ªÎ»»þ¤Ë¤Ï¡¢-1 ¤òÊÖ¤¹¡£
```
