From: nisikimi Date: Mon, 4 Aug 2008 07:08:15 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: REL-1-5-3~34 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=31bd0a13c184c1f28c9784d5e7efe9416ed8fea1;p=m17n%2Fm17n-db.git *** empty log message *** --- diff --git a/FORMATS/IM.ja.txt b/FORMATS/IM.ja.txt index 797e564..10a28a5 100644 --- a/FORMATS/IM.ja.txt +++ b/FORMATS/IM.ja.txt @@ -24,14 +24,12 @@ m17n @verbatim INPUT-METHOD ::= - IM-DECLARATION ? DESCRIPTION ? VARIABLE-LIST ? COMMAND-LIST ? - TITLE MAP-LIST MACRO-LIST ? MODULE-LIST ? STATE-LIST - -<<<<<<< IM.ja.txt -IM-DECLARATION ::= '(' 'input-method' LANGUAGE NAME [ VERSION ] ')' -======= -IM-DECLARATION ::= '(' 'input-method' LANGUAGE NAME [ '(version' VERSION ')'] ')' ->>>>>>> 1.13 + IM-DECLARATION ? DESCRIPTION ? TITLE ? + VARIABLE-LIST ? COMMAND-LIST ? MODULE-LIST ? + MACRO-LIST ? MAP-LIST ? STATE-LIST ? + +IM-DECLARATION ::= '(' 'input-method' LANGUAGE NAME EXTRA-ID ? VERSION ? ')' +VERSION ::= '(' 'version' VERSION-NUMBER ')' DESCRIPTION ::= '(' 'description' [ MTEXT-OR-GETTEXT | nil] ')' VARIABLE-LIST ::= '(' 'variable' VARIABLE-DECLARATION * ')' COMMAND-LIST ::= '(' 'command' COMMAND-DECLARATION * ')' @@ -48,11 +46,9 @@ MTEXT-OR-GETTEXT ::= LANGUAGE ::= SYMBOL NAME ::= SYMBOL -<<<<<<< IM.ja.txt -VERSION ::=MTEXT -======= +EXTRA-ID ::= SYMBOL VERSION ::= MTEXT ->>>>>>> 1.13 +IM-DESCRIPTION ::= MTEXT VAR-NAME ::= SYMBOL VAR-DESCRIPTION ::= MTEXT VALUE ::= MTEXT | SYMBOL | INTEGER @@ -66,34 +62,82 @@ TITLE-TEXT ::= MTEXT @c IM-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Î¸À¸ì¤È̾Á°¤ò»ØÄꤹ¤ë¡£ -<<<<<<< IM.ja.txt -@c VERSION ¤Ï ºÇÄãɬÍ×¤Ê m17n ¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò¼¨¤¹¡£¥Õ¥©¡¼ -¥Þ¥Ã¥È¤Ï "XX.YY.ZZ" ¤Ç¤¢¤ê¡¢XX ¤Ï¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥óÈֹ桢YY ¤Ï¥Þ¥¤¥Ê¡¼ -¥Ð¡¼¥¸¥ç¥óÈֹ桢ZZ ¤Ï¥Ñ¥Ã¥Á¥ì¥Ù¥ë¤Ç¤¢¤ë¡£ +@c LANGUAGE ¤¬ @c t ¤Î¾ì¹ç¡¢¤³¤ÎÆþÎϥ᥽¥Ã¥É¤ÏÊ£¿ô¤Î¸À¸ì¤ÇÍøÍѤµ¤ì¤ë¡£ + +@c NAME ¤¬ @c nil ¤Î¾ì¹ç¡¢¤³¤ÎÆþÎϥ᥽¥Ã¥É¤ÏñÆȤÇÍѤ¤¤é¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê +¤¯¡¢Â¾¤ÎÆþÎϥ᥽¥Ã¥É¤«¤éÍøÍѤ¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥á +¥½¥Ã¥É¤òÆÃÄꤹ¤ë¤¿¤á¤Ë @c EXTRA-ID ¤¬É¬ÍפǤ¢¤ë¡£ -======= @c VERSION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤¬É¬ÍפȤ¹¤ë m17n ¥é¥¤¥Ö¥é¥ê¤ÎºÇ¾®¥Ð¡¼¥¸¥ç ¥ó¤ò»ØÄꤹ¤ë¡£¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï "XX.YY.ZZ" ¤Ç¤¢¤ê¡¢XX ¤Ï¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç ¥ó¡¢ YY ¤Ï¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¡¢ZZ ¤Ï¥Ñ¥Ã¥Á¥ì¥Ù¥ë¤òɽ¤¹¡£ ->>>>>>> 1.13 @c DESCRIPTION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤ÎÀâÌÀ¤ò @c MTEXT-OR-GETTEXT ¤Ç»ØÄꤹ ¤ë¡£¤â¤·¤³¤ì¤¬£²ÈÖÌܤηÁ¼°¤ò¼è¤Ã¤Æ¤¤¤ì¤Ð¡¢ @c MTEXT ¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Ë ½¾¤Ã¤Æ "gettext" ¤Ë¤è¤Ã¤ÆËÝÌõ¤µ¤ì¤ë¡ÊËÝÌõʸ¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡Ë¡£ +@c TITLE-TEXT ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤¬Í­¸ú¤Ê»þ¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤ë¥Æ +¥­¥¹¥È¤Ç¤¢¤ë¡£ + +"global.mim" ¤È¤¤¤¦ÆÃÊ̤ʥե¡¥¤¥ë¤¬¤¢¤ê¡¢¶¦Ä̤¹¤ëÊÑ¿ô¤ä¥³¥Þ¥ó¥É¤¬ÄêµÁ¤µ +¤ì¤Æ¤¤¤ë¡£ÆþÎϥ᥽¥Ã¥É¥É¥é¥¤¥Ð¤ÏËè²ó¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¡¢Â¾¤ÎÆþÎÏ¥á +¥½¥Ã¥É¤Ï¤³¤³¤ÇÄêµÁ¤µ¤ì¤¿ÊÑ¿ô¤ä¥³¥Þ¥ó¥É¤ò·Ñ¾µ¤Ç¤­¤ë¡£ + @c VARIABLE-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÊÑ¿ô¤òÀë¸À¤¹¤ë¡£ ÊÑ¿ô¤ò¥Ç¥Õ¥©¥ë¥ÈÃͤ˽é´ü²½¤·¤¿¤ê¡¢¥æ¡¼¥¶¤¬¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤ê¤¹¤ë¾ì¹ç¤Ë -¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤ÎÀë¸À¤ÏÆóÄ̤ê¤ËÍøÍѤµ¤ì¤ë¡£°ì¤Ä +¤á¤Ï¿·¤·¤¤ÊÑ¿ô¤òƳÆþ¤¹¤ë¤¿¤á¤Ç¤¢¤ê¡¢¤³¤Î¾ì¹ç @c VALUE ¤Ï¾Êά¤Ç¤­¤Ê¤¤¡£ +¤â¤¦°ì¤Ä¤Ï "global.mim" ¤ÇÀë¸À¤µ¤ì¤¿ÊÑ¿ô¤ò·Ñ¾µ¤·¡¢°ã¤Ã¤¿¥Ç¥Õ¥©¥ë¥ÈÃͤò +»ØÄꤷ¤¿¤ê¡¢¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤ˥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£ +¤³¤Î¾ì¹ç¤Ë¤Ï @c VALUE ¤Ï¾Êά¤Ç¤­¤ë¡£ @c COMMAND-DECLARATION ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ë¥³¥Þ¥ó¥É¤òÀë¸À¤¹¤ë¡£ ¥³¥Þ¥ó¥É¤ò¥Ç¥Õ¥©¥ë¥È¥­¡¼¥·¡¼¥±¥ó¥¹¤Ë³ä¤êÅö¤Æ¤¿¤ê¡¢¥æ¡¼¥¶¤¬¥«¥¹¥¿¥Þ¥¤¥º -¤·¤¿¤ê¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤·¤¿¤ê¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤³¤ÇÀë¸À¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£@c +VARIABLE-DECLARATION ƱÍÍ¡¢¤³¤ÎÀë¸À¤ÏÆóÄ̤ê¤ËÍøÍѤµ¤ì¤ë¡£°ì¤Ä¤á¤Ï¿·¤·¤¤ +¥³¥Þ¥ó¥É¤òƳÆþ¤¹¤ë¤¿¤á¤Ç¤¢¤ê¡¢¤³¤Î¾ì¹ç @c KEYSEQ ¤Ï¾Êά¤Ç¤­¤Ê¤¤¡£¤â¤¦°ì +¤Ä¤Ï "global.mim" ¤ÇÀë¸À¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ò·Ñ¾µ¤·¡¢°ã¤Ã¤¿¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó +¥°¤ò»ØÄꤷ¤¿¤ê¡¢¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤ˥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ç +¤¢¤ë¡£¤³¤Î¾ì¹ç¤Ë¤Ï @c KEYSEQ ¤Ï¾Êά¤Ç¤­¤ë¡£ -@c TITLE-TEXT ¤Ï¤³¤ÎÆþÎϥ᥽¥Ã¥É¤¬Í­¸ú¤Ê»þ¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤ë¥Æ -¥­¥¹¥È¤Ç¤¢¤ë¡£ +@verbatim +MODULE-LIST ::= '(' 'module' MODULE * ')' + +MODULE ::= '(' MODULE-NAME FUNCTION * ')' + +MODULE-NAME ::= SYMBOL + +FUNCTION ::= SYMBOL +@endverbatim + +³Æ @c MODULE ¤Ï³°Éô¥â¥¸¥å¡¼¥ë (ưŪ¥é¥¤¥Ö¥é¥ê) ¤Î̾Á°¤È¤½¤Î¥â¥¸¥å¡¼¥ë¤¬ +¸ø³«¤·¤Æ¤¤¤ë´Ø¿ô̾¤òÀë¸À¤¹¤ë¡£@c FUNCTION ¤¬ "init" ¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ì¤Ð¡¢ +¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬À¸À®¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô +(@c CALL ¤ÎÀỲ¾È) ¤Î¤ß¤È¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @c FUNCTION ¤¬ "fini" ¤È¤¤¤¦ +̾Á°¤ò»ý¤Æ¤Ð, ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬Ç˲õ¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô¤Î¤ß¤È +¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ -@verbatim -MAP-LIST ::= '(' 'map' MAP * ')' +@verbatim +MACRO-LIST ::= MACRO-INCLUSION ? '(' 'macro' MACRO * ')' MACRO-INCLUSION ? + +MACRO ::= '(' MACRO-NAME MACRO-ACTION * ')' + +MACRO-NAME ::= SYMBOL + +MACRO-ACTION ::= ACTION + +TAGS ::= `(` LANGUAGE NAME EXTRA-ID ? `)` + +MACRO-INCLUSION ::= '(' 'include' TAGS 'macro' MACRO-NAME ? ')' + +@endverbatim + +@c MACRO-INCLUSION ¤Ï¡¢@c TAGS ¤Ç»ØÄꤵ¤ì¤ë¾¤ÎÆþÎϥ᥽¥Ã¥É¤«¤é@c +MACRO-NAME ¤Ç»ØÄꤵ¤ì¤¿¥Þ¥¯¥í¤òÆɤ߹þ¤à¡£@c MACRO-NAME ¤¬Í¿¤¨¤é¤ì¤Ê¤¤¾ì +¹ç¤Ï¡¢¤½¤ÎÆþÎϥ᥽¥Ã¥É¤Î¤¹¤Ù¤Æ¤Î¥Þ¥¯¥í¤òÆɤ߹þ¤à¡£ + +@verbatim +MAP-LIST ::= MAP-INCLUSION ? '(' 'map' MAP * ')' MAP-INCLUSION ? MAP ::= '(' MAP-NAME RULE * ')' @@ -102,8 +146,14 @@ MAP-NAME ::= SYMBOL RULE ::= '(' KEYSEQ MAP-ACTION * ')' KEYSEQ ::= MTEXT | '(' [ SYMBOL | INTEGER ] * ')' + +MAP-INCLUSION ::= '(' 'include' TAGS 'map' MAP-NAME ? ')' + @endverbatim +ÆþÎϥ᥽¥Ã¥É¤¬¤½¤ìñÂΤÇÍøÍѤµ¤ì¤ë¤³¤È¤¬¤Ê¤¯¾ï¤Ë¾¤ÎÆþÎϥ᥽¥Ã¥É¤ËÆÉ +¤ß¹þ¤Þ¤ì¤ÆÍѤ¤¤é¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢@c MAP-LIST ¤Ï¾Êά¤Ç¤­¤ë¡£ + @c MAP-NAME ÄêµÁÃæ¤Î @c SYMBOL ¤Ï¡¢ @c t ¤¢¤ë¤¤¤Ï @c nil ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê ¤é¤Ê¤¤¡£ @@ -125,12 +175,18 @@ MTEXT @c KEYSEQ ÄêµÁÃæ¤Î @c INTEGER ¤Ï¡¢Í­¸ú¤Êʸ»ú¥³¡¼¥É¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +@c MAP-INCLUSION ¤Ï¡¢@c TAGS ¤Ç»ØÄꤵ¤ì¤ë¾¤ÎÆþÎϥ᥽¥Ã¥É¤«¤é@c +MAP-NAME ¤Ç»ØÄꤵ¤ì¤¿¥Þ¥Ã¥×¤òÆɤ߹þ¤à¡£@c MAP-NAME ¤¬Í¿¤¨¤é¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢ +¤½¤ÎÆþÎϥ᥽¥Ã¥É¤Î¤¹¤Ù¤Æ¤Î¥Þ¥Ã¥×¤òÆɤ߹þ¤à¡£ + @verbatim MAP-ACTION ::= ACTION ACTION ::= INSERT | DELETE | SELECT | MOVE | MARK - | SHOW | HIDE | PUSHBACK | POP | UNDO | UNHANDLE | SHIFT | CALL + | SHOW | HIDE | PUSHBACK | POP | UNDO + | COMMIT | UNHANDLE | SHIFT | CALL | SET | IF | COND | '(' MACRO-NAME ')' + PREDEFINED-SYMBOL ::= '@0' | '@1' | '@2' | '@3' | '@4' | '@5' | '@6' | '@7' | '@8' | '@9' @@ -138,34 +194,9 @@ PREDEFINED-SYMBOL ::= | '@@' | '@-0' | '@-N' | '@+N' @endverbatim -@verbatim -MACRO-LIST ::= '(' 'macro' MACRO * ')' - -MACRO ::= '(' MACRO-NAME MACRO-ACTION * ')' - -MACRO-NAME ::= SYMBOL - -MACRO-ACTION ::= ACTION -@endverbatim -@verbatim -MODULE-LIST ::= '(' 'module' MODULE * ')' - -MODULE ::= '(' MODULE-NAME FUNCTION * ')' - -MODULE-NAME ::= SYMBOL - -FUNCTION ::= SYMBOL -@endverbatim - -³Æ @c MODULE ¤Ï³°Éô¥â¥¸¥å¡¼¥ë (ưŪ¥é¥¤¥Ö¥é¥ê) ¤Î̾Á°¤È¤½¤Î¥â¥¸¥å¡¼¥ë¤¬ -¸ø³«¤·¤Æ¤¤¤ë´Ø¿ô̾¤òÀë¸À¤¹¤ë¡£@c FUNCTION ¤¬ "init" ¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤ì¤Ð¡¢ -¤³¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬À¸À®¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô -(@c CALL ¤ÎÀỲ¾È) ¤Î¤ß¤È¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @c FUNCTION ¤¬ "fini" ¤È¤¤¤¦ -̾Á°¤ò»ý¤Æ¤Ð, ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬Ç˲õ¤µ¤ì¤ëºÝ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô¤Î¤ß¤È -¤È¤â¤Ë¸Æ¤Ð¤ì¤ë¡£ @verbatim -STATE-LIST ::= '(' 'state' STATE * ')' +STATE-LIST ::= STATE-INCUSION ? '(' 'state' STATE * ')' STATE-INCUSION ? STATE ::= '(' STATE-NAME [ STATE-TITLE-TEXT ] BRANCH * ')' @@ -176,9 +207,18 @@ STATE-TITLE-TEXT ::= MTEXT BRANCH ::= '(' MAP-NAME BRANCH-ACTION * ')' | '(' nil BRANCH-ACTION * ')' | '(' t BRANCH-ACTION * ')' + +STATE-INCLUSION ::= '(' 'include' TAGS 'state' STATE-NAME ? ')' @endverbatim -@c STATE-TITLE-TEXT ¤Ï¡¢¤â¤·»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤¬¤³¤Î +ÆþÎϥ᥽¥Ã¥É¤¬¤½¤ìñÂΤÇÍøÍѤµ¤ì¤ë¤³¤È¤¬¤Ê¤¯¾ï¤Ë¾¤ÎÆþÎϥ᥽¥Ã¥É¤ËÆÉ +¤ß¹þ¤Þ¤ì¤ÆÍѤ¤¤é¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢@c STATE-LIST ¤Ï¾Êά¤Ç¤­¤ë¡£ + +@c STATE-INCLUSION ¤Ï¡¢@c TAGS ¤Ç»ØÄꤵ¤ì¤ë¾¤ÎÆþÎϥ᥽¥Ã¥É¤«¤é@c +STATE-NAME ¤Ç»ØÄꤵ¤ì¤¿¥¹¥Æ¡¼¥È¤òÆɤ߹þ¤à¡£@c STATE-NAME ¤¬Í¿¤¨¤é¤ì¤Ê¤¤ +¾ì¹ç¤Ï¡¢¤½¤ÎÆþÎϥ᥽¥Ã¥É¤Î¤¹¤Ù¤Æ¤Î¥¹¥Æ¡¼¥È¤òÆɤ߹þ¤à¡£ + +@c STATE-TITLE-TEXT ¤Ï¡¢¤â¤·»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢ÆþÎϥ᥽¥Ã¥É¤¬¤³¤Î ¾õÂ֤ˤ¢¤ë»þ¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤ë¥Æ¥­¥¹¥È¤Ç¤¢¤ë¡£¾Êά¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï @c TITLE-TEXT ¤¬ÍѤ¤¤é¤ì¤ë¡£ @@ -189,6 +229,9 @@ BRANCH ::= '(' MAP-NAME BRANCH-ACTION * ')' @c BRANCH ¤ÎÂèÆó¤Î·Á¼°¤Ç¤Ï¡¢¤½¤Î»þÅÀ¤Î¾õÂ֤Τ¤¤º¤ì¤Î @c BRANCH ¤Ë¤â¹çÃ× ¤·¤Ê¤¤¥­¡¼Î󤬥¿¥¤¥×¤µ¤ì¤ì¤Ð¡¢@c BRANCH-ACTION¤¬¼Â¹Ô¤µ¤ì¤ë¡£ +@c nil ¤Ç»Ï¤Þ¤ë @c BRANCH ¤¬¤Ê¤¯¡¢ÆþÎϤµ¤ì¤¿¥­¡¼Î󤬤½¤Î»þÅÀ¤Ç¤Î¤¤¤º¤ì¤Î +@c BRANCH ¤Ë¤â¹çÃפ·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ÆþÎϥ᥽¥Ã¥É¤Ï½é´ü¾õÂÖ¤ËÁ«°Ü¤¹¤ë¡£ + @c BRANCH ¤ÎÂè»°¤Î·Á¼°¤Ç¤Ï¡¢¤½¤Î¾õÂ֤˰ÜÆ°¤·¤¿»þÅÀ¤Ç @c BRANCH-ACTION ¤¬¼Â¹Ô¤µ¤ì¤ë¡£¤â¤·½é´ü¾õÂ֤Ǥ¢¤ì¤Ð¡¢ÆþÎϥ᥽¥Ã¥É¤ÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤òÀ¸ À®¤·¤¿»þÅÀ¤Ç @c BRANCH-ACTION ¤ò¼Â¹Ô¤¹¤ë¡£ @@ -338,6 +381,7 @@ DELETE ::= '(' 'delete' SYMBOL ')' @verbatim SELECT ::= '(' 'select' PREDEFINED-SYMBOL ')' | '(' 'select' INTEGER ')' + | '(' 'select' SYMBOL ')' @endverbatim ¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¤Þ¤º¡¢¸½ºß¤Î°ÌÃ֤ξÁ°¤Îʸ»ú¤¬¡¢¸õÊä¥ê¥¹¥È¤¬Éղ䵤ì¤Æ @@ -350,6 +394,9 @@ SELECT ::= '(' 'select' PREDEFINED-SYMBOL ')' ÂèÆó¤Î·Á¼°¤Ç¤Ï @c INTEGER ¤Ï¸õÊ䥤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ê¡¢¸õÊä¥ê¥¹¥ÈÃæ¤Î¿·¤· ¤¤¸õÊä¤ò»ØÄꤹ¤ë¡£ +Âè»°¤Î·Á¼°¤Ç¤Ï @c SYMBOL ¤ÏÀ°¿ô¤ÎÃͤò»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤ÎÃͤ¬¸õÊ䥤 +¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤ë¡£ + @verbatim SHOW ::= '(show)' @endverbatim @@ -413,6 +460,12 @@ UNDO :: = '(' 'undo' [ INTEGER | SYMBOL ] ')' ¾åµ­¤ÎÀµ¿ôÃÍ°ú¿ô¤Î¾ì¹ç¤ÈƱÍͤ˼è¤ê°·¤ï¤ì¤ë¡£ @verbatim +COMMIT :: = '(commit)' +@endverbatim + +¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¸½ºß¤Î preediting ¥Æ¥­¥¹¥È¤ò¥³¥ß¥Ã¥È¤¹¤ë¡£ + +@verbatim UNHANDLE :: = '(unhandle)' @endverbatim @@ -423,8 +476,10 @@ UNHANDLE :: = '(unhandle)' SHIFT :: = '(' 'shift' STATE-NAME ')' @endverbatim -¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¸½ºß¤Î¾õÂÖ¤ò @c STATE-NAME ¤Ë°ÜÆ°¤µ¤»¤ë¡£ @c -STATE-NAME ¤Ï @c STATE-LIST ¤Ë¸½¤ï¤ì¤ë¤â¤Î¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +@c STATE-NAME ¤¬ @c t ¤Ê¤é¤Ð¡¢¤³¤Î¥¢¥¯¥·¥ç¥ó¤Ï¸½ºß¤Î¾õÂÖ¤ò°ì¤ÄÁ°¤Î¾õÂÖ +¤ËÁ«°Ü¤µ¤»¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @c STATE-NAME ¤Çɽ¤µ¤ì¤ë¾õÂÖ¤ËÁ«°Ü¤µ¤»¤ë¡£ +¸å¼Ô¤Î¾ì¹ç¤Ë¤Ï¡¢@c STATE-NAME ¤Ï @c STATE-LIST ¤Ë¸½¤ï¤ì¤ë¤â¤Î¤Ç¤Ê¤¯¤Æ¤Ï +¤Ê¤é¤Ê¤¤¡£ @verbatim CALL ::= '(' 'call' MODULE-NAME FUNCTION ARG * ')' diff --git a/FORMATS/IM.txt b/FORMATS/IM.txt index 234498e..9279f6e 100644 --- a/FORMATS/IM.txt +++ b/FORMATS/IM.txt @@ -61,47 +61,51 @@ TITLE-TEXT ::= MTEXT @endverbatim @c IM-DECLARATION specifies the language and name of this input -method. +method. When @c LANGUAGE is @c t, the use of the input method is not limited to one language. When @c NAME is @c nil, the input method is not standalone, but is expected to be used in other input methods. In such cases, -@EXTRA-ID is required to identify the input method. +@c EXTRA-ID is required to identify the input method. @c VERSION specifies the required minimum version number of the m17n library. The format is "XX.YY.ZZ" where XX is a major version number, YY is a minor version number, and ZZ is a patch level. @c DESCRIPTION specifies the description text of this input method by -MTEXT-OR-GETTEXT. It it takes the second form, the text is translated +@c MTEXT-OR-GETTEXT. It it takes the second form, the text is translated according to the current locale by "gettext" (if the translation is provided). @c TITLE-TEXT is a text displayed on the screen when this input method is active. +There is one special input method file "global.mim" that declares +common variables and commands. The input method driver always loads +this file and other input methods can inherit the variables and the +commands. + @c VARIABLE-DECLARATION declares a variable used in this input method. If a variable must be initialized to the default value, or is to be customized by a user, it must be declared here. The declaration can be used in two ways. One is to introduce a new variable. In that -case, VALUE must not be omitted. Another is to inherit the variable -from what declared in the special MIM file "global.mim", and to give -the different default value and/or to make the variable customizable -specially for the current input method. In the latter case, VALUE can -be omitted. - +case, @c VALUE must not be omitted. Another is to inherit the variable +from what declared in "global.mim", and to give the different default +value and/or to make the variable customizable specially for the +current input method. In the latter case, @c VALUE can be omitted. @c COMMAND-DECLARATION declares a command used in this input method. If a command must be bound to the default key sequence, or is to be -customized by a user, it must be declared here. As well as +customized by a user, it must be declared here. Like @c VARIABLE-DECLARATION, the declaration can be used in two ways. One is -to introduce a new command. In that case, KEYSEQ must not be omitted. -Another is to inherit the command from what declared in the special -MIM file "global.mim", and to give the different key binding and/or to -make the command customizable specially for the current input method. -In the latter case, KEYSEQ can be omitted. +to introduce a new command. In that case, @c KEYSEQ must not be omitted. +Another is to inherit the command from what declared in "global.mim", +and to give the different key binding and/or to make the command +customizable specially for the current input method. In the latter +case, @c KEYSEQ can be omitted. + @verbatim MODULE-LIST ::= '(' 'module' MODULE * ')' @@ -135,8 +139,9 @@ MACRO-INCLUSION ::= '(' 'include' TAGS 'macro' MACRO-NAME ? ')' @endverbatim -@c MACRO-INCLUSION includes macros from another input method specified by @c TAGS. -When @c MACRO-NAME is not given, all macros from the input method are included. +@c MACRO-INCLUSION includes macros specified by @c MACRO-NAME, from +another input method specified by @c TAGS. When @c MACRO-NAME is not +given, all macros from the input method are included. @verbatim MAP-LIST ::= MAP-INCLUSION ? '(' 'map' MAP * ')' MAP-INCLUSION ? @@ -153,8 +158,8 @@ MAP-INCLUSION ::= '(' 'include' TAGS 'map' MAP-NAME ? ')' @endverbatim -When an input system is never standalone and always included in -another system, @c MAP-LIST can be omitted. +When an input method is never standalone and always included in +another method, @c MAP-LIST can be omitted. @c SYMBOL in the definitions of @c MAP-NAME must not be @c t nor @c nil. @@ -180,8 +185,9 @@ with shift with meta with hyper" is @c (M-H-A) . @c INTEGER in the definition of @c KEYSEQ must be a valid character code. -@c MAP-INCLUSION includes maps from another input method specified by @c TAGS. -When @c MAP-NAME is not given, all maps from the input method are included. +@c MAP-INCLUSION includes maps specified by @c MAP-NAME, from another +input method specified by @c TAGS. When @c MAP-NAME is not given, all +maps from the input method are included. @verbatim MAP-ACTION ::= ACTION @@ -219,8 +225,9 @@ STATE-INCLUSION ::= '(' 'include' TAGS 'state' STATE-NAME ? ')' When an input system is never standalone and always included in another system, @c STATE-LIST can be omitted. -@c STATE-INCLUSION includes states from another input method specified by @c TAGS. -When @c STATE-NAME is not given, all states from the input method are included. +@c STATE-INCLUSION includes states specified by @c STATE-NAME, from +another input method specified by @c TAGS. When @c STATE-NAME is not +given, all states from the input method are included. The optional @c STATE-TITLE-TEXT specifies a title text displayed on the screen when the input method is in this state. If @c @@ -490,8 +497,8 @@ unhandled. SHIFT :: = '(' 'shift' STATE-NAME ')' @endverbatim -This action shifts the current state to @c STATE-NAME if @c is not @c -t, and to the previous state if @c STATE-NAME is @c t. In the former +If @c STATE-NAME is @c t, this action shifts the current state to the +previous one, otherwise it shifts to @c STATE-NAME. In the latter case, @c STATE-NAME must appear in @c STATE-LIST. @verbatim