KNP - ¹½Ê¸²òÀϤò¹Ô¤¦¥â¥¸¥å¡¼¥ë


NAME

KNP - ¹½Ê¸²òÀϤò¹Ô¤¦¥â¥¸¥å¡¼¥ë


SYNOPSIS

 use KNP;
 $knp = new KNP;
 $result = $knp->parse( "¤³¤Îʸ¤ò¹½Ê¸²òÀϤ·¤Æ¤¯¤À¤µ¤¤¡¥" );
 print $result->all;


DESCRIPTION

KNP ¤Ï¡¤KNP ¤òÍѤ¤¤Æ¹½Ê¸²òÀϤò¹Ô¤¦¥â¥¸¥å¡¼¥ë¤Ç¤¢¤ë¡¥

ñ½ã¤Ë¹½Ê¸²òÀϤò¹Ô¤¦¤À¤±¤Ê¤é¤Ð¡¢KNP::Simple ¤¬ÍøÍѤǤ­¤ë¡¥ KNP::Simple ¤Ï¡¤KNP ¥â¥¸¥å¡¼¥ë¤Î¥é¥Ã¥Ñ¡¼¤Ç¤¢¤ê¡¤¤è¤ê´Êñ¤Ë¹½Ê¸²ò ÀÏ´ï¤òÍøÍѤǤ­¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡¥


CONSTRUCTOR

KNP ¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¤°Ê²¼¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¤ë¡¥

Synopsis

    $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,]

Options

-Server

KNP ¥µ¡¼¥Ð¡¼¤Î¥Û¥¹¥È̾¡¥¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¤´Ä¶­ÊÑ¿ô KNPSERVER ¤Ç»ØÄê ¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤¬ÍøÍѤµ¤ì¤ë¡¥´Ä¶­ÊÑ¿ô¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¤KNP ¤ò»Ò ¥×¥í¥»¥¹¤È¤·¤Æ¸Æ¤Ó½Ð¤¹¡¥

-Port

KNP ¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈֹ桥

-Command

KNP ¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë̾¡¥KNP ¥µ¡¼¥Ð¡¼¤òÍøÍѤ·¤Ê¤¤¾ì¹ç¤Ë»²¾È¤µ¤ì¤ë¡¥

-Timeout

¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï»Ò¥×¥í¥»¥¹¤ÈÄÌ¿®¤¹¤ë»þ¤ÎÂÔ¤Á»þ´Ö¡¥

-Option

KNP ¤ò¼Â¹Ô¤¹¤ëºÝ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¡¥¾Êά¤·¤¿¾ì¹ç¤Ï¡¤ $KNP::DEFAULT{option} ¤ÎÃͤ¬ÍѤ¤¤é¤ì¤ë¡¥

¤¿¤À¤·¡¤ÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë -r ¥ª¥×¥·¥ç¥ó¤È¡¤KNP ¤Ë¤è¤Ã¤ÆÌµ»ë¤µ ¤ì¤ë¹ÔƬ¥Ñ¥¿¡¼¥ó¤ò»ØÄꤹ¤ë -i ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¤¤½¤ì¤¾¤ì¸ÄÊÌ¤Ë -Rcfile, -IgnorePattern ¤Ë¤è¤Ã¤Æ»ØÄꤹ¤ë¤Ù¤­¤Ç¤¢¤ë¡¥

-Rcfile

KNP ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¡¥

¤³¤Î¥ª¥×¥·¥ç¥ó¤È¡¤KNP ¥µ¡¼¥Ð¡¼¤ÎÍøÍѤÏξΩ¤·¤Ê¤¤¤³¤È¤¬Â¿¤¤¡¥ÆÃ¤Ë¡¤¥µ¡¼ ¥Ð¡¼¤¬ÍøÍѤ·¤Æ¤¤¤ë¼­½ñ¤È°ã¤¦¼­½ñ¤ò»ØÄꤷ¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¤°Õ¿Þ¤·¤¿ Ä̤ê¤Ë¤Ïưºî¤·¤Ê¤¤¡¥

-IgnorePattern

KNP ¤Ë¤è¤Ã¤ÆÌµ»ë¤µ¤ì¤ë¹ÔƬ¥Ñ¥¿¡¼¥ó¡¥

-JumanServer
-JumanPort
-JumanCommand
-JumanOption
-JumanRcfile

Juman ¤ò¸Æ¤Ó½Ð¤¹»þ¤Î¥ª¥×¥·¥ç¥ó¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¡¥


METHODS

knp( OBJ )
parse( OBJ )

ʸ»úÎó¤Þ¤¿¤Ï·ÁÂÖÁÇÎ󥪥֥¸¥§¥¯¥È 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 ){
        # ¹½Ê¸²òÀϤ¬À®¸ù¤·¤¿¾ì¹ç
    }
parse_string( STRING )

ʸ»úÎó¤òÂоݤȤ·¤Æ¹½Ê¸²òÀϤò¹Ô¤¤¡¤¹½Ê¸²òÀÏ¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥

parse_mlist( MLIST )

·ÁÂÖÁÇÎ󥪥֥¸¥§¥¯¥È¤òÂоݤȤ·¤Æ¹½Ê¸²òÀϤò¹Ô¤¤¡¤¹½Ê¸²òÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯ ¥È¤òÊÖ¤¹¡¥

result

ľÁ°¤Î¹½Ê¸²òÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥

error

ľÁ°¤ÎÃ×̿Ū¤Ê¥¨¥é¡¼¤òÊÖ¤¹¡¥

detail( [TYPE] )

-detail ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¸Â¤êÍ­¸ú¤È¤Ê¤ë¥á¥½¥Ã¥É¡¥

juman( STRING )

ʸ»úÎó¤ò·ÁÂÖÁDzòÀϤ·¡¤·ÁÂÖÁDzòÀÏ·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥


ENVIRONMENT

KNPSERVER

´Ä¶­ÊÑ¿ô KNPSERVER ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤»ØÄꤵ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò KNP ¥µ¡¼¥Ð¡¼¤È¤·¤ÆÍøÍѤ¹¤ë¡¥


SEE ALSO


HISTORY

This module is the completely rewritten version of the original module written by Sadao Kurohashi <kuro@i.kyoto-u.ac.jp>.


AUTHOR

TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp>


COPYRIGHT

ÍøÍѵڤӺÆÇÛÉۤˤĤ¤¤Æ¤Ï GPL2 ¤Þ¤¿¤Ï Artistic License ¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£