KNP - ¹½Ê¸²òÀϤò¹Ô¤¦¥â¥¸¥å¡¼¥ë
use KNP; $knp = new KNP; $result = $knp->parse( "¤³¤Îʸ¤ò¹½Ê¸²òÀϤ·¤Æ¤¯¤À¤µ¤¤¡¥" ); print $result->all;
KNP
¤Ï¡¤KNP ¤òÍѤ¤¤Æ¹½Ê¸²òÀϤò¹Ô¤¦¥â¥¸¥å¡¼¥ë¤Ç¤¢¤ë¡¥
ñ½ã¤Ë¹½Ê¸²òÀϤò¹Ô¤¦¤À¤±¤Ê¤é¤Ð¡¢KNP::Simple
¤¬ÍøÍѤǤ¤ë¡¥
KNP::Simple
¤Ï¡¤KNP
¥â¥¸¥å¡¼¥ë¤Î¥é¥Ã¥Ñ¡¼¤Ç¤¢¤ê¡¤¤è¤ê´Êñ¤Ë¹½Ê¸²ò
ÀÏ´ï¤òÍøÍѤǤ¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡¥
KNP
¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¤°Ê²¼¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¤ë¡¥
$knp = new KNP [ -Server => string,] [ -Port => integer,] [ -Command => string,] [ -Timeout => integer,] [ -Option => string,] [ -Rcfile => filename,] [ -IgnorePattern => string,] [ -JumanServer => string,] [ -JumanPort => integer,] [ -JumanCommand => string,] [ -JumanOption => string,]
KNP ¥µ¡¼¥Ð¡¼¤Î¥Û¥¹¥È̾¡¥¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¤´Ä¶ÊÑ¿ô KNPSERVER
¤Ç»ØÄê
¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤¬ÍøÍѤµ¤ì¤ë¡¥´Ä¶ÊÑ¿ô¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¤KNP ¤ò»Ò
¥×¥í¥»¥¹¤È¤·¤Æ¸Æ¤Ó½Ð¤¹¡¥
KNP ¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈֹ桥
KNP ¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë̾¡¥KNP ¥µ¡¼¥Ð¡¼¤òÍøÍѤ·¤Ê¤¤¾ì¹ç¤Ë»²¾È¤µ¤ì¤ë¡¥
¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï»Ò¥×¥í¥»¥¹¤ÈÄÌ¿®¤¹¤ë»þ¤ÎÂÔ¤Á»þ´Ö¡¥
KNP ¤ò¼Â¹Ô¤¹¤ëºÝ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¡¥¾Êά¤·¤¿¾ì¹ç¤Ï¡¤
$KNP::DEFAULT{option}
¤ÎÃͤ¬ÍѤ¤¤é¤ì¤ë¡¥
¤¿¤À¤·¡¤ÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë -r
¥ª¥×¥·¥ç¥ó¤È¡¤KNP ¤Ë¤è¤Ã¤ÆÌµ»ë¤µ
¤ì¤ë¹ÔƬ¥Ñ¥¿¡¼¥ó¤ò»ØÄꤹ¤ë -i
¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¤¤½¤ì¤¾¤ì¸ÄÊ̤Ë
-Rcfile
, -IgnorePattern
¤Ë¤è¤Ã¤Æ»ØÄꤹ¤ë¤Ù¤¤Ç¤¢¤ë¡¥
KNP ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¡¥
¤³¤Î¥ª¥×¥·¥ç¥ó¤È¡¤KNP ¥µ¡¼¥Ð¡¼¤ÎÍøÍѤÏξΩ¤·¤Ê¤¤¤³¤È¤¬Â¿¤¤¡¥ÆÃ¤Ë¡¤¥µ¡¼ ¥Ð¡¼¤¬ÍøÍѤ·¤Æ¤¤¤ë¼½ñ¤È°ã¤¦¼½ñ¤ò»ØÄꤷ¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¤°Õ¿Þ¤·¤¿ Ä̤ê¤Ë¤Ïưºî¤·¤Ê¤¤¡¥
KNP ¤Ë¤è¤Ã¤ÆÌµ»ë¤µ¤ì¤ë¹ÔƬ¥Ñ¥¿¡¼¥ó¡¥
Juman ¤ò¸Æ¤Ó½Ð¤¹»þ¤Î¥ª¥×¥·¥ç¥ó¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¡¥
ʸ»úÎó¤Þ¤¿¤Ï·ÁÂÖÁÇÎ󥪥֥¸¥§¥¯¥È OBJ ¤òÂоݤȤ·¤Æ¹½Ê¸²òÀϤò¹Ô¤¤¡¤¹½Ê¸ ²òÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥
¤¿¤À¤·¡¤Ê¸»úÎ󤬶õʸ»úÎó¤Ç¤¢¤Ã¤¿¤ê¡¤Ê¸»úÎó¤ÎÀèÆ¬¤Îʸ»ú¤¬ #
¤Ç¤¢¤Ã¤¿
¤ê¤·¤¿¾ì¹ç¤Ë¤Ï¡¤Ê¸»úÎó¤Ï̵»ë¤µ¤ì undef ¤¬ÊÖ¤êÃͤȤʤ롥
¤Þ¤¿¡¤¹½Ê¸²òÀÏÃæ¤ËÃ×̿Ū¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤â undef ¤òÊÖ¤¹¡¥¤³¤Î¾ì
¹ç¤Ï¡¤¤½¤Îľ¸å¤Ë error
¥á¥½¥Ã¥É¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¤¼ÂºÝ¤ËȯÀ¸¤·¤¿
¥¨¥é¡¼¤òÃΤ뤳¤È¤¬¤Ç¤¤ë¡¥
¤·¤¿¤¬¤Ã¤Æ¡¤parse
¥á¥½¥Ã¥É¤ÎÊÖ¤êÃͤò¡¤´°Á´¤«¤Ä°ÂÁ´¤Ë½èÍý¤¹¤ë¤¿¤á¤Ë
¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤¬É¬ÍפǤ¢¤ë¡¥
Example:
$result = $knp->parse( $str ); if( $result ){ # ¹½Ê¸²òÀϤ¬À®¸ù¤·¤¿¾ì¹ç if( $result->error() ){ # ¤¿¤À¤·¡¤¹½Ê¸²òÀÏÃæ¤Ë²¿¤é¤«¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬ # ½ÐÎϤµ¤ì¤¿¾ì¹ç } else { # °ÂÁ´¤Ë¹½Ê¸²òÀϤ¬½ªÎ»¤·¤¿¾ì¹ç } } else { if( $knp->error() ){ # ¹½Ê¸²òÀÏÃæ¤ËÃ×̿Ū¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç } else { # ÂоݤȤʤëʸ»úÎó¤¬Ìµ»ë¤µ¤ì¡¤½èÍý¤¬¹Ô¤ï¤ì¤Ê¤«¤Ã¤¿¾ì¹ç } }
°ìÈÌŪ¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç½½Ê¬¤À¤í¤¦¡¥
Example:
$result = $knp->parse( $str ); if( $result ){ # ¹½Ê¸²òÀϤ¬À®¸ù¤·¤¿¾ì¹ç }
ʸ»úÎó¤òÂоݤȤ·¤Æ¹½Ê¸²òÀϤò¹Ô¤¤¡¤¹½Ê¸²òÀÏ¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥
·ÁÂÖÁÇÎ󥪥֥¸¥§¥¯¥È¤òÂоݤȤ·¤Æ¹½Ê¸²òÀϤò¹Ô¤¤¡¤¹½Ê¸²òÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯ ¥È¤òÊÖ¤¹¡¥
ľÁ°¤Î¹½Ê¸²òÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥
ľÁ°¤ÎÃ×̿Ū¤Ê¥¨¥é¡¼¤òÊÖ¤¹¡¥
-detail
¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¸Â¤ê͸ú¤È¤Ê¤ë¥á¥½¥Ã¥É¡¥
ʸ»úÎó¤ò·ÁÂÖÁDzòÀϤ·¡¤·ÁÂÖÁDzòÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥
´Ä¶ÊÑ¿ô KNPSERVER
¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤»ØÄꤵ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò
KNP ¥µ¡¼¥Ð¡¼¤È¤·¤ÆÍøÍѤ¹¤ë¡¥
This module is the completely rewritten version of the original module written by Sadao Kurohashi <kuro@i.kyoto-u.ac.jp>.
ÍøÍѵڤӺÆÇÛÉۤˤĤ¤¤Æ¤Ï GPL2 ¤Þ¤¿¤Ï Artistic License ¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£