From: nisikimi Date: Tue, 20 Dec 2005 08:40:43 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: REL-1-3-0~9 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7666ba55ec14f7cac7537f9910f9b60a852471f;p=m17n%2Fm17n-db.git *** empty log message *** --- diff --git a/FORMATS/IM.ja.txt b/FORMATS/IM.ja.txt index c68b7a8..32b11bf 100644 --- a/FORMATS/IM.ja.txt +++ b/FORMATS/IM.ja.txt @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004 +/* Copyright (C) 2003, 2004, 2005 National Institute of Advanced Industrial Science and Technology (AIST) Registration Number H15PRO112 See the end for copying conditions. */ @@ -23,12 +23,50 @@ m17n ¥¤¥ë¤ä¥¹¥È¥ê¡¼¥à¤«¤éÄêµÁ¤ò¥í¡¼¥É¤·¡¢¥×¥í¥Ñ¥Æ¥£¥ê¥¹¥È¤Î·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ @verbatim -INPUT-METHOD ::= TITLE MAP-LIST MACRO-LIST ? MODULE-LIST ? STATE-LIST - -TITLE ::= '(' 'title' MTEXT ')' +INPUT-METHOD ::= + IM-DECLARATION ? DESCRIPTION ? VARIABLE-LIST ? COMMAND-LIST ? + TITLE MAP-LIST MACRO-LIST ? MODULE-LIST ? STATE-LIST + +IM-DECLARATION ::= '(' 'input-method' LANGUAGE NAME ')' +DESCRIPTION ::= '(' 'description' MTEXT ')' +VARIABLE-LIST ::= '(' 'variable' VARIABLE-DECLARATION * ')' +COMMAND-LIST ::= '(' 'command' COMMAND-DECLARATION * ')' +TITLE ::= '(' 'title' TITLE-TEXT ')' + +VARIABLE-DECLARATION ::= + '(' VAR-NAME [ VAR-DESCRIPTION | nil ] VALUE VALUE-CANDIDATE * ')' + +COMMAND-DECLARATION ::= + '(' CMD-NAME [ CMD-DESCRIPTION | nil ] KEYSEQ * ')' + +LANGUAGE ::= SYMBOL +NAME ::= SYMBOL +IM-DESCRIPTION ::= MTEXT +VAR-NAME ::= SYMBOL +VAR-DESCRIPTION ::= MTEXT +VALUE ::= MTEXT | SYMBOL | INTEGER +VALUE-CANDIDATE ::= VALUE | '(' RANGE-FROM RANGE-TO ')' +RANGE-FROM ::= INTEGER +RANGE-TO ::= INTEGER +CMD-NAME ::= SYMBOL +CMD-DESCRIPTION ::= MTEXT +TITLE-TEXT ::= MTEXT @endverbatim -@c MTEXT ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤¬Í­¸ú¤ÊºÝ¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤ë¥Æ¥­¥¹¥È¤Ç¤¢¤ë ¡£ +@c IM-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Î¸À¸ì¤È̾Á°¤ò»ØÄꤹ¤ë¡£ + +@c DESCRIPTION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤ÎÀâÌÀ¤Ç¤¢¤ë @c MTEXT ¤ò»ØÄꤹ¤ë¡£ + +@c VARIABLE-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÊÑ¿ô¤òÀë¸À¤¹¤ë¡£ +ÊÑ¿ô¤ò¥Ç¥Õ¥©¥ë¥ÈÃͤ˽é´ü²½¤·¤¿¤ê¡¢¥æ¡¼¥¶¤¬¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤ê¤¹¤ë¾ì¹ç¤Ë +¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ + +@c COMMAND-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ë¥³¥Þ¥ó¥É¤òÀë¸À¤¹¤ë¡£ +¥³¥Þ¥ó¥É¤ò¥Ç¥Õ¥©¥ë¥È¥­¡¼¥·¡¼¥±¥ó¥¹¤Ë³ä¤êÅö¤Æ¤¿¤ê¡¢¥æ¡¼¥¶¤¬¥«¥¹¥¿¥Þ¥¤¥º +¤·¤¿¤ê¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ + +@c TITLE-TEXT ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤¬Í­¸ú¤Ê»þ¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤ë¥Æ +¥­¥¹¥È¤Ç¤¢¤ë¡£ @verbatim MAP-LIST ::= '(' 'map' MAP * ')' @@ -46,7 +84,7 @@ KEYSEQ ::= MTEXT | '(' [ SYMBOL | INTEGER ] * ')' ¤é¤Ê¤¤¡£ @c KEYSEQ ÄêµÁÃæ¤Î @c MTEXT ¤Ï¡¢¥­¡¼¥Ü¡¼¥É¤«¤éÀ¸À®¤Ç¤­¤ëʸ»ú¤Ç¹½À®¤µ¤ì -¤ë¡£¤¹¤Ê¤ï¤Á @c MTEXT ¤ÏÄ̾ïASCII ʸ»ú¤Î¤ß¤ò´Þ¤à¡£¤·¤«¤·¡¢ÆþÎϥ᥽¥Ã¥É +¤ë¡£¤¹¤Ê¤ï¤Á @c MTEXT ¤ÏÄ̾ï ASCII ʸ»ú¤Î¤ß¤ò´Þ¤à¡£¤·¤«¤·¡¢ÆþÎϥ᥽¥Ã¥É ¤¬¤¿¤È¤¨¤ÐÀ¾¥è¡¼¥í¥Ã¥ÑÍÑ¥­¡¼¥Ü¡¼¥É¤ò»È¤¦¤³¤È¤òÁÛÄꤷ¤¿¤â¤Î¤Ç¤¢¤ì¤Ð¡¢@c MTEXT ¤Ï Latin-1 ʸ»ú¤ò´Þ¤ó¤Ç¤â¤è¤¤¡£ @@ -58,14 +96,14 @@ MTEXT @verbatim MAP-ACTION ::= ACTION -ACTION ::= INSERT | DELETE | SELECT | MOVE | MARK | - | SHOW | HIDE | PUSHBACK | UNDO | SHIFT | CALL - | SET | IF | '(' MACRO-NAME ')' - +ACTION ::= INSERT | DELETE | SELECT | MOVE | MARK + | SHOW | HIDE | PUSHBACK | UNDO | UNHANDLE | SHIFT | CALL + | SET | IF | COND | '(' MACRO-NAME ')' PREDEFINED-SYMBOL ::= - '@0' | '@1' | '@2' | '@3' | '@4' | - '@5' | '@6' | '@7' | '@8' | '@9' | - '@<' | '@=' | '@>' | '@-' | '@+' | '@[' | '@]' + '@0' | '@1' | '@2' | '@3' | '@4' + | '@5' | '@6' | '@7' | '@8' | '@9' + | '@<' | '@=' | '@>' | '@-' | '@+' | '@[' | '@]' + | '@@ @endverbatim @verbatim MACRO-LIST ::= '(' 'macro' MACRO * ')' @@ -86,12 +124,12 @@ MODULE-NAME ::= SYMBOL FUNCTION ::= SYMBOL @endverbatim -³Æ @c MODULE ¤Ï³°Éô¥â¥¸¥å¡¼¥ë (ưŪ¥é¥¤¥Ö¥é¥ê) ¤Î̾Á°¤È¤½¤Î¥â¥¸¥å¡¼¥ë -¤¬¸ø³«¤¹¤ë´Ø¿ô̾¤òÀë¸À¤¹¤ë¡£@c FUNCTION ¤¬ "init" ¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ì¤Ð¡¢ -¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬À¸À®¤µ¤ì¤ëºÝ¤Ë¤Î¤ß¡¢¥Ç¥Õ¥©¥ë¥È¤Î -°ú¿ô (@c CALL ¤ÎÀỲ¾È) ¤È¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @c FUNCTION ¤¬ "fini" ¤È¤¤ -¤¦Ì¾Á°¤ò»ý¤Æ¤Ð, ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬Ç˲õ¤µ¤ì¤ëºÝ¤Ë¤Î¤ß¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô -¤È¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ +³Æ @c MODULE ¤Ï³°Éô¥â¥¸¥å¡¼¥ë (ưŪ¥é¥¤¥Ö¥é¥ê) ¤Î̾Á°¤È¤½¤Î¥â¥¸¥å¡¼¥ë¤¬ +¸ø³«¤·¤Æ¤¤¤ë´Ø¿ô̾¤òÀë¸À¤¹¤ë¡£@c FUNCTION ¤¬ "init" ¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ì¤Ð¡¢ +¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬À¸À®¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô +(@c CALL ¤ÎÀỲ¾È) ¤Î¤ß¤È¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @c FUNCTION ¤¬ "fini" ¤È¤¤¤¦ +̾Á°¤ò»ý¤Æ¤Ð, ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬Ç˲õ¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô¤Î¤ß¤È +¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @verbatim STATE-LIST ::= '(' 'state' STATE * ')' @@ -105,44 +143,44 @@ BRANCH ::= '(' MAP-NAME BRANCH-ACTION * ')' | '(' t BRANCH-ACTION * ')' @endverbatim -@c BRANCH ¤ÎºÇ½é¤Î·Á¼°¤Ç¤Ï¡¢@c MAP-NAME ¤Ï @c MAP ¤Ë¸½¤ï¤ì¤ë¤â¤Î¤Ç¤Ê¤¯ -¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢@c MAP-NAME ¤Î @c KEYSEQ ¤Î°ì¤Ä¤Ë¹çÃפ¹¤ë¥­¡¼ -Î󤬥¿¥¤¥×¤µ¤ì¤ì¤Ð¡¢ @c BRANCH-ACTION ¤¬¼Â¹Ô¤µ¤ì¤ë¡£ +@c BRANCH ¤ÎÂè°ì¤Î·Á¼°¤Ç¤Ï¡¢@c MAP-NAME ¤Ï @c MAP ¤Ë¸½¤ï¤ì¤ë¤â¤Î¤Ç¤Ê¤¯ +¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢@c MAP-NAME ¤Î @c KEYSEQ ¤Î°ì¤Ä¤Ë¹çÃפ¹¤ë¥­¡¼Îó +¤¬¥¿¥¤¥×¤µ¤ì¤ì¤Ð¡¢ @c BRANCH-ACTION ¤¬¼Â¹Ô¤µ¤ì¤ë¡£ -@c BRANCH ¤ÎÆó¤ÄÌܤηÁ¼°¤Ç¤Ï¡¢¤½¤Î»þÅÀ¤Î¾õÂ֤Τ¤¤º¤ì¤Î @c BRANCH ¤Ë¤â -¹çÃפ·¤Ê¤¤¥­¡¼Î󤬥¿¥¤¥×¤µ¤ì¤ì¤Ð¡¢@c BRANCH-ACTION¤¬¼Â¹Ô¤µ¤ì¤ë¡£ +@c BRANCH ¤ÎÂèÆó¤Î·Á¼°¤Ç¤Ï¡¢¤½¤Î»þÅÀ¤Î¾õÂ֤Τ¤¤º¤ì¤Î @c BRANCH ¤Ë¤â¹çÃ× +¤·¤Ê¤¤¥­¡¼Î󤬥¿¥¤¥×¤µ¤ì¤ì¤Ð¡¢@c BRANCH-ACTION¤¬¼Â¹Ô¤µ¤ì¤ë¡£ -@c BRANCH ¤Î»°¤ÄÌܤηÁ¼°¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥­¡¼¤ò½èÍý¤·¤¿¸å¤Ç¤½¤Î¾õÂ֤˰ÜÆ° -¤·¤¿¾ì¹ç¤Ë @c BRANCH-ACTION ¤¬¼Â¹Ô¤µ¤ì¤ë¡£¤â¤·½é´ü¾õÂ֤Ǥ¢¤ì¤Ð¡¢ÆþÎÏ¥á -¥½¥Ã¥É¤ÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤òÀ¸À®¤·¤¿Ä¾¸å¤Ë @c BRANCH-ACTION ¤ò¼Â¹Ô¤¹¤ë¡£ +@c BRANCH ¤ÎÂè»°¤Î·Á¼°¤Ç¤Ï¡¢¤½¤Î¾õÂ֤˰ÜÆ°¤·¤¿»þÅÀ¤Ç @c BRANCH-ACTION +¤¬¼Â¹Ô¤µ¤ì¤ë¡£¤â¤·½é´ü¾õÂ֤Ǥ¢¤ì¤Ð¡¢ÆþÎϥ᥽¥Ã¥É¤ÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤òÀ¸ +À®¤·¤¿»þÅÀ¤Ç @c BRANCH-ACTION ¤ò¼Â¹Ô¤¹¤ë¡£ @verbatim BRANCH-ACTION ::= ACTION @endverbatim -ÆþÎϥ᥽¥Ã¥É¤Ï¼¡¤ÎÆó¤Ä¤Î¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤ò»ý¤Ä¡£ +ÆþÎϥ᥽¥Ã¥É¤Ï¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤òÆó¤Ä»ý¤Ä¡£ -@c PREDEFINED-SYMBOL ¤Ï¥Þ¡¼¥«¤È¤·¤ÆÍѤ¤¤é¤ì¤¿¾ì¹çÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£ +³Æ @c PREDEFINED-SYMBOL ¤Ï¥Þ¡¼¥«¤È¤·¤ÆÍѤ¤¤é¤ì¤¿¾ì¹çÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£ -@c PREDEFINED-SYMBOL ¤Ï @c SELECT ¥¢¥¯¥·¥ç¥óÃæ¤Ç¸õÊä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤· -¤ÆÍѤ¤¤é¤ì¤¿ºÝÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£ +@c PREDEFINED-SYMBOL ¤Î¤¤¤¯¤Ä¤«¤Ï¡¢ @c SELECT ¥¢¥¯¥·¥ç¥óÃæ¤Ç¸õÊä¤Î¥¤¥ó +¥Ç¥Ã¥¯¥¹¤È¤·¤ÆÍѤ¤¤é¤ì¤¿ºÝÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£ +¤Þ¤¿¡¢¤³¤ì¤âÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£ + + + ³Æ¥¢¥¯¥·¥ç¥ó¤Î°ú¿ô¤È¿¶Éñ¤¤¤Ï°Ê²¼¤ÎÄ̤ꡣ @verbatim @@ -198,13 +245,13 @@ CANDIDATES ::= MTEXT | '(' MTEXT * ')' Âè»°¤Î·Á¼°¤Ï¡¢Ê¸»ú @c INTEGER ¤ò¸½ºß¤Î°ÌÃÖ¤ÎÁ°¤ËÁÞÆþ¤¹¤ë¡£ -Âè»Í¤Î·Á¼°¤Ï¡¢@c SYMBOL ¤òÊÑ¿ô¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÃͤ¬Àµ¤·¤¤Ê¸»ú¥³¡¼¥É¤Ç -¤¢¤ì¤Ð¸½ºß¤Î°ÌÃÖ¤ÎÁ°¤ËÁÞÆþ¤¹¤ë¡£ +Âè»Í¤Î·Á¼°¤Ï¡¢@c SYMBOL ¤òÊÑ¿ô¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÃͤ¬Àµ¤·¤¤Ê¸»ú¥³¡¼¥É¤Ç¤¢ +¤ì¤Ð¸½ºß¤Î°ÌÃÖ¤ÎÁ°¤ËÁÞÆþ¤¹¤ë¡£ Âè¸Þ¡¢ÂèÏ»¤Î·Á¼°¤Ç¤Ï¡¢@c CANDIDATES ¤Ï¸õÊ䥰¥ë¡¼¥×¤òɽ¤·¡¢@c -CANDIDATES ¤Î³ÆÍ×ÁǤ¬¸õÊä¤òɽ¤¹¡£¤Ä¤Þ¤ê@c CANDIDATES ¤¬ M-text ¤Ç¤¢¤ì -¤Ð¡¢¸õÊä¤Ï¤½¤ÎM-text Ãæ¤Îʸ»ú¤Ç¤¢¤ê¡¢@c CANDIDATES ¤¬ M-text ¤Î¥ê¥¹¥È -¤Ç¤¢¤ì¤Ð¡¢¸õÊä¤Ï¤½¤ì¤é¤Î M-text ¤Ç¤¢¤ë¡£ +CANDIDATES ¤Î³ÆÍ×ÁǤ¬¸õÊä¤òɽ¤¹¡£¤Ä¤Þ¤ê@c CANDIDATES ¤¬ M-text ¤Ç¤¢¤ì¤Ð¡¢ +¸õÊä¤Ï¤½¤ÎM-text Ãæ¤Îʸ»ú¤Ç¤¢¤ê¡¢@c CANDIDATES ¤¬ M-text ¤Î¥ê¥¹¥È¤Ç¤¢¤ì +¤Ð¡¢¸õÊä¤Ï¤½¤ì¤é¤Î M-text ¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î·Á¼°¤Ï¸½ºß¤Î°ÌÃ֤ξÁ°¤ËºÇ½é¤Î¸õÊä¤òÁÞÆþ¤¹¤ë¡£ÁÞÆþ¤µ¤ì¤¿Ê¸»úÎó ¤Ë¤Ï¡¢¸õÊä¤Î¥ê¥¹¥È¤È¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¸õÊä¤ò»Ø¤¹¾ðÊó¤¬Éղ䵤ì¤Æ¤¤¤ë¡£ @@ -270,18 +317,36 @@ MARK ::= '(' 'mark' SYMBOL ')' ¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï @c SYMBOL ¤ò¥Þ¡¼¥«¤È¤·¤Æ¡¢¤½¤ì¤ò¸½ºß¤Î°ÌÃÖ¤ËÀßÄꤹ¤ë¡£ @c SYMBOL ¤Ï @c PREDEFINED-SYMBOL ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +@verbatim +PUSHBACK :: = '(' 'pushback' INTEGER ')' + | '(' 'pushback' KEYSEQ ')' +@endverbatim + +Âè°ì¤Î·Á¼°¤Ï¡¢@c INTEGER ¤ÎÃͤ¬Àµ¤Ê¤é¤ÐºÇ¿·¤Î @c INTEGER ¸Ä¤Î¥­¡¼¥¤¥Ù¥ó +¥È¤ò¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ëº¹¤·Ì᤹¡£0 ¤Ê¤é¤Ð¤¹¤Ù¤Æ¤Î¥­¡¼¥¤¥Ù¥ó¥È¤òº¹¤·Ì᤹¡£ + +ÂèÆó¤Î·Á¼°¤Ï¡¢@c KEYSEQ Ãæ¤Î¥­¡¼¤ò¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ëº¹¤·Ì᤹¡£ @verbatim -PUSHBACK :: = '(pushback INTEGER)' +UNDO :: = '(' 'undo' [ INTEGER | SYMBOL ] ')' @endverbatim -¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏºÇ¿·¤Î¥­¡¼¥¤¥Ù¥ó¥È¤ò¥¤¥Ù¥ó¥È¥­¥å¡¼¤ËÌ᤹¡£ +°ú¿ô¤¬Ìµ¤¤¾ì¹ç¡¢¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏºÇ¿·¤ÎÆó¤Ä¤Î¥­¡¼¥¤¥Ù¥ó¥È¡¢¤¹¤Ê¤ï¤Á¤³¤Î +¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ°ú¤­µ¯¤³¤µ¤ì¤¿¤â¤Î¤È¤½¤ÎľÁ°¤Î¤â¤Î¡¢¤ò¥­¥ã¥ó¥»¥ë¤¹¤ë¡£ + +À°¿ôÃͤΰú¿ô NUM ¤¬¤¢¤ë¾ì¹ç¡¢¤½¤ì¤ÏÀµ¤«Éé¤Ç¤¢¤ê 0 ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +Àµ¤Ê¤é¤ÐºÇ¿·¤Î¤â¤Î¤«¤é¿ô¤¨¤Æ NUM ¸ÄÌܤΥ¤¥Ù¥ó¥È¤ò¥­¥ã¥ó¥»¥ë¤¹¤ë¡£Éé¤Ê¤é +¤ÐºÇ¿·¤Î(- NUM) ¸Ä¤Î¥¤¥Ù¥ó¥È¤ò¥­¥ã¥ó¥»¥ë¤¹¤ë¡£ + +¥·¥ó¥Ü¥ë¤Î°ú¿ô¤¬¤¢¤ë¾ì¹ç¡¢¤½¤ì¤ÏÀ°¿ô¤Ëµ¢Ã夵¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º¡¢¤½¤ÎÃͤ¬ +¾åµ­¤ÎÀµ¿ôÃÍ°ú¿ô¤Î¾ì¹ç¤ÈƱÍͤ˼è¤ê°·¤ï¤ì¤ë¡£ @verbatim -UNDO :: = '(undo)' +UNHANDLE :: = '(unhandle)' @endverbatim -¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏºÇ¸å¤Î¥­¡¼¥¤¥Ù¥ó¥È¤ò¼è¤ê¾Ã¤¹¡£ +¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¸½ºß¤Î preediting ¥Æ¥­¥¹¥È¤ò¥³¥ß¥Ã¥È¤·¡¢ºÇ¿·¤Î¥­¡¼¤ò̤ +½èÍý¤È¤·¤ÆÊÖ¤¹¡£ @verbatim SHIFT :: = '(' 'shift' STATE-NAME ')' @@ -311,43 +376,40 @@ ARG ::= INTEGER | SYMBOL | MTEXT | PLIST *) ·¿¤ÎÃͤòÊÖ¤µ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ @verbatim -SET ::= '(' OPERAND SYMBOL1 [ INTEGER | SYMBOL2 ] ')' +SET ::= '(' CMD SYMBOL1 EXPRESSION ')' + +CMD ::= 'set' | 'add' | 'sub' | 'mul' | 'div' + +EXPRESSION ::= INTEGER | SYMBOL2 | '(' OPERAND EXPRESSION * ')' + +OPERAND ::= '+' | '-' | '*' | '/' | '|' | '&' | '!' + | '=' | '<' | '>' | '<=' | '>=' -OPERAND ::= 'set' | 'add' | 'sub' | 'mul' | 'div' @endverbatim ¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï @c SYMBOL1 ¤È @c SYMBOL2 ¤òÊÑ¿ô¤È¤·¤Æ¡¢@c SYMBOL1 ¤Î Ãͤò°Ê²¼¤Î¤è¤¦¤ËÀßÄꤹ¤ë¡£ -@c OPERAND ¤¬ 'set' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃÍ¤Ï @c INTEGER ¤Þ¤¿¤Ï @c -SYMBOL2 ¤ËÀßÄꤵ¤ì¤ë¡£ +@c CMD ¤¬ 'set' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c EXPRESSION ¤ÎÃͤËÀßÄꤹ¤ë¡£ -@c OPERAND ¤¬ 'add' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c INTEGER ¤Þ¤¿¤Ï @c -SYMBOL2 ¤ÎÃͤÀ¤±Áý¤ä¤¹¡£ +@c CMD ¤¬ 'add' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c EXPRESSION ¤ÎÃͤÀ¤±Áý¤ä¤¹¡£ -@c OPERAND ¤¬ 'sub' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c INTEGER ¤Þ¤¿¤Ï @c -SYMBOL2 ¤ÎÃͤÀ¤±¸º¤é¤¹¡£ +@c CMD ¤¬ 'sub' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c EXPRESSION ¤ÎÃͤÀ¤±¸º¤é¤¹¡£ -@c OPERAND ¤¬ 'mul' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃÍ¤Ë @c INTEGER ¤Þ¤¿¤Ï @c -SYMBOL2 ¤ÎÃͤò³Ý¤±¤ë¡£ +@c CMD ¤¬ 'mul' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c EXPRESSION ¤ÎÃͤò³Ý¤±¤¿¤â +¤Î¤Ë¤¹¤ë¡£ -@c OPERAND ¤¬ 'div' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c INTEGER ¤Þ¤¿¤Ï @c -SYMBOL2 ¤ÎÃͤdzä¤ë¡£ +@c CMD ¤¬ 'div' ¤Ê¤é¤Ð¡¢@c SYMBOL1 ¤ÎÃͤò @c EXPRESSION ¤ÎÃͤdzä¤Ã¤¿¤â +¤Î¤Ë¤¹¤ë¡£ @verbatim -IF ::= '(' 'if' CONDITION ACTION-LIST1 ACTION-LIST2 * ')' +IF ::= '(' CONDITION ACTION-LIST1 ACTION-LIST2 ')' -CONDITION ::= '(' OPERAND VAL1 VAL2 ')' +CONDITION ::= [ '=' | '<' | '>' | '<=' | '>=' ] EXPRESSION1 EXPRESSION2 ACTION-LIST1 ::= '(' ACTION * ')' ACTION-LIST2 ::= '(' ACTION * ')' - -OPERAND ::= '=' '<' '>' - -VAL1 ::= [ INTEGER1 | SYMBOL1 ] - -VAL2 ::= [ INTEGER2 | SYMBOL2 ] @endverbatim ¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¡¢ @c CONDITION ¤¬¿¿¤Ç¤¢¤ì¤Ð @c ACTION-LIST1 ¤ò¼Â¹Ô¤·¡¢ @@ -355,6 +417,13 @@ VAL2 ::= [ INTEGER2 | SYMBOL2 ] @c SYMBOL1 ¤È @c SYMBOL2 ¤ÏÊÑ¿ô¤È¤·¤Æ°·¤ï¤ì¤ë¡£ +@verbatim +COND ::= '(' 'cond' [ '(' EXPRESSION ACTION * ') ] * ')' +@endverbatim + +¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏÂбþ¤¹¤ë @c EXPRESSION ¤¬ 0 ¤Ç¤Ê¤¤Ãͤò¤È¤ëºÇ½é¤Î¥¢¥¯¥·¥ç +¥ó @c ACTION ¤ò¼Â¹Ô¤¹¤ë¡£ + @ifnot FOR-MAN @section im-seealso SEE ALSO @@ -364,7 +433,7 @@ VAL2 ::= [ INTEGER2 | SYMBOL2 ] */ /* -Copyright (C) 2003, 2004 +Copyright (C) 2003, 2004, 2005 National Institute of Advanced Industrial Science and Technology (AIST) Registration Number H15PRO112 diff --git a/FORMATS/IM.txt b/FORMATS/IM.txt index 809c5ec..85d9d9c 100644 --- a/FORMATS/IM.txt +++ b/FORMATS/IM.txt @@ -18,8 +18,8 @@ methods. @section im-format SYNTAX and SEMANTICS -The following data format defines an input method. The driver loads -a definition from a file, a stream, etc. A definitions is converted +The following data format defines an input method. The driver loads a +definition from a file, a stream, etc. The definition is converted into the form of plist in the driver. @verbatim @@ -56,11 +56,11 @@ TITLE-TEXT ::= MTEXT @c IM-DECLARATION specifies the language and name of this input method. -@c DESCRIPTION specifies the description text of this input method by -MTEXT. +@c DESCRIPTION specifies @c MTEXT as the description text of this +input method. @c VARIABLE-DECLARATION declares a variable used in this input method. -If a variable must be initialized from the default value, or is to be +If a variable must be initialized to the default value, or is to be customized by a user, it must be declared here. @c COMMAND-DECLARATION declares a command used in this input method. @@ -148,16 +148,16 @@ BRANCH ::= '(' MAP-NAME BRANCH-ACTION * ')' | '(' t BRANCH-ACTION * ')' @endverbatim -In the first form of @c BRANCH, @c MAP-NAME must be an item that appears -in @c MAP. In this case, if a key sequence matching one of @c +In the first form of @c BRANCH, @c MAP-NAME must be an item that +appears in @c MAP. In this case, if a key sequence matching one of @c KEYSEQs of @c MAP-NAME is typed, @c BRANCH-ACTIONs are executed. In the second form of @c BRANCH, @c BRANCH-ACTIONs are executed if a key sequence that doesn't match any of @c Branch's of the current state is typed. -In the third form of @c BRANCH, @c BRANCH-ACTIONs are executed when we -shift to the current state. If the current state is the initial +In the third form of @c BRANCH, @c BRANCH-ACTIONs are executed when +shifted to the current state. If the current state is the initial state, @c BRANCH-ACTIONs are executed also when an input context of the input method is created. @@ -237,7 +237,7 @@ And, this also has a special meaning. Number of handled keys at that moment. - The arguments and the behavior of each action are listed below. @@ -333,7 +333,6 @@ MARK ::= '(' 'mark' SYMBOL ')' This action treats @c SYMBOL as a marker, and sets its position to the current position. @c SYMBOL must not be a @c PREDEFINED-SYMBOL. - @verbatim PUSHBACK :: = '(' 'pushback' INTEGER ')' | '(' 'pushback' KEYSEQ ')' @@ -343,7 +342,7 @@ The first form pushes back the latest @c INTEGER number of key events to the event queue if @c INTEGER is positive, and pushes back all key events if @c INTEGER is zero. -The second form pushes back keys in KEYSEQ to the event queue. +The second form pushes back keys in @c KEYSEQ to the event queue. @verbatim UNDO :: = '(' 'undo' [ INTEGER | SYMBOL ] ')' @@ -354,7 +353,7 @@ If there's no argument, this action cancels the last two key events If there's an integer argument NUM, it must be positive or negative (not zero). If positive, the NUMth event to the last one are -cancelled. If negative the last (- NUM) events are cancelled. +canceled. If negative the last (- NUM) events are canceled. If there's a symbol argument, it must be resolved to an integer number and the number is treated as the actual argument as above. @@ -444,7 +443,7 @@ true, and performs @c ACTION-LIST2 (if any) otherwise. COND ::= '(' 'cond' [ '(' EXPRESSION ACTION * ') ] * ')' @endverbatim -This action performs the first actions @c ACTION whose corresponding +This action performs the first action @c ACTION whose corresponding @c EXPRESSION has nonzero value. @ifnot FOR-MAN