*** empty log message ***
authornisikimi <nisikimi>
Tue, 20 Dec 2005 08:40:43 +0000 (08:40 +0000)
committernisikimi <nisikimi>
Tue, 20 Dec 2005 08:40:43 +0000 (08:40 +0000)
FORMATS/IM.ja.txt
FORMATS/IM.txt

index c68b7a8..32b11bf 100644 (file)
@@ -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
 
-ÆþÎϥ᥽¥Ã¥É¤Ï¼¡¤ÎÆó¤Ä¤Î¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤ò»ý¤Ä¡£
+ÆþÎϥ᥽¥Ã¥É¤Ï¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤òÆó¤Ä»ý¤Ä¡£
 
 <ul>
 <li> ¥Þ¡¼¥«¥ê¥¹¥È
 
 ¥Þ¡¼¥«¤Ï preediting ¥Æ¥­¥¹¥ÈÃæ¤Ç¤Îʸ»ú°ÌÃÖ¤ò¼¨¤¹¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£@c
-MARK ¥¢¥¯¥·¥ç¥ó¤Ï¥Þ¡¼¥«¤ò¤¢¤ë°ÌÃÖ¤ËÀßÄꤹ¤ë¡£@c MOVE ¤È @c DELETE ¥¢¥¯
-¥·¥ç¥ó¤Ï¥Þ¡¼¥«¤Î°ÌÃÖ¤ò»²¾È¤¹¤ë¡£
+MARK ¥¢¥¯¥·¥ç¥ó¤Ï¥Þ¡¼¥«¤òÆÃÄê¤Î°ÌÃÖ¤ËÀßÄꤹ¤ë¡£@c MOVE ¤È @c DELETE ¥¢
+¥¯¥·¥ç¥ó¤Ï¥Þ¡¼¥«¤Î°ÌÃÖ¤ò»²¾È¤¹¤ë¡£
 
 <li> ÊÑ¿ô¥ê¥¹¥È
 
-ÊÑ¿ô¤ÏÀ°¿ô¤ÎÃͤò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£ÃͤÏ@c SET ¥¢¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀßÄê
-¤µ¤ì¡¢@c SET, @c INSERT, @c IF ¤Ë»²¾È¤µ¤ì¤ë¡£¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤Î½é´üÃͤϠ0 
-¤Ç¤¢¤ë¡£
+ÊÑ¿ô¤ÏÀ°¿ô¤ÎÃͤò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£ÃͤÏ@c SET ¥¢¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀßÄꤵ
+¤ì¡¢@c SET, @c INSERT, @c IF ¤Ë»²¾È¤µ¤ì¤ë¡£¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤Î½é´üÃͤϡʰÅÌÛ
+¤Ë¡Ë 0 ¤Ç¤¢¤ë¡£
 
 </ul>
 
-@c PREDEFINED-SYMBOL ¤Ï¥Þ¡¼¥«¤È¤·¤ÆÍѤ¤¤é¤ì¤¿¾ì¹çÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£
+³Æ @c PREDEFINED-SYMBOL ¤Ï¥Þ¡¼¥«¤È¤·¤ÆÍѤ¤¤é¤ì¤¿¾ì¹çÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£
 
 <ul>
 <li> @c @@0, @c @@1, @c @@2, @c @@3, @c @@4, @c @@5, @c @@6, @c @@7, @c @@8, @c @@9
 
-¤½¤ì¤¾¤ì£°ÈÖÌܤ«¤é£¹ÈÖÌܤΰÌÃÖ
+¤½¤ì¤¾¤ì 0 ÈÖÌܤ«¤é 9 ÈÖÌܤΰÌÃÖ
 
 <li> @c @@<, @c @@=, @c @@>
 
@@ -157,8 +195,8 @@ MARK 
 ¸õÊä¥ê¥¹¥È¤¬ÊѲ½¤¹¤ëºÝ¤ÎÁ°¤È¼¡¤Î°ÌÃÖ
 </ul>
 
-@c PREDEFINED-SYMBOL ¤Ï @c SELECT ¥¢¥¯¥·¥ç¥óÃæ¤Ç¸õÊä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·
-¤ÆÍѤ¤¤é¤ì¤¿ºÝÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£
+@c PREDEFINED-SYMBOL ¤Î¤¤¤¯¤Ä¤«¤Ï¡¢ @c SELECT ¥¢¥¯¥·¥ç¥óÃæ¤Ç¸õÊä¤Î¥¤¥ó
+¥Ç¥Ã¥¯¥¹¤È¤·¤ÆÍѤ¤¤é¤ì¤¿ºÝÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£
 
 <ul>
 <li> @c @@<, @c @@=, @c @@>
@@ -181,6 +219,15 @@ MARK 
 ¤â¤Î¡£
 </ul>
 
+¤Þ¤¿¡¢¤³¤ì¤âÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£
+
+<ul>
+<li> @c @@@
+
+¤½¤Î»þÅÀ¤Ç½èÍý¤µ¤ì¤Æ¤¤¤ë¥­¡¼¤Î¿ô¡£
+
+</ul>
+
 ³Æ¥¢¥¯¥·¥ç¥ó¤Î°ú¿ô¤È¿¶Éñ¤¤¤Ï°Ê²¼¤ÎÄ̤ꡣ
 
 @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
 
index 809c5ec..85d9d9c 100644 (file)
@@ -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.
 
-</ulL
+</ul>
 
 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