INPUT-METHOD =
''
TAGS
DESCRIPTION ?
TITLE ?
VARLIST ?
CMDLIST ?
MODULELIST ?
MACROLIST ?
MAPLIST ?
STATELIST ?
''
VARLIST = '' DEFVAR * ''
CMDLIST = '' COMMAND * ''
MODULELIST = '' MODULE * ''
MACROLIST = '' DEFUN * ''
MAPLIST = '' MAP * ''
STATELIST = '' STATE * ''
MODULE = '' DEFUN-NAME + ''
DEFUN-NAME = ''
COMMAND
= ''
DESCRIPTION ?
KEYSEQ *
''
MAP = ''
RULE = '' [ KEYSEQ | CMDREF ] FUNCALL * ''
CMDREF = ''
STATE = '' BRANCH * ''
BRANCH = ...
TERM += MIM-TERM
PREDEFINED += MIM-PREDEFEIND
MIM-TERM = KEYSEQ | MARKER
KEYSEQ = '' [ INTTERM | STRTERM | SYMTERM ] + ''
KEYSEQTERM = KEYSEQ | VAR (value is KEYSEQ) | FUNCALL (return KEYSEQ)
MARKER = '' SYMTERM ''
MARKERTERM = MARKER | VAR (value is MARKER) | FUNCALL (return MARKER)
SELECTOR = '' SYMTERM ''
SELECTORTERM = SELECTOR | VAR (value is SELECTOR) | FUNCALL (return SELECTOR)
MIM-PREDEFINED
= INSERT | CANDIDATES | DELETE | SELECT | SHOW | HIDE
| MARK | MOVE | PUSHBACK | POP | UNDO | COMMIT | UNHANDLE
| SHIFT | SHIFTBACK
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 = ''