2 using System.Collections;
3 using System.Collections.Generic;
11 public class MInputMethod
13 private class MInputAction
15 MExpression[] expr_list;
18 private class MInputMethodMap
21 private MSymbol[] keys;
22 private MInputAction[] actions;
25 private class MInputMethodBranch
28 private MInputAction[] actions;
31 private class MInputMethodState
35 public MInputMethodBranch[] branches;
38 public readonly MSymbol language;
39 public readonly MSymbol name;
40 public readonly MSymbol subname;
42 private MDatabase mdb;
43 private MText description;
45 private MPlist commands;
46 private MPlist variables;
48 private MPlist states;
49 private MPlist macros;
50 private MPlist externals;
52 public MInputMethod (MSymbol language, MSymbol name, MSymbol extra)
54 MDatabase.Tag tag = new MDatabase.Tag (language, name, extra);
56 mdb = MDatabase.Find (tag);
58 throw new Exception (String.Format ("Input method {0} not available",
60 MPlist plist = (MPlist) mdb.Load ();