*** empty log message ***
[m17n/m17n-lib-cs.git] / input.txt
1 INPUT-METHOD =
2   '<input-method>'
3   TAGS
4   DESCRIPTION ?
5   TITLE ?
6   VARLIST ?
7   CMDLIST ?
8   MODULELIST ?
9   MACROLIST ?
10   MAPLIST ?
11   STATELIST ?
12   '</input-method>'
13
14 VARLIST = '<variable-list>' DEFVAR + '</variable-list>'
15 CMDLIST = '<command-list>' COMMAND + '</command-list>'
16 MODULELIST = '<module-list>' MODULE + '</module-list>'
17 MACROLIST = '<macro-list>' DEFUN + '</macro-list>'
18 MAPLIST = '<map-list>' MAP + '</map-list>'
19 STATELIST = '<state-list>' STATE + '</state-list>'
20
21 MODULE = '<module>' DEFUN-NAME + '</module>'
22 DEFUN-NAME = '<defun fname="' FNAME '"/>'
23
24 COMMAND
25   = '<defcmd cname="' COMMANDNAME '">'
26     DESCRIPTION ?
27     KEYSEQ *
28     '</defcmd>'
29
30 MAP = '<map mname="' MAPNAME '">' RULE * '</map>'
31
32 RULE = '<rule>' [ KEYSEQ | CMDREF ] FUNCALL * '</rule>'
33
34 CMDREF = '<command cname="' COMMANDNAME '"/>'
35
36 STATE = '<state sname="' STATENAME '">' HOOK BRANCH CATCHALL * '</state>'
37
38 HOOK = '<state-hook>' FUNCALL + '</state-hook>'
39
40 BRANCH = '<branch mname="' MAPNAME '">' FUNCALL * '</branch>'
41
42 CATCHALL = '<catch-all-branch>' FUNCALL * '</catch-all-branch>'
43
44 TERM += MIM-TERM
45 PREDEFINED += MIM-PREDEFEIND
46
47 MIM-TERM = KEYSEQ | MARKER 
48
49 KEYSEQ = '<keyseq>' [ INTTERM | STRTERM | SYMTERM ] + '</keyseq>'
50 KEYSEQTERM = KEYSEQ | VAR (value is KEYSEQ) | FUNCALL (return KEYSEQ)
51
52 MARKER = '<marker>' SYMTERM '</marker>'
53 MARKERTERM = MARKER | VAR (value is MARKER) | FUNCALL (return MARKER)
54
55 SELECTOR = '<selector>' SYMTERM '</selector>'
56 SELECTORTERM = SELECTOR | VAR (value is SELECTOR) | FUNCALL (return SELECTOR)
57
58 MIM-PREDEFINED
59   = INSERT | CANDIDATES | DELETE | SELECT | SHOW | HIDE
60     | MARK | MOVE | PUSHBACK | POP | UNDO | COMMIT | UNHANDLE
61     | SHIFT | SHIFTBACK
62
63 INSERT = '<insert>' [ INTTERM | STRTERM ] '</insert>'
64 CANDIDATES = '<insert-candidates>' [ STRTERM | LISTTERM ] '</insert-candiates>'
65 DELETE = '<delete>' [ MARKERTERM | INTTERM ] '</delete>'
66 SELECT = '<select>' [ SELECTTERM | INTTERM ] '</select>'
67 SHOW = '<show-candidates/>'
68 HIDE = '<hide-candidates/>'
69 MOVE = '<move>' [ MARKERTERM | INTTERM ] '</move>'
70 MARK = '<mark>' MARKERTERM '</mark>'
71 PUSHBACK = '<pushback>' [ KEYSEQTERM | INTTERM ] '</pushback>'
72 POP = '<pop/>'
73 UNDO = '<undo>' INTTERM ? '</undo>'
74 COMMIT = '<commit/>'
75 UNHANDLE = '<unhandle/>'
76 SHIFT = '<shift>' SYMTERM '</shift>'
77 SHIFTBACK = '<shiftback/>'