Example #1
0
        public static void SetMacroCharacter(string dispatchChar, ReadtableHandler handler, params object[] kwargs)
        {
            var args           = ParseKwargs(kwargs, new string[] { "non-terminating?", "readtable" }, false, GetReadtable());
            var nonTerminating = ToBool(args[0]);
            var readtable      = (Readtable)args[1];

            readtable.SetMacroCharacter(dispatchChar, handler, nonTerminating ? CharacterType.NonTerminatingMacro : CharacterType.TerminatingMacro);
        }
Example #2
0
        public void SetMacroCharacter(string ch, ReadtableHandler handler, CharacterType type = CharacterType.TerminatingMacro)
        {
            var item = GetEntry(ch[0], true);

            item.Handler  = handler;
            item.Handler2 = null;
            item.Type     = type;
        }
Example #3
0
        public static void SetMacroCharacter(string dispatchChar, IApply handler, params object[] kwargs)
        {
            ReadtableHandler proc = (reader, ch) =>
            {
                var stream = reader.Stream;
                return(Funcall(handler, stream, ch));
            };

            SetMacroCharacter(dispatchChar, proc, kwargs);
        }