X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=input.txt;h=538f1a2b1d5921654832d4a6d7dc4c97eee86aa5;hb=2ba661fb4666fcecdf8e3c64dd5fd20f0718097f;hp=0e626ceb4ba1add7bedb393bfd5e0f3674476360;hpb=8e50033918bee037d940226406c87b9bc97779da;p=m17n%2Fm17n-lib-cs.git
diff --git a/input.txt b/input.txt
index 0e626ce..538f1a2 100644
--- a/input.txt
+++ b/input.txt
@@ -11,39 +11,83 @@ INPUT-METHOD =
STATELIST ?
''
-VARLIST = '' DEFVAR * ''
-CMDLIST = '' COMMAND * ''
-MODULELIST = '' MODULE * ''
-MACROLIST = '' DEFUN * ''
-MAPLIST = '' MAP * ''
-STATELIST = '' STATE * ''
+TAGS = '' LANG NAME EXTRA ? ''
-MODULE = '' DEFUN-NAME + ''
-DEFUN-NAME = ''
+LANG = '' LANGNAME ''
+NAME = '' NAME ''
+EXTRA = '' EXTRANAME ''
-MAP = ''
+VARLIST = '' DEFVAR + ''
+CMDLIST = '' COMMAND + ''
+MODULELIST = '' MODULE + ''
+MACROLIST = '' DEFUN + ''
+MAPLIST = '' MAP + ''
+STATELIST = '' STATE + ''
-RULE = '' [ KEYSEQ | COMMAND-REF ] FUNCALL * ''
+MODULE = '' DEFUN-NAME + ''
+DEFUN-NAME = ''
-STATE = '' BRANCH * ''
+COMMAND
+ = ''
+ DESCRIPTION ?
+ KEYSEQ *
+ ''
-BRANCH = ...
+MAP = ''
+
+RULE = '' [ KEYSEQ | CMDREF ] FUNCALL * ''
+
+CMDREF = ''
+
+STATE = ''
+ TITLE ?
+ [ HOOK BRANCH CATCHALL ] *
+ ''
+
+HOOK = '' FUNCALL + ''
+
+BRANCH = '' FUNCALL * ''
+
+CATCHALL = '' FUNCALL * ''
TERM += MIM-TERM
PREDEFINED += MIM-PREDEFEIND
-MIM-TERM = KEYSEQ MARKER
+MIM-TERM = KEYSEQ | MARKER | SELECTOR
-KEYSEQ = '' [ INTTERM | STRTERM | SYMTERM ] + ''
+KEYSEQ = '' [ STRTERM | LISTTERM ] ''
KEYSEQTERM = KEYSEQ | VAR (value is KEYSEQ) | FUNCALL (return KEYSEQ)
-MARKER = '' SYMTERM ''
+MARKER = '' STRING ''
MARKERTERM = MARKER | VAR (value is MARKER) | FUNCALL (return MARKER)
+SELECTOR = '' "@..." ''
+SELECTORTERM = SELECTOR | VAR (value is SELECTOR) | FUNCALL (return SELECTOR)
-MIM-PREDEFINED = MARK MOVE PUSHBACK ...
+MIM-PREDEFINED
+ = INSERT | CANDIDATES | DELETE | SELECT | SHOW | HIDE
+ | MARK | MOVE | PUSHBACK | POP | UNDO | COMMIT | UNHANDLE
+ | SHIFT | SHIFTBACK | CHAR-AT | KEY-COUNT | SURROUNDING-TEXT-FLAG
+INSERT = '' [ INTTERM | STRTERM ] ''
+CANDIDATES = '' [ STRTERM | LISTTERM ]+ ''
+DELETE = '' [ MARKERTERM | INTTERM ] ''
+SELECT = ''
+SHOW = ''
+HIDE = ''
MOVE = '' [ MARKERTERM | INTTERM ] ''
MARK = '' MARKERTERM ''
PUSHBACK = '' [ KEYSEQTERM | INTTERM ] ''
-...
+POP = ''
+UNDO = '' INTTERM ? ''
+COMMIT = ''
+UNHANDLE = ''
+SHIFT = '' SYMTERM ''
+SHIFTBACK = ''
+CHAR-AT = '' MARKERTERM ''
+ => C, where C is the character in the preedit text
+ at the postion of MARKERTERM
+KEY-COUNT = ''
+ => N, where N is the number of currently handled keys
+SURROUNDING-TEXT-FLAG = ''
+ => 1 or 0