Remove non-free old and crusty clearcase pkg
[packages] / mule-packages / edict / edict-test.el.096
1 ;;;;;; Copyright (C) 1992 Bob Kerns <rwk@crl.dec.com>
2 ;;;
3 ;;;
4 ;;;   This program is free software; you can redistribute it and/or modify
5 ;;;   it under the terms of the GNU General Public License as published by
6 ;;;   the Free Software Foundation; either version 1, or (at your option)
7 ;;;   any later version.  ;;; 
8 ;;;   This program is distributed in the hope that it will be useful,
9 ;;;   but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;;;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 ;;;   GNU General Public License for more details.  ;;; 
12 ;;;   You should have received a copy of the GNU General Public License
13 ;;;   along with this program; if not, write to the Free Software
14 ;;;   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  ;;; 
15
16 ;;; Test suite for morphology rules for edict.el.
17 ;;; To run the tests, load this file, and do m-X edict-perform-tests.
18 ;;; This will create an *EDICT-TESTS* buffer with the results.
19
20
21 (require 'cl)
22
23 ;;; This should exist, but doesn't.  See edict.install for the
24 ;;; compiler half of this.  You should be sure to load the same
25 ;;; hacks into your compiler if you compile this by hand, or you
26 ;;; won't get it byte compiled.
27
28 (defmacro eval-when (when &rest forms)
29   (and (or (member 'eval when)
30             (member ':execute when))
31        (mapcar (function eval) forms))
32   (and (or (member 'load when)
33            (member ':load-toplevel when))
34        (cons 'progn forms)))
35
36 ;;; first, a couple simple tests.
37
38 (defun edict-test-string (flag string)
39   "Show what strings will be searched for a test string.  If given a prefix arg,
40 traces step by step; type Return for each new step."
41   (interactive "P
42 sTest string: ")
43   (let ((*edict-expand-string-trace* flag))
44     (message (format "%s" (edict-expand-string string)))))
45
46 (defun edict-test-rule (rule-name string)
47   (interactive "SRule name: 
48 sTest string: ")
49   (let ((rule (edict-get-rule rule-name)))
50     (unless rule (error "There is no rule named '%s'" rule-name))
51     (unless (string-match (edict-rule-pattern rule) string)
52       (error "The rule %s does not match '%s'." rule-name string))
53     (apply (edict-rule-function rule) string
54            (edict-rule-additional-args rule))))
55
56 (eval-when (eval load compile)
57 (defstruct edict-test
58   word                                  ; Word to be tested.
59   should-have                           ; Expansions that should be found
60   should-not-have                       ; Expansions that should not be found.
61   from-syntax-types
62   to-syntax-types)
63 )
64
65 (defvar *edict-tests* nil)
66
67 (defun remove-edict-test (name)
68   (let ((test (get-edict-test name)))
69     (setq *edict-tests* (delq test *edict-tests*))))
70
71 (defun add-edict-test (test)
72   ;; Preserve the order of the tests.
73   (let* ((name (edict-test-word test))
74          (old (get-edict-test name)))
75     (if old
76         (setf (edict-test-should-have old) (edict-test-should-have test)
77               (edict-test-should-not-have old) (edict-test-should-not-have test)
78               (edict-test-from-syntax-types old)
79               (edict-test-from-syntax-types test)
80               (edict-test-to-syntax-types old)
81               (edict-test-to-syntax-types test))
82       (setq *edict-tests* (append *edict-tests* (list test))))))
83
84 (defun get-edict-test (name)
85   (if (symbolp name)
86       (setq name (symbol-name name)))
87   (catch 'found-it
88     (dolist (test *edict-tests*)
89       (if (equal (edict-test-word test) name)
90           (throw 'found-it test)))))
91
92 (defmacro deftest (case &optional fromto should-have should-not-have not-self)
93   (` (define-edict-test '(, case) '(, (first fromto)) '(, (second fromto))
94        '(, should-have) '(, should-not-have) '(, not-self))))
95
96 (defun define-edict-test (name from to should-have should-not-have
97                                &optional not-self)
98   (if (symbolp name)
99       (setq name (symbol-name name)))
100   (unless (listp from)
101     (setq from (list from)))
102   (unless (listp to)
103     (setq to (list to)))
104   (unless from
105     (setq from '(\e$@F|K\8l\e(J)))
106   (let ((f (function (lambda (x)
107                        (if (symbolp x)
108                            (symbol-name x)
109                          x)))))
110     (setq should-have (mapcar f should-have))
111     (setq should-not-have (mapcar f should-not-have))
112     (or not-self (edict-find name should-have)
113         (push name should-have))
114     (add-edict-test (make-edict-test :word name
115                                      :should-have should-have
116                                      :should-not-have should-not-have
117                                      :from-syntax-types from
118                                      :to-syntax-types to)))
119   name)
120
121 ;;; This should be in emacs, but it isn't.
122 ;;; (Borrowed from ilisp.el, where I inherited it accidentally).
123
124 (defun edict-del (item list &optional test)
125   "Delete ITEM from LIST using TEST comparison and return the result.
126 Default test is equal."
127   (let ((test (or test (function equal)))
128         (element list)
129         (prev nil)
130         (done nil))
131     (while (and element (not done))
132       (if (funcall test item (car element))
133           (progn
134             (setq done t)
135             (if prev
136                 (rplacd prev (cdr element))
137                 (setq list (cdr list))))
138           (setq prev element
139                 element (cdr element))))
140     list))
141
142
143 (defun edict-test (test)
144   (if (or (symbolp test) (stringp test))
145       (setq test (get-edict-test test)))
146   ;; Cleaning up the kanji shouldn't break anything;
147   ;; give it a chance to do so if it's buggy.
148   (let* ((name (edict-test-word test))
149          (word (edict-clean-up-kanji name))
150          (from-syntax-types (edict-test-from-syntax-types test))
151          (to-syntax-types (edict-test-to-syntax-types test))
152          (should-have (edict-test-should-have test))
153          (should-not-have (edict-test-should-not-have test)))
154     (let ((expansion (edict-expand-string-syntaxes word () () from-syntax-types))
155           (failed nil))
156       (dolist (sh should-have)
157         (if (edict-find sh expansion)
158             (setq expansion (edict-del sh expansion (function equal)))
159           (progn 
160             (princ (format ";%s: did not produce %s\n" name sh))
161             (setq failed t))))
162       (dolist (case should-not-have)
163         (and (edict-find case expansion)
164              (progn
165                (princ (format ";%s: Should not have %s as expansion.\n"
166                               name case))
167                (setq failed t)
168                (setq expansion (edict-del sh expansion (function equal))))))
169       (dolist (bad expansion)
170         (princ (format ";%s: Unexpected expansion: %s\n" name bad))
171         (setq failed t))
172       (or failed
173           (princ (format ";%s: OK\n" name)))
174       (not failed))))
175
176 (defun edict-perform-tests ()
177   (interactive)
178   (let ((test-buffer (get-buffer-create "*EDICT-TESTS*"))
179         (failures 0)
180         (first-failure nil))
181     (set-buffer test-buffer)
182     (set-window-buffer (selected-window) test-buffer)
183     (delete-region (point-min) (point-max))
184     (let ((standard-output test-buffer))
185       (dolist (test *edict-tests*)
186         (let ((msg-point (point)))
187           (cond ((not (edict-test test))
188                  (incf failures)
189                  (or first-failure (setq first-failure msg-point))))
190           (sit-for 0))))
191     (cond ((= failures 0)
192            (message "Done.  All Tests OK."))
193           ((= failures 1)
194            (message "1 test failed."))
195           (t (message (format "%d tests failed." failures))))
196     (goto-char (or first-failure (point-min)))))
197
198 (defun edict-run-test (arg)
199   "Execute the test that point is in or before.
200 Print value in minibuffer.
201 With argument, insert value in current buffer after the defun.
202 With argument >= 16 (i.e. c-U c-U), single-step through the expansion process."
203   (interactive "P")
204   (save-excursion
205     (end-of-defun)
206     (let ((end (point))
207           (*edict-expand-string-trace* (and arg (> (prefix-numeric-value arg) 4))))
208       (beginning-of-defun)
209       (let* ((test-form (read (current-buffer)))
210              (test-name (second test-form))
211              (test))
212         (eval test-form)
213         (setq test (get-edict-test test-name))
214         (forward-line 1)
215         (while (looking-at (concat ";" (symbol-name test-name)
216                                    ": \\(Unexpected expansion: \\|did not produce \\|OK$\\)"))
217           (let ((start (point)))
218             (forward-line 1)
219             (delete-region start (point))))
220         (let ((standard-output (if arg (current-buffer) standard-output)))
221           (edict-test test)))))
222   t)
223
224 ;(global-set-key "\e_" 'edict-run-test)
225
226 ;;; **** NOTE WELL ****
227 ;;; The proper test results here are not necessarily valid words.
228 ;;; These are words which are MORPHOLOGICALLY correct.  That is,
229 ;;; this reverse-chains on the possible rules to produce a given
230 ;;; word, generally only one or two of which would actually be
231 ;;; correct.
232
233 ;;; Also note that these are regression tests.  No distinction is being
234 ;;; made between results which are "correct" and results which are
235 ;;; "acceptable".  In general, we accept spurious expansions if they
236 ;;; lead to including desirable results in other cases.  Modifying the
237 ;;; rule set may either result in eliminating spurious expansions (resulting
238 ;;; in missing expansions from the tests) or adding new spurious expansions.
239 ;;; In case of problems from these tests, the offending test should be single-stepped
240 ;;; (with c-u c-u m-X edict-run-test), and the reasons for the expansion should be
241 ;;; evaluated.  If, after careful consideration, the modified result is regarded
242 ;;; as correct, the test should be modified accordingly.  Otherwise, the bug should
243 ;;; be fixed.
244
245 ;;; Be careful.  Regression tests are good for considering all the effects of
246 ;;; a change, but they do not themselves determine the correctness of a change.
247 ;;; When the regression tests determine that something has changed, it is up
248 ;;; to YOU to be careful and determine the correct result.
249
250 (deftest "\e$@Gc$&\e(J "
251   ()
252   (\e$@Gc$&\e(J)
253   ()
254   :not-self)
255
256 (deftest "
257 \e$@!d!!Gc!t\e(J#>!\e$@!*!'\e(J:\e$@$&\e(J     "
258   ()
259   (\e$@Gc$&\e(J)
260   ()
261   :not-self)
262
263 ;;; The basics: \e$@8^CJF0;l\e(J
264 (deftest \e$@Gc$&\e(J
265   ())
266 (deftest \e$@9T$/\e(J
267   ()
268   (\e$@9T$$\e(J))                         ;Looks like it could be an adverb
269 ;\e$@9T$/\e(J: OK
270 (deftest \e$@1K$0\e(J
271   ())
272 (deftest \e$@OC$9\e(J
273   ())
274 (deftest \e$@BT$D\e(J
275   ())
276 (deftest \e$@;`$L\e(J
277   ())
278 (deftest \e$@8F$V\e(J
279   ())
280 (deftest \e$@FI$`\e(J
281   ())
282 (deftest \e$@J,$+$k\e(J
283   ())
284 (deftest \e$@@.$k\e(J
285   ())
286 ;;; \e$@0lCJF0;l\e(J
287 (deftest \e$@@8$-$k\e(J
288   ())
289 (deftest \e$@8+$k\e(J
290   ())
291
292 ;;; Distal style
293 ;;; These all produce the improbable but possible result of removing only the
294 ;;; masu and adding \e$@$k\e(J as if it were a \e$@0lCJF0;l\e(J, since the result of that situation
295 ;;; would look the same.
296
297 (deftest \e$@Gc$$$^$9\e(J
298   ()
299   (\e$@Gc$&\e(J \e$@Gc$$$k\e(J))
300 (deftest \e$@CV$-$^$9\e(J
301   ()
302   (\e$@CV$/\e(J \e$@CV$-$k\e(J))
303 ;\e$@CV$-$^$9\e(J: OK
304 (deftest \e$@1K$.$^$9\e(J
305   ()
306   (\e$@1K$0\e(J \e$@1K$.$k\e(J))
307 (deftest \e$@OC$7$^$9\e(J
308   ()
309   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$9$k\e(J \e$@OC\e(J))
310 (deftest \e$@;}$A$^$9\e(J
311   ()
312   (\e$@;}$D\e(J \e$@;}$A$k\e(J))
313 (deftest \e$@;`$K$^$9\e(J
314   ()
315   (\e$@;`$L\e(J \e$@;`$K$k\e(J))
316 (deftest \e$@8F$S$^$9\e(J
317   ()
318   (\e$@8F$V\e(J \e$@8F$S$k\e(J))
319 (deftest \e$@FI$_$^$9\e(J
320   ()
321   (\e$@FI$`\e(J \e$@FI$_$k\e(J))
322 (deftest \e$@J,$+$j$^$9\e(J
323   ()
324   (\e$@J,$+$k\e(J \e$@J,$+$j$k\e(J))
325 (deftest \e$@@.$j$^$9\e(J
326   ()
327   (\e$@@.$k\e(J \e$@@.$j$k\e(J))
328 (deftest \e$@@8$-$^$9\e(J
329   ()
330   (\e$@@8$-$k\e(J \e$@@8$/\e(J))
331 ;\e$@@8$-$^$9\e(J: OK
332 (deftest \e$@8+$^$9\e(J
333   ()
334   (\e$@8+$k\e(J))
335
336
337 ;;; Irregulars
338
339 (deftest \e$@Mh$^$9\e(J
340   ()
341   (\e$@Mh$k\e(J))
342 (deftest \e$@$-$^$9\e(J
343   ()
344   (\e$@$/$k\e(J \e$@$-$k\e(J))
345 (deftest \e$@$7$^$9\e(J
346   ()
347   (\e$@$9$k\e(J \e$@$7$k\e(J))
348
349 (deftest \e$@Gc$$$^$;$s\e(J
350   ()
351   (\e$@Gc$&\e(J \e$@Gc$$$k\e(J))
352 (deftest \e$@CV$-$^$;$s\e(J
353   ()
354   (\e$@CV$/\e(J \e$@CV$-$k\e(J))
355 ;\e$@CV$-$^$;$s\e(J: OK
356 (deftest \e$@1K$.$^$;$s\e(J
357   ()
358   (\e$@1K$0\e(J \e$@1K$.$k\e(J))
359 (deftest \e$@OC$7$^$;$s\e(J
360   ()
361   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$9$k\e(J \e$@OC\e(J))
362 (deftest \e$@;}$A$^$;$s\e(J
363   ()
364   (\e$@;}$D\e(J \e$@;}$A$k\e(J))
365 (deftest \e$@;`$K$^$;$s\e(J
366   ()
367   (\e$@;`$L\e(J \e$@;`$K$k\e(J))
368 (deftest \e$@8F$S$^$;$s\e(J
369   ()
370   (\e$@8F$V\e(J \e$@8F$S$k\e(J))
371 (deftest \e$@FI$_$^$;$s\e(J
372   ()
373   (\e$@FI$`\e(J \e$@FI$_$k\e(J))
374 (deftest \e$@J,$+$j$^$;$s\e(J
375   ()
376   (\e$@J,$+$k\e(J \e$@J,$+$j$k\e(J))
377 (deftest \e$@@.$j$^$;$s\e(J
378   ()
379   (\e$@@.$k\e(J \e$@@.$j$k\e(J))
380 (deftest \e$@@8$-$^$;$s\e(J
381   ()
382   (\e$@@8$-$k\e(J \e$@@8$/\e(J))
383 ;\e$@@8$-$^$;$s\e(J: OK
384 (deftest \e$@8+$^$;$s\e(J
385   ()
386   (\e$@8+$k\e(J))
387
388
389 ;;; Irregulars
390
391 (deftest \e$@Mh$^$;$s\e(J
392   ()
393   (\e$@Mh$k\e(J))
394 (deftest \e$@$-$^$;$s\e(J
395   ()
396   (\e$@$/$k\e(J \e$@$-$k\e(J))
397 (deftest \e$@$7$^$;$s\e(J
398   ()
399   (\e$@$9$k\e(J \e$@$7$k\e(J))
400
401
402 ;;; Past tense
403
404 (deftest \e$@Gc$C$?\e(J
405   ()
406   (\e$@Gc$&\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
407 (deftest \e$@CV$$$?\e(J
408   ()
409   (\e$@CV$/\e(J \e$@CV$$$k\e(J))
410 ;\e$@CV$$$?\e(J: OK
411 (deftest \e$@9T$C$?\e(J
412                                         ();iku is irregular It looks like a \e$@$k\e(J/\e$@$D\e(J/\e$@$&\e(J.
413   (\e$@9T$/\e(J \e$@9T$$\e(J \e$@9T$&\e(J \e$@9T$D\e(J \e$@9T$k\e(J))
414 ;\e$@9T$C$?\e(J: OK
415 (deftest \e$@OC$7$?\e(J
416   ()
417   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$9$k\e(J \e$@OC\e(J))
418 ;\e$@OC$7$?\e(J: OK
419 (deftest \e$@;}$C$?\e(J
420   ()
421   (\e$@;}$D\e(J \e$@;}$&\e(J \e$@;}$k\e(J))
422 (deftest \e$@;`$s$?\e(J
423                                         ();Don't mis-interpret
424   ()
425   (\e$@;`$L\e(J))
426 (deftest \e$@;`$s$@\e(J
427   ()
428   (\e$@;`$L\e(J \e$@;`$V\e(J \e$@;`$`\e(J \e$@;`$s\e(J))
429 ;\e$@;`$s$@\e(J: OK
430 (deftest \e$@8F$s$@\e(J
431   ()
432   (\e$@8F$V\e(J \e$@8F$`\e(J \e$@8F$L\e(J \e$@8F$s\e(J))
433 ;\e$@8F$s$@\e(J: OK
434 (deftest \e$@FI$s$@\e(J
435   ()
436   (\e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s\e(J))
437 ;\e$@FI$s$@\e(J: OK
438 (deftest \e$@J,$+$C$?\e(J
439   ()
440   (\e$@J,$+$k\e(J \e$@J,$$\e(J \e$@J,$+$&\e(J \e$@J,$+$D\e(J))
441 ;\e$@J,$+$C$?\e(J: OK
442 (deftest \e$@@.$C$?\e(J
443   ()
444   (\e$@@.$k\e(J \e$@@.$&\e(J \e$@@.$D\e(J))
445 ;;; \e$@0lCJF0;l\e(J
446 (deftest \e$@@8$-$?\e(J
447   ()
448   (\e$@@8$-$k\e(J \e$@@8$/$k\e(J))
449 ;\e$@@8$-$?\e(J: OK
450 (deftest \e$@8+$?\e(J
451   ()
452   (\e$@8+$k\e(J))
453
454 ;;; Gerund
455 ;;; These all also map to \e$@$D\e(J, because of the plan imperative form.
456 ;;; This seems surprising, if you're not thinking about it.
457
458 (deftest \e$@Gc$C$F\e(J
459   ()
460   (\e$@Gc$&\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$D\e(J \e$@Gc$C$F$k\e(J))
461 ;\e$@Gc$C$F\e(J: OK
462 (deftest \e$@CV$$$F\e(J
463   ()
464   (\e$@CV$/\e(J \e$@CV$$$k\e(J \e$@CV$$$D\e(J \e$@CV$$$F$k\e(J))
465 ;\e$@CV$$$F\e(J: OK
466 (deftest \e$@9T$C$F\e(J
467                                         ();iku is irregular It looks like a \e$@$k\e(J/\e$@$D\e(J/\e$@$&\e(J.
468   (\e$@9T$/\e(J \e$@9T$$\e(J \e$@9T$&\e(J \e$@9T$D\e(J \e$@9T$k\e(J \e$@9T$C$D\e(J \e$@9T$C$F$k\e(J))
469 ;\e$@9T$C$F\e(J: OK
470 (deftest \e$@OC$7$F\e(J
471   ()
472   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$7$D\e(J \e$@OC$9$k\e(J \e$@OC\e(J \e$@OC$7$F$k\e(J))
473 ;\e$@OC$7$F\e(J: OK
474 (deftest \e$@;}$C$F\e(J
475   ()
476   (\e$@;}$D\e(J \e$@;}$&\e(J \e$@;}$k\e(J \e$@;}$C$D\e(J \e$@;}$C$F$k\e(J))
477 ;\e$@;}$C$F\e(J: OK
478 (deftest \e$@;`$s$F\e(J
479                                         ();Don't mis-interpret
480   (\e$@;`$s$D\e(J \e$@;`$s$F$k\e(J)
481   (\e$@;`$L\e(J))
482 ;\e$@;`$s$F\e(J: OK
483 (deftest \e$@;`$s$G\e(J
484   ()
485   (\e$@;`$L\e(J \e$@;`$V\e(J \e$@;`$`\e(J))
486 ;\e$@;`$s$G\e(J: OK
487 (deftest \e$@8F$s$G\e(J
488   ()
489   (\e$@8F$V\e(J \e$@8F$`\e(J \e$@8F$L\e(J))
490 ;\e$@8F$s$G\e(J: OK
491 (deftest \e$@FI$s$G\e(J
492   ()
493   (\e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
494 (deftest \e$@J,$+$C$F\e(J
495   ()
496   (\e$@J,$+$k\e(J \e$@J,$+$&\e(J \e$@J,$+$D\e(J \e$@J,$+$C$D\e(J \e$@J,$+$C$F$k\e(J))
497 ;\e$@J,$+$C$F\e(J: OK
498 (deftest \e$@@.$C$F\e(J
499   ()
500   (\e$@@.$k\e(J \e$@@.$&\e(J \e$@@.$D\e(J \e$@@.$C$D\e(J \e$@@.$C$F$k\e(J))
501 ;\e$@@.$C$F\e(J: OK
502 ;;; \e$@0lCJF0;l\e(J
503 (deftest \e$@@8$-$F\e(J
504   ()
505   (\e$@@8$-$k\e(J \e$@@8$-$D\e(J \e$@@8$/$k\e(J \e$@@8$-$F$k\e(J))
506 ;\e$@@8$-$F\e(J: OK
507 (deftest \e$@8+$F\e(J
508   ()
509   (\e$@8+$k\e(J \e$@8+$D\e(J \e$@8+$F$k\e(J))
510 ;\e$@8+$F\e(J: OK
511
512 ;;; Potential
513
514 (deftest \e$@Gc$($k\e(J
515   ()
516   (\e$@Gc$&\e(J))
517 ;\e$@Gc$($k\e(J: OK
518
519 (deftest \e$@?)$Y$i$l$k\e(J
520   ()
521   (\e$@?)$Y$k\e(J \e$@?)$Y$i$k\e(J \e$@?)$V\e(J))
522 ;\e$@?)$Y$i$l$k\e(J: OK
523
524 (deftest \e$@8F$Y$k\e(J
525   ()
526   (\e$@8F$V\e(J))
527 ;\e$@8F$Y$k\e(J: OK
528
529 ;;; Passive
530 ;;; These also look like they could be \e$@0lCJ$I$&$7\e(J potentials.
531
532 (deftest \e$@Gc$o$l$k\e(J
533   ()
534   (\e$@Gc$&\e(J \e$@Gc$o$k\e(J))
535 ;\e$@Gc$o$l$k\e(J: OK
536
537 (deftest \e$@CV$+$l$k\e(J
538   ()
539   (\e$@CV$/\e(J \e$@CV$+$k\e(J))
540 ;\e$@CV$+$l$k\e(J: OK
541
542 (deftest \e$@1K$,$l$k\e(J
543   ()
544   (\e$@1K$0\e(J \e$@1K$,$k\e(J))
545 (deftest \e$@OC$5$l$k\e(J
546   ()
547   (\e$@OC$9\e(J \e$@OC$9$k\e(J \e$@OC$5$k\e(J \e$@OC\e(J))              ;Because of irregular \e$@$9$k\e(J
548 (deftest \e$@BT$?$l$k\e(J
549   ()
550   (\e$@BT$D\e(J \e$@BT$?$k\e(J))
551 (deftest \e$@;`$J$l$k\e(J
552   ()
553   (\e$@;`$L\e(J \e$@;`$J$k\e(J))
554 (deftest \e$@FI$^$l$k\e(J
555   ()
556   (\e$@FI$`\e(J \e$@FI$^$k\e(J))
557 ;\e$@FI$^$l$k\e(J: OK
558 (deftest \e$@8F$P$l$k\e(J
559   ()
560   (\e$@8F$V\e(J \e$@8F$P$k\e(J))
561 (deftest \e$@8+$i$l$k\e(J
562   ()
563   (\e$@8+$k\e(J \e$@8+$i$k\e(J))
564
565 ;;; Irregulars
566 (deftest \e$@Mh$i$l$k\e(J
567   ()
568   (\e$@Mh$k\e(J \e$@Mh$i$k\e(J))
569 (deftest \e$@$5$l$k\e(J
570   ()
571   (\e$@$9$k\e(J \e$@$5$k\e(J \e$@$9\e(J))                     ;\e$@$9\e(J because of the regular rule.
572
573 ;;; Causitive
574
575 (deftest \e$@Gc$o$;$k\e(J
576   ()
577   (\e$@Gc$&\e(J \e$@Gc$o$9\e(J))
578 ;\e$@Gc$o$;$k\e(J: OK
579 (deftest \e$@CV$+$;$k\e(J
580   ()
581   (\e$@CV$/\e(J \e$@CV$+$9\e(J))
582 ;\e$@CV$+$;$k\e(J: OK
583 (deftest \e$@1K$,$;$k\e(J
584   ()
585   (\e$@1K$0\e(J \e$@1K$,$9\e(J))
586 ;\e$@1K$,$;$k\e(J: OK
587 (deftest \e$@OC$5$;$k\e(J
588   ()
589   (\e$@OC$k\e(J \e$@OC$9\e(J \e$@OC$9$k\e(J \e$@OC$5$9\e(J \e$@OC\e(J))           ;Because of irregular \e$@$9$k\e(J
590 ;\e$@OC$5$;$k\e(J: OK
591 (deftest \e$@BT$?$;$k\e(J
592   ()
593   (\e$@BT$D\e(J \e$@BT$?$9\e(J))
594 ;\e$@BT$?$;$k\e(J: OK
595 (deftest \e$@;`$J$;$k\e(J
596   ()
597   (\e$@;`$L\e(J \e$@;`$J$9\e(J))
598 ;\e$@;`$J$;$k\e(J: OK
599 (deftest \e$@FI$^$;$k\e(J
600   ()
601   (\e$@FI$`\e(J \e$@FI$^$9\e(J))
602 ;\e$@FI$^$;$k\e(J: OK
603 (deftest \e$@8F$P$;$k\e(J
604   ()
605   (\e$@8F$V\e(J \e$@8F$P$9\e(J))
606 ;\e$@8F$P$;$k\e(J: OK
607 (deftest \e$@8+$5$;$k\e(J
608   ()
609   (\e$@8+$k\e(J \e$@8+$9\e(J \e$@8+$9$k\e(J \e$@8+$5$9\e(J \e$@8+\e(J))           ;Because of regular & irregular rules
610 ;\e$@8+$5$;$k\e(J: OK
611
612 ;;; Irregulars
613 (deftest \e$@Mh$5$;$k\e(J
614   ()
615   (\e$@Mh$k\e(J \e$@Mh$9\e(J \e$@Mh$9$k\e(J \e$@Mh$5$9\e(J \e$@Mh\e(J))           ;because of regular & irregular rules.
616 ;\e$@Mh$5$;$k\e(J: OK
617 (deftest \e$@$5$;$k\e(J
618   ()
619   (\e$@$9$k\e(J \e$@$5$9\e(J \e$@$9\e(J))                     ;\e$@$9\e(J because of the regular rule.
620 ;\e$@$5$;$k\e(J: OK
621
622 ;;; Conditional
623
624 (deftest \e$@Gc$($P\e(J
625   ()
626   (\e$@Gc$&\e(J))
627 (deftest \e$@CV$1$P\e(J
628   ()
629   (\e$@CV$/\e(J))
630 (deftest \e$@1K$2$P\e(J
631   ()
632   (\e$@1K$0\e(J))
633 (deftest \e$@OC$;$P\e(J
634   ()
635   (\e$@OC$9\e(J))
636 (deftest \e$@BT$F$P\e(J
637   ()
638   (\e$@BT$D\e(J))
639 (deftest \e$@;`$M$P\e(J
640   ()
641   (\e$@;`$L\e(J))
642 (deftest \e$@FI$a$P\e(J
643   ()
644   (\e$@FI$`\e(J))
645 (deftest \e$@8F$Y$P\e(J
646   ()
647   (\e$@8F$V\e(J))
648 (deftest \e$@8+$l$P\e(J
649   ()
650   (\e$@8+$k\e(J))
651
652 ;;; \e$@$?$i\e(J conditional form
653
654 (deftest \e$@Gc$C$?$i\e(J
655   ()
656   (\e$@Gc$&\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
657 (deftest \e$@CV$$$?$i\e(J
658   ()
659   (\e$@CV$/\e(J \e$@CV$$$k\e(J))
660 (deftest \e$@9T$C$?$i\e(J
661                                         ();iku is irregular It looks like a \e$@$k\e(J/\e$@$D\e(J/\e$@$&\e(J.
662   (\e$@9T$/\e(J \e$@9T$$\e(J \e$@9T$&\e(J \e$@9T$D\e(J \e$@9T$k\e(J))
663 (deftest \e$@OC$7$?$i\e(J
664   ()
665   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$9$k\e(J \e$@OC\e(J))
666 ;\e$@OC$7$?$i\e(J: OK
667 (deftest \e$@;}$C$?$i\e(J
668   ()
669   (\e$@;}$D\e(J \e$@;}$&\e(J \e$@;}$k\e(J))
670 (deftest \e$@;`$s$?$i\e(J
671                                         ();Don't mis-interpret
672   ()
673   (\e$@;`$L\e(J))
674 (deftest \e$@;`$s$@$i\e(J
675   ()
676   (\e$@;`$L\e(J \e$@;`$V\e(J \e$@;`$`\e(J))
677 (deftest \e$@8F$s$@$i\e(J
678   ()
679   (\e$@8F$V\e(J \e$@8F$`\e(J \e$@8F$L\e(J))
680 (deftest \e$@FI$s$@$i\e(J
681   ()
682   (\e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
683 (deftest \e$@J,$+$C$?$i\e(J
684   ()
685   (\e$@J,$+$k\e(J \e$@J,$+$&\e(J \e$@J,$+$D\e(J))
686 (deftest \e$@@.$C$?$i\e(J
687   ()
688   (\e$@@.$k\e(J \e$@@.$&\e(J \e$@@.$D\e(J))
689 ;;; \e$@0lCJF0;l\e(J
690 (deftest \e$@@8$-$?$i\e(J
691   ()
692   (\e$@@8$-$k\e(J \e$@@8$/$k\e(J))
693 ;\e$@@8$-$?$i\e(J: OK
694 (deftest \e$@8+$?$i\e(J
695   ()
696   (\e$@8+$k\e(J))
697
698 ;;; Plain negative
699
700 (deftest \e$@Gc$o$J$$\e(J
701   ()
702   (\e$@Gc$&\e(J \e$@Gc$o$J$$\e(J \e$@Gc$o$J$&\e(J \e$@Gc$o$J$$$k\e(J))
703 ;\e$@Gc$o$J$$\e(J: OK
704 (deftest \e$@CV$+$J$$\e(J
705   ()
706   (\e$@CV$/\e(J \e$@CV$+$J$$\e(J \e$@CV$+$J$&\e(J \e$@CV$+$J$$$k\e(J))
707 ;\e$@CV$+$J$$\e(J: OK
708 (deftest \e$@1K$,$J$$\e(J
709   ()
710   (\e$@1K$0\e(J \e$@1K$,$J$$$k\e(J \e$@1K$,$J$&\e(J))
711 ;\e$@1K$,$J$$\e(J: OK
712 (deftest \e$@OC$5$J$$\e(J
713   ()
714   (\e$@OC$9\e(J \e$@OC$5$J$$$k\e(J \e$@OC$5$J$&\e(J))
715 ;\e$@OC$5$J$$\e(J: OK
716 (deftest \e$@BT$?$J$$\e(J
717   ()
718   (\e$@BT$D\e(J \e$@BT$?$J$$$k\e(J \e$@BT$?$J$&\e(J))
719 ;\e$@BT$?$J$$\e(J: OK
720 (deftest \e$@;`$J$J$$\e(J
721   ()
722   (\e$@;`$L\e(J \e$@;`$J$J$$$k\e(J \e$@;`$J$J$&\e(J))
723 ;\e$@;`$J$J$$\e(J: OK
724 (deftest \e$@FI$^$J$$\e(J
725   ()
726   (\e$@FI$`\e(J \e$@FI$^$J$$$k\e(J \e$@FI$^$J$&\e(J))
727 ;\e$@FI$^$J$$\e(J: OK
728 (deftest \e$@8F$P$J$$\e(J
729   ()
730   (\e$@8F$V\e(J \e$@8F$P$J$$$k\e(J \e$@8F$P$J$&\e(J))
731 ;\e$@8F$P$J$$\e(J: OK
732 (deftest \e$@8+$J$$\e(J
733   ()
734   (\e$@8+$k\e(J \e$@8+$J$$$k\e(J \e$@8+$J$&\e(J))
735 ;\e$@8+$J$$\e(J: OK
736
737 ;;; Irregulars
738 (deftest \e$@Mh$J$$\e(J
739   ()
740   (\e$@Mh$k\e(J \e$@Mh$J$$$k\e(J \e$@Mh$J$&\e(J))
741 ;\e$@Mh$J$$\e(J: OK
742 (deftest \e$@$7$J$$\e(J
743   ()
744   (\e$@$9$k\e(J \e$@$7$k\e(J \e$@$7$J$$$k\e(J \e$@$7$J$&\e(J))          ;\e$@$7$k\e(J because of regular rules.
745 ;\e$@$7$J$$\e(J: OK
746 (deftest \e$@$J$$\e(J
747   ()
748   (\e$@$"$k\e(J \e$@$J$$$k\e(J \e$@$J$&\e(J))
749 ;\e$@$J$$\e(J: OK
750
751 ;;; \e$@$:\e(J negatives
752
753 (deftest \e$@Gc$o$:\e(J
754   ()
755   (\e$@Gc$&\e(J))
756 ;\e$@Gc$o$:\e(J: OK
757 (deftest \e$@CV$+$:\e(J
758   ()
759   (\e$@CV$/\e(J))
760 ;\e$@CV$+$:\e(J: OK
761 (deftest \e$@1K$,$:\e(J
762   ()
763   (\e$@1K$0\e(J))
764 ;\e$@1K$,$:\e(J: OK
765 (deftest \e$@OC$5$:\e(J
766   ()
767   (\e$@OC$9\e(J))
768 ;\e$@OC$5$:\e(J: OK
769 (deftest \e$@BT$?$:\e(J
770   ()
771   (\e$@BT$D\e(J))
772 ;\e$@BT$?$:\e(J: OK
773 (deftest \e$@;`$J$:\e(J
774   ()
775   (\e$@;`$L\e(J))
776 ;\e$@;`$J$:\e(J: OK
777 (deftest \e$@FI$^$:\e(J
778   ()
779   (\e$@FI$`\e(J))
780 ;\e$@FI$^$:\e(J: OK
781 (deftest \e$@8F$P$:\e(J
782   ()
783   (\e$@8F$V\e(J))
784 ;\e$@8F$P$:\e(J: OK
785 (deftest \e$@8+$:\e(J
786   ()
787   (\e$@8+$k\e(J))
788 ;\e$@8+$:\e(J: OK
789
790 ;;; Irregulars
791 (deftest \e$@Mh$:\e(J
792   ()
793   (\e$@Mh$k\e(J))
794 ;\e$@Mh$:\e(J: OK
795 (deftest \e$@$;$:\e(J
796   ()
797   (\e$@$9$k\e(J \e$@$;$k\e(J))                              ;\e$@$;$k\e(J because of regular rules.
798 ;\e$@$;$:\e(J: OK
799
800
801 ;;; Plain command form
802
803 (deftest \e$@Gc$(\e(J
804   ()
805   (\e$@Gc$&\e(J \e$@Gc$($k\e(J))
806
807 (deftest \e$@CV$1\e(J
808   ()
809   (\e$@CV$/\e(J \e$@CV$1$k\e(J))
810 ;\e$@CV$1\e(J: OK
811 (deftest \e$@1K$2\e(J
812   ()
813   (\e$@1K$0\e(J \e$@1K$2$k\e(J))
814 (deftest \e$@OC$;\e(J
815   ()
816   (\e$@OC$9\e(J \e$@OC$;$k\e(J))
817 (deftest \e$@BT$F\e(J
818   ()
819   (\e$@BT$D\e(J \e$@BT$F\e(J \e$@BT$k\e(J \e$@BT$F$k\e(J))
820 ;\e$@BT$F\e(J: OK
821 (deftest \e$@;`$M\e(J
822   ()
823   (\e$@;`$L\e(J \e$@;`$M$k\e(J))
824 (deftest \e$@FI$a\e(J
825   ()
826   (\e$@FI$`\e(J \e$@FI$a$k\e(J))
827 (deftest \e$@8F$Y\e(J
828   ()
829   (\e$@8F$V\e(J \e$@8F$Y$k\e(J))
830 (deftest \e$@8+$m\e(J
831   ()
832   (\e$@8+$k\e(J))
833
834 ;;; Irregulars
835 (deftest \e$@Mh$$\e(J
836   ()
837   (\e$@Mh$k\e(J \e$@Mh$$$k\e(J \e$@Mh$&\e(J))
838 ;\e$@Mh$$\e(J: OK
839 (deftest \e$@$3$$\e(J
840   ()
841   (\e$@$/$k\e(J \e$@$3$$$k\e(J \e$@$3$&\e(J))
842 ;\e$@$3$$\e(J: OK
843 (deftest \e$@$7$m\e(J
844   ()
845   (\e$@$9$k\e(J \e$@$7$k\e(J))                              ;\e$@$7$k\e(J because of regular rules.
846
847 ;;; The plain desideratives
848
849 (deftest \e$@Gc$$$?$$\e(J
850   ()
851   (\e$@Gc$&\e(J \e$@Gc$$$k\e(J \e$@Gc$$$?$$$k\e(J \e$@Gc$$$?$&\e(J))
852 ;\e$@Gc$$$?$$\e(J: OK
853 (deftest \e$@CV$-$?$$\e(J
854   ()
855   (\e$@CV$/\e(J \e$@CV$-$k\e(J \e$@CV$-$?$$$k\e(J \e$@CV$-$?$&\e(J))
856 ;\e$@CV$-$?$$\e(J: OK
857 (deftest \e$@1K$.$?$$\e(J
858   ()
859   (\e$@1K$0\e(J \e$@1K$.$k\e(J \e$@1K$.$?$$$k\e(J \e$@1K$.$?$&\e(J))
860 ;\e$@1K$.$?$$\e(J: OK
861 (deftest \e$@OC$7$?$$\e(J
862   ()
863   (\e$@OC$9\e(J \e$@OC$7$k\e(J \e$@OC$7$?$$$k\e(J \e$@OC$7$?$&\e(J))
864 ;\e$@OC$7$?$$\e(J: OK
865 (deftest \e$@;}$A$?$$\e(J
866   ()
867   (\e$@;}$D\e(J \e$@;}$A$k\e(J \e$@;}$A$?$$$k\e(J \e$@;}$A$?$&\e(J))
868 ;\e$@;}$A$?$$\e(J: OK
869 (deftest \e$@;`$K$?$$\e(J
870   ()
871   (\e$@;`$L\e(J \e$@;`$K$k\e(J \e$@;`$K$?$$$k\e(J \e$@;`$K$?$&\e(J))
872 ;\e$@;`$K$?$$\e(J: OK
873 (deftest \e$@8F$S$?$$\e(J
874   ()
875   (\e$@8F$V\e(J \e$@8F$S$k\e(J \e$@8F$S$?$$$k\e(J \e$@8F$S$?$&\e(J))
876 ;\e$@8F$S$?$$\e(J: OK
877 (deftest \e$@FI$_$?$$\e(J
878   ()
879   (\e$@FI$`\e(J \e$@FI$_$k\e(J \e$@FI$_$?$$$k\e(J \e$@FI$_$?$&\e(J))
880 ;\e$@FI$_$?$$\e(J: OK
881 (deftest \e$@J,$+$j$?$$\e(J
882   ()
883   (\e$@J,$+$k\e(J \e$@J,$+$j$k\e(J \e$@J,$+$j$?$$$k\e(J \e$@J,$+$j$?$&\e(J))
884 ;\e$@J,$+$j$?$$\e(J: OK
885 (deftest \e$@@.$j$?$$\e(J
886   ()
887   (\e$@@.$k\e(J \e$@@.$j$k\e(J \e$@@.$j$?$$$k\e(J \e$@@.$j$?$&\e(J))
888 ;\e$@@.$j$?$$\e(J: OK
889 (deftest \e$@@8$-$?$$\e(J
890   ()
891   (\e$@@8$-$k\e(J \e$@@8$/\e(J \e$@@8$-$?$$$k\e(J \e$@@8$-$?$&\e(J))
892 ;\e$@@8$-$?$$\e(J: OK
893 (deftest \e$@8+$?$$\e(J
894   ()
895   (\e$@8+$k\e(J \e$@8+$?$$$k\e(J \e$@8+$?$&\e(J))
896 ;\e$@8+$?$$\e(J: OK
897
898
899 ;;; Irregulars
900
901 (deftest \e$@Mh$?$$\e(J
902   ()
903   (\e$@Mh$k\e(J \e$@Mh$?$$$k\e(J \e$@Mh$?$&\e(J))
904 ;\e$@Mh$?$$\e(J: OK
905 (deftest \e$@$-$?$$\e(J
906   ()
907   (\e$@$/$k\e(J \e$@$-$k\e(J \e$@$-$?$$$k\e(J \e$@$-$?$&\e(J))
908 ;\e$@$-$?$$\e(J: OK
909 (deftest \e$@$7$?$$\e(J
910   ()
911   (\e$@$9$k\e(J \e$@$7$k\e(J \e$@$7$?$$$k\e(J \e$@$7$?$&\e(J))
912 ;\e$@$7$?$$\e(J: OK
913
914 (deftest \e$@Gc$$$?$,$k\e(J
915   ()
916   (\e$@Gc$&\e(J \e$@Gc$$$k\e(J))
917 (deftest \e$@CV$-$?$,$k\e(J
918   ()
919   (\e$@CV$/\e(J \e$@CV$$\e(J \e$@CV$-$k\e(J))
920 (deftest \e$@1K$.$?$,$k\e(J
921   ()
922   (\e$@1K$0\e(J \e$@1K$.$k\e(J))
923 (deftest \e$@OC$7$?$,$k\e(J
924   ()
925   (\e$@OC$9\e(J \e$@OC$7$k\e(J))
926 (deftest \e$@;}$A$?$,$k\e(J
927   ()
928   (\e$@;}$D\e(J \e$@;}$A$k\e(J))
929 (deftest \e$@;`$K$?$,$k\e(J
930   ()
931   (\e$@;`$L\e(J \e$@;`$K$k\e(J))
932 (deftest \e$@8F$S$?$,$k\e(J
933   ()
934   (\e$@8F$V\e(J \e$@8F$S$k\e(J))
935 (deftest \e$@FI$_$?$,$k\e(J
936   ()
937   (\e$@FI$`\e(J \e$@FI$_$k\e(J))
938 (deftest \e$@J,$+$j$?$,$k\e(J
939   ()
940   (\e$@J,$+$k\e(J \e$@J,$+$j$k\e(J))
941 (deftest \e$@@.$j$?$,$k\e(J
942   ()
943   (\e$@@.$k\e(J \e$@@.$j$k\e(J))
944 (deftest \e$@@8$-$?$,$k\e(J
945   ()
946   (\e$@@8$-$k\e(J \e$@@8$/\e(J \e$@@8$$\e(J))                 ; Could be an adverb or adjective.
947 (deftest \e$@8+$?$,$k\e(J
948   ()
949   (\e$@8+$k\e(J))
950
951
952 ;;; Irregulars
953
954 (deftest \e$@Mh$?$,$k\e(J
955   ()
956   (\e$@Mh$k\e(J))
957 (deftest \e$@$-$?$,$k\e(J
958   ()
959   (\e$@$/$k\e(J \e$@$-$k\e(J))
960 (deftest \e$@$7$?$,$k\e(J
961   ()
962   (\e$@$9$k\e(J \e$@$7$k\e(J))
963
964
965 ;;; Here's a compound test.
966
967 (deftest \e$@9T$-$?$,$C$F$$$^$9\e(J
968   ()
969   (\e$@9T$/\e(J \e$@9T$-$?$,$C$F\e(J \e$@9T$-$?$,$k\e(J \e$@9T$-$?$,$&\e(J \e$@9T$-$?$,$D\e(J
970    \e$@9T$-$?$,$C$D\e(J \e$@9T$-$?$,$C$F$$$k\e(J \e$@9T$-$?$,$C$F$&\e(J \e$@9T$$\e(J
971    \e$@9T$-$k\e(J))
972 ;\e$@9T$-$?$,$C$F$$$^$9\e(J: OK
973
974 (deftest \e$@FI$s$G$$$k\e(J
975   ()
976   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
977 ;\e$@FI$s$G$$$k\e(J: OK
978 (deftest \e$@Gc$C$F$$$k\e(J
979   ()
980   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
981 ;\e$@Gc$C$F$$$k\e(J: OK
982
983 (deftest \e$@FI$s$G$$$?\e(J
984   ()
985   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$$$k\e(J \e$@FI$s$G$/\e(J))
986 ;\e$@FI$s$G$$$?\e(J: OK
987 (deftest \e$@Gc$C$F$$$?\e(J
988   ()
989   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$$$k\e(J \e$@Gc$C$F$/\e(J))
990 ;\e$@Gc$C$F$$$?\e(J: OK
991
992 (deftest \e$@FI$s$G$$$^$9\e(J
993   ()
994   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$$$k\e(J \e$@FI$s$G$&\e(J))
995 ;\e$@FI$s$G$$$^$9\e(J: OK
996 (deftest \e$@Gc$C$F$$$^$9\e(J
997   ()
998   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$$$k\e(J \e$@Gc$C$F$&\e(J))
999 ;\e$@Gc$C$F$$$^$9\e(J: OK
1000
1001 (deftest \e$@FI$s$G$"$k\e(J
1002   ()
1003   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1004 ;\e$@FI$s$G$"$k\e(J: OK
1005 (deftest \e$@Gc$C$F$"$k\e(J
1006   ()
1007   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1008 ;\e$@Gc$C$F$"$k\e(J: OK
1009
1010 (deftest \e$@FI$s$G$*$/\e(J
1011   ()
1012   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$*$$\e(J))
1013 ;\e$@FI$s$G$*$/\e(J: OK
1014 (deftest \e$@Gc$C$F$*$/\e(J
1015   ()
1016   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$*$$\e(J))
1017 ;\e$@Gc$C$F$*$/\e(J: OK
1018
1019 (deftest \e$@FI$s$G$_$k\e(J
1020   ()
1021   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1022 ;\e$@FI$s$G$_$k\e(J: OK
1023 (deftest \e$@Gc$C$F$_$k\e(J
1024   ()
1025   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1026 ;\e$@Gc$C$F$_$k\e(J: OK
1027
1028 (deftest \e$@FI$s$G$7$^$&\e(J
1029   ()
1030   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1031 ;\e$@FI$s$G$7$^$&\e(J: OK
1032 (deftest \e$@Gc$C$F$7$^$&\e(J
1033   ()
1034   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1035 ;\e$@Gc$C$F$7$^$&\e(J: OK
1036
1037 (deftest \e$@FI$s$G$/$@$5$$\e(J
1038   ()
1039   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$/$@$5$$$k\e(J \e$@FI$s$G$/$@$5$&\e(J))
1040 ;\e$@FI$s$G$/$@$5$$\e(J: OK
1041 (deftest \e$@Gc$C$F$/$@$5$$\e(J
1042   ()
1043   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$/$@$5$$$k\e(J \e$@Gc$C$F$/$@$5$&\e(J))
1044 ;\e$@Gc$C$F$/$@$5$$\e(J: OK
1045
1046 (deftest \e$@FI$s$G2<$5$$\e(J
1047   ()
1048   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G2<$5$$$k\e(J \e$@FI$s$G2<$5$&\e(J))
1049 ;\e$@FI$s$G2<$5$$\e(J: OK
1050 (deftest \e$@Gc$C$F2<$5$$\e(J
1051   ()
1052   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F2<$5$$$k\e(J \e$@Gc$C$F2<$5$&\e(J))
1053 ;\e$@Gc$C$F2<$5$$\e(J: OK
1054
1055 (deftest \e$@FI$s$G$J$5$$\e(J
1056   ()
1057   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$J$5$$$k\e(J \e$@FI$s$G$J$5$&\e(J))
1058 ;\e$@FI$s$G$J$5$$\e(J: OK
1059 (deftest \e$@Gc$C$F$J$5$$\e(J
1060   ()
1061   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$J$5$$$k\e(J \e$@Gc$C$F$J$5$&\e(J))
1062 ;\e$@Gc$C$F$J$5$$\e(J: OK
1063
1064 (deftest \e$@FI$s$G$$$/\e(J
1065   ()
1066   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$$$$\e(J))
1067 ;\e$@FI$s$G$$$/\e(J: OK
1068 (deftest \e$@Gc$C$F$$$/\e(J
1069   ()
1070   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$$$$\e(J))
1071 ;\e$@Gc$C$F$$$/\e(J: OK
1072
1073 (deftest \e$@FI$s$G$/$k\e(J
1074   ()
1075   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1076 ;\e$@FI$s$G$/$k\e(J: OK
1077 (deftest \e$@Gc$C$F$/$k\e(J
1078   ()
1079   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1080 ;\e$@Gc$C$F$/$k\e(J: OK
1081
1082 (deftest \e$@FI$s$G$"$2$k\e(J
1083   ()
1084   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$"$0\e(J))
1085 ;\e$@FI$s$G$"$2$k\e(J: OK
1086 (deftest \e$@Gc$C$F$"$2$k\e(J
1087   ()
1088   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$"$0\e(J))
1089 ;\e$@Gc$C$F$"$2$k\e(J: OK
1090
1091 (deftest \e$@FI$s$G$d$k\e(J
1092   ()
1093   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1094 ;\e$@FI$s$G$d$k\e(J: OK
1095 (deftest \e$@Gc$C$F$d$k\e(J
1096   ()
1097   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1098 ;\e$@Gc$C$F$d$k\e(J: OK
1099
1100 (deftest \e$@FI$s$G$b$i$&\e(J
1101   ()
1102   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1103 ;\e$@FI$s$G$b$i$&\e(J: OK
1104 (deftest \e$@Gc$C$F$b$i$&\e(J
1105   ()
1106   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1107 ;\e$@Gc$C$F$b$i$&\e(J: OK
1108
1109 (deftest \e$@FI$s$G$$$?$@$/\e(J
1110   ()
1111   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$$$?$@$$\e(J))
1112 ;\e$@FI$s$G$$$?$@$/\e(J: OK
1113 (deftest \e$@Gc$C$F$$$?$@$/\e(J
1114   ()
1115   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$$$?$@$$\e(J))
1116 ;\e$@Gc$C$F$$$?$@$/\e(J: OK
1117
1118 (deftest \e$@FI$s$G$/$l$k\e(J
1119   ()
1120   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$/$k\e(J))
1121 ;\e$@FI$s$G$/$l$k\e(J: OK
1122 (deftest \e$@Gc$C$F$/$l$k\e(J
1123   ()
1124   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$/$k\e(J))
1125 ;\e$@Gc$C$F$/$l$k\e(J: OK
1126
1127 (deftest \e$@FI$s$G$$$?$@$-$^$9\e(J
1128   ()
1129   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$$$?$@$/\e(J \e$@FI$s$G$$$?$@$-$k\e(J))
1130 ;\e$@FI$s$G$$$?$@$-$^$9\e(J: OK
1131 (deftest \e$@Gc$C$F$$$?$@$-$^$9\e(J
1132   ()
1133   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$$$?$@$/\e(J \e$@Gc$C$F$$$?$@$-$k\e(J))
1134 ;\e$@Gc$C$F$$$?$@$-$^$9\e(J: OK
1135
1136 (deftest \e$@Gc$C$FD:$-$^$9\e(J
1137   ()
1138   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$FD:$/\e(J \e$@Gc$C$FD:$-$k\e(J))
1139 ;\e$@Gc$C$FD:$-$^$9\e(J: OK
1140
1141 (deftest \e$@FI$s$G$/$@$5$$\e(J
1142   ()
1143   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G$/$@$5$&\e(J \e$@FI$s$G$/$@$5$$$k\e(J))
1144 ;\e$@FI$s$G$/$@$5$$\e(J: OK
1145 (deftest \e$@Gc$C$F$/$@$5$$\e(J
1146   ()
1147   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$/$@$5$&\e(J \e$@Gc$C$F$/$@$5$$$k\e(J))
1148 ;\e$@Gc$C$F$/$@$5$$\e(J: OK
1149
1150 (deftest \e$@FI$s$G>e$2$k\e(J
1151   ()
1152   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G>e$0\e(J))
1153 ;\e$@FI$s$G>e$2$k\e(J: OK
1154 (deftest \e$@Gc$C$F$"$2$k\e(J
1155   ()
1156   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$"$0\e(J))
1157 ;\e$@Gc$C$F$"$2$k\e(J: OK
1158 (deftest \e$@FI$s$G:9$7>e$2$k\e(J
1159   ()
1160   (\e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J \e$@FI$s$G:9$7>e$0\e(J))
1161 ;\e$@FI$s$G:9$7>e$2$k\e(J: OK
1162 (deftest \e$@Gc$C$F:9$7>e$2$k\e(J
1163   ()
1164   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F:9$7>e$0\e(J))
1165 ;\e$@Gc$C$F:9$7>e$2$k\e(J: OK
1166
1167 (deftest \e$@Gc$C$F:9$7$"$2$k\e(J
1168   ()
1169   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F:9$7$"$0\e(J))
1170 ;\e$@Gc$C$F:9$7$"$2$k\e(J: OK
1171 (deftest \e$@Gc$C$F$5$7$"$2$k\e(J
1172   ()
1173   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$5$7$"$0\e(J))
1174 ;\e$@Gc$C$F$5$7$"$2$k\e(J: OK
1175 (deftest \e$@Gc$C$F$5$7>e$2$k\e(J
1176   ()
1177   (\e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J \e$@Gc$C$F$5$7>e$0\e(J))
1178 ;\e$@Gc$C$F$5$7>e$2$k\e(J: OK
1179
1180 (deftest \e$@FI$`$i$7$$\e(J
1181   ()
1182   (\e$@FI$`\e(J \e$@FI$`$i$7$&\e(J \e$@FI$`$i$7$$$k\e(J))
1183 ;\e$@FI$`$i$7$$\e(J: OK
1184
1185 (deftest \e$@FI$`$=$&\e(J
1186   ()
1187   (\e$@FI$`\e(J \e$@FI$`$9\e(J))
1188 ;\e$@FI$`$=$&\e(J: OK
1189
1190 (deftest \e$@FI$`$h$&\e(J
1191   ()
1192   (\e$@FI$`\e(J))
1193 ;\e$@FI$`$h$&\e(J: OK
1194
1195 (deftest \e$@FI$`$h$&$@\e(J
1196   ()
1197   (\e$@FI$`\e(J \e$@FI$`$h$&\e(J))
1198 ;\e$@FI$`$h$&$@\e(J: OK
1199
1200 (deftest \e$@Gc$*$&\e(J
1201   ()
1202   (\e$@Gc$&\e(J))
1203 ;\e$@Gc$*$&\e(J: OK
1204 (deftest \e$@CV$3$&\e(J
1205   ()
1206   (\e$@CV$/\e(J))
1207 ;\e$@CV$3$&\e(J: OK
1208 (deftest \e$@1K$4$&\e(J
1209   ()
1210   (\e$@1K$0\e(J))
1211 ;\e$@1K$4$&\e(J: OK
1212 (deftest \e$@OC$=$&\e(J
1213   ()
1214   (\e$@OC$9\e(J))
1215 ;\e$@OC$=$&\e(J: OK
1216 (deftest \e$@BT$H$&\e(J
1217   ()
1218   (\e$@BT$D\e(J))
1219 ;\e$@BT$H$&\e(J: OK
1220 (deftest \e$@;`$N$&\e(J
1221   ()
1222   (\e$@;`$L\e(J))
1223 ;\e$@;`$N$&\e(J: OK
1224 (deftest \e$@FI$b$&\e(J
1225   ()
1226   (\e$@FI$`\e(J))
1227 ;\e$@FI$b$&\e(J: OK
1228 (deftest \e$@8F$\$&\e(J
1229   ()
1230   (\e$@8F$V\e(J))
1231 ;\e$@8F$\$&\e(J: OK
1232 (deftest \e$@8+$h$&\e(J
1233   ()
1234   (\e$@8+$k\e(J))
1235 ;\e$@8+$h$&\e(J: OK
1236
1237 ;;; Irregulars
1238 (deftest \e$@Mh$h$&\e(J
1239   ()
1240   (\e$@Mh$k\e(J))
1241 ;\e$@Mh$h$&\e(J: OK
1242 (deftest \e$@$3$h$&\e(J
1243   ()
1244   (\e$@$/$k\e(J))
1245 ;\e$@$3$h$&\e(J: OK
1246 (deftest \e$@$7$h$&\e(J
1247   ()
1248   (\e$@$9$k\e(J \e$@$7$k\e(J))                              ;\e$@$7$k\e(J due to the regular rules.
1249 ;\e$@$7$h$&\e(J: OK
1250
1251 (deftest \e$@FI$s$A$c$&\e(J
1252   ()
1253   (\e$@FI$s$G$7$^$&\e(J \e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J))
1254 ;\e$@FI$s$A$c$&\e(J: OK
1255 (deftest \e$@Gc$C$A$c$&\e(J
1256   ()
1257   (\e$@Gc$C$F$7$^$&\e(J \e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J))
1258 ;\e$@Gc$C$A$c$&\e(J: OK
1259
1260 (deftest \e$@FI$s$A$c$C$?\e(J
1261   ()
1262   (\e$@FI$s$G$7$^$&\e(J \e$@FI$s$G\e(J \e$@FI$`\e(J \e$@FI$L\e(J \e$@FI$V\e(J
1263    \e$@FI$s$A$c$&\e(J \e$@FI$s$A$c$k\e(J \e$@FI$s$A$c$D\e(J))
1264 ;\e$@FI$s$A$c$C$?\e(J: OK
1265
1266 (deftest \e$@Gc$C$A$c$C$?\e(J
1267   ()
1268   (\e$@Gc$C$F$7$^$&\e(J \e$@Gc$C$F\e(J \e$@Gc$&\e(J \e$@Gc$C$D\e(J \e$@Gc$D\e(J \e$@Gc$k\e(J
1269    \e$@Gc$C$A$c$&\e(J \e$@Gc$C$A$c$k\e(J \e$@Gc$C$A$c$D\e(J))
1270 ;\e$@Gc$C$A$c$C$?\e(J: OK
1271
1272 (deftest \e$@:o=|$9$k\e(J
1273   ()
1274   (\e$@:o=|\e(J))
1275 ;\e$@:o=|$9$k\e(J: OK
1276
1277 ;;; Honorific prefixes
1278
1279 (deftest \e$@$*?e\e(J
1280   ()
1281   (\e$@?e\e(J))
1282 ;\e$@$*?e\e(J: OK
1283
1284 (deftest \e$@$4HS\e(J
1285   ()
1286   (\e$@HS\e(J))
1287 ;\e$@$4HS\e(J: OK
1288
1289 (deftest \e$@8fHS\e(J
1290   ()
1291   (\e$@HS\e(J))
1292 ;\e$@8fHS\e(J: OK
1293
1294 ;;; Adjectives
1295
1296 (deftest \e$@?7$7$/\e(J
1297   ()
1298   (\e$@?7$7$$\e(J))
1299 ;\e$@?7$7$/\e(J: OK
1300
1301 (deftest \e$@?7$7$/$F\e(J
1302   ()
1303   (\e$@?7$7$$\e(J \e$@?7$7$/$D\e(J \e$@?7$7$/$F$k\e(J))
1304 ;\e$@?7$7$/$F\e(J: OK
1305
1306 (deftest \e$@?7$7$+$C$?\e(J
1307   ()
1308   (\e$@?7$7$$\e(J \e$@?7$7$+$&\e(J \e$@?7$7$+$D\e(J \e$@?7$7$+$k\e(J))
1309 ;\e$@?7$7$+$C$?\e(J: OK
1310
1311 (deftest \e$@855$$G$O$"$j$^$;$s\e(J
1312   ()
1313   (\e$@855$\e(J \e$@855$$G$O$"$k\e(J \e$@855$$G$O$"$j$k\e(J \e$@855$$@\e(J \e$@855$$G$9\e(J))
1314 ;\e$@855$$G$O$"$j$^$;$s\e(J: OK
1315
1316 (deftest \e$@855$$G$O$J$$\e(J
1317   ()
1318   (\e$@855$\e(J \e$@855$$G$O$J$$$k\e(J \e$@855$$G$O$J$&\e(J \e$@855$$@\e(J))
1319 ;\e$@855$$G$O$J$$\e(J: OK
1320
1321 (deftest \e$@855$$8$c$"$j$^$;$s\e(J
1322   ()
1323   (\e$@855$\e(J \e$@855$$8$c$"$k\e(J \e$@855$$8$c$"$j$k\e(J \e$@855$$@\e(J \e$@855$$G$9\e(J))
1324 ;\e$@855$$8$c$"$j$^$;$s\e(J: OK
1325
1326 (deftest \e$@855$$8$c$J$$\e(J
1327   ()
1328   (\e$@855$\e(J \e$@855$$8$c$J$$$k\e(J \e$@855$$8$c$J$&\e(J \e$@855$$@\e(J))
1329 ;\e$@855$$8$c$J$$\e(J: OK
1330
1331 (deftest \e$@?7$7$/$J$/$F\e(J
1332   ()
1333   (\e$@?7$7$$\e(J \e$@?7$7$/$J$$\e(J \e$@?7$7$/$J$/$D\e(J \e$@?7$7$/$J$/$F$k\e(J))
1334 ;\e$@?7$7$/$J$/$F\e(J: OK
1335
1336 (deftest \e$@?7$7$1$l$P\e(J
1337   ()
1338   (\e$@?7$7$$\e(J \e$@?7$7$/\e(J \e$@?7$7$1$k\e(J))
1339 ;\e$@?7$7$1$l$P\e(J: OK
1340
1341 (deftest \e$@?7$7$/$J$$\e(J
1342   ()
1343   (\e$@?7$7$$\e(J \e$@?7$7$/$J$&\e(J \e$@?7$7$/$J$$$k\e(J))
1344 ;\e$@?7$7$/$J$$\e(J: OK
1345
1346 (deftest \e$@JY6/Cf\e(J
1347   ()
1348   (\e$@JY6/\e(J))
1349 ;\e$@JY6/Cf\e(J: OK
1350
1351 (deftest \e$@7k:'<0\e(J
1352   ()
1353   (\e$@7k:'\e(J))
1354 ;\e$@7k:'<0\e(J: OK
1355
1356 (deftest \e$@K:$l$b$N\e(J
1357   ()
1358   (\e$@K:$l\e(J \e$@K:$l$k\e(J \e$@K:$k\e(J))
1359 ;\e$@K:$l$b$N\e(J: OK
1360
1361 (deftest \e$@K:$lJ*\e(J
1362   ()
1363   (\e$@K:$l\e(J \e$@K:$l$k\e(J \e$@K:$k\e(J))
1364 ;\e$@K:$lJ*\e(J: OK
1365
1366 (deftest \e$@N99T<T\e(J
1367   ()
1368   (\e$@N99T\e(J))
1369 ;\e$@N99T<T\e(J: OK
1370
1371 (deftest \e$@4[0w\e(J
1372   ()
1373   (\e$@4[\e(J))
1374 ;\e$@4[0w\e(J: OK
1375
1376 (deftest \e$@:rF|\e(J
1377   ()
1378   (\e$@F|\e(J))
1379 ;\e$@:rF|\e(J: OK
1380
1381 (deftest \e$@MhG/\e(J
1382   ()
1383   (\e$@G/\e(J))
1384 ;\e$@MhG/\e(J: OK
1385
1386 (deftest \e$@A49q\e(J
1387   ()
1388   (\e$@9q\e(J))
1389 ;\e$@A49q\e(J: OK
1390
1391 ;;; Humble
1392
1393 (deftest \e$@$*0{$_$K$J$j$^$9\e(J
1394   ()
1395   (\e$@0{$`\e(J \e$@$*0{$_$K$J$k\e(J \e$@$*0{$_$K$J$j$k\e(J \e$@$*0{$_$K$J$j$^$9\e(J 
1396    \e$@0{$_$K$J$j$^$9\e(J \e$@0{$_$K$J$k\e(J \e$@0{$_$K$J$j$k\e(J))
1397 ;\e$@$*0{$_$K$J$j$^$9\e(J: OK
1398
1399 (deftest \e$@$*0{$_$K@.$j$^$9\e(J
1400   ()
1401   (\e$@0{$`\e(J \e$@$*0{$_$K@.$k\e(J \e$@$*0{$_$K@.$j$k\e(J 
1402    \e$@0{$_$K@.$j$^$9\e(J \e$@0{$_$K@.$k\e(J \e$@0{$_$K@.$j$k\e(J))
1403 ;\e$@$*0{$_$K@.$j$^$9\e(J: OK
1404
1405 (deftest \e$@9T$C$F$-$^$9\e(J
1406   ()
1407   (\e$@9T$/\e(J \e$@9T$C$F\e(J \e$@9T$C$F$/$k\e(J \e$@9T$C$F$/\e(J \e$@9T$C$F$-$k\e(J
1408    \e$@9T$&\e(J \e$@9T$D\e(J \e$@9T$k\e(J \e$@9T$$\e(J \e$@9T$C$D\e(J))
1409 ;\e$@9T$C$F$-$^$9\e(J: OK
1410
1411 (deftest \e$@J,3d$7$J$$$h$&\e(J
1412   ()
1413   (\e$@J,3d\e(J \e$@J,3d$9$k\e(J \e$@J,3d$7$k\e(J \e$@J,3d$7$J$$\e(J \e$@J,3d$7$J$$$k\e(J \e$@J,3d$7$J$&\e(J))
1414 ;\e$@J,3d$7$J$$$h$&\e(J: OK
1415
1416 (deftest \e$@BZ:_$7$F$$$k\e(J
1417   ()
1418   (\e$@BZ:_\e(J \e$@BZ:_$9$k\e(J \e$@BZ:_$7$F\e(J \e$@BZ:_$7$D\e(J \e$@BZ:_$9\e(J \e$@BZ:_$7$k\e(J))
1419 ;\e$@BZ:_$7$F$$$k\e(J: OK
1420
1421 (deftest \e$@D9$/$J$j$^$9\e(J
1422   ()
1423   (\e$@D9$/\e(J \e$@D9$$\e(J \e$@D9$/$J$k\e(J \e$@D9$/$J$j$k\e(J))
1424 ;\e$@D9$/$J$j$^$9\e(J: OK
1425
1426 ;;; \e$@$3$l$OJ,$+$C$F$$$^$;$s!'\e(J
1427 ;;  >  |\e$@$3$l$G\e(Jxinfo\e$@$GF|K\8l$,I=<($G$-$^$9!%\e(JEmacs\e$@$N\e(Jinfo\e$@$O;H$$$:$i$+$C$?$N$G!$\e(J
1428 ;;  >  |xinfo\e$@$NB8:_$O$H$F$b$"$j$,$?$$$H;W$$$^$9!%\e(J
1429 ;; 
1430 ;; \e$@!V;H$$$:$i$+$C$?!W$H$O2?$G$9$+!#\e(J
1431 ;; \e$@"*!V;H$$$:!W$O!"!V;H$o$:!W$G$9$+!#\e(J
1432 ;; \e$@"*!V;H$o$J$+$C$?$i!W$G$9$+!#\e(J
1433 ;; \e$@$G$O!"!V;H$$$:!W$H!V$i$+$C$?!W$H!V$:$i!W$r\e(Jedict \e$@$,$o$+$i$J$C$?!#\e(J
1434 ;; \e$@;d$N@h@8$K?R$M$h$&!#\e(J
1435
1436 (deftest \e$@>/$J$+$i$:\e(J
1437   ()
1438   (\e$@>/$J$$\e(J \e$@>/$J$+$k\e(J \e$@>/$k\e(J))
1439 ;\e$@>/$J$+$i$:\e(J: OK
1440
1441 ;;; Test the various titles.
1442
1443 (deftest \e$@a15H<B@h@8\e(J
1444   ()
1445   (\e$@a15H<B\e(J))
1446 ;\e$@a15H<B@h@8\e(J: OK
1447
1448 (deftest \e$@CfB<$5$s\e(J
1449   ()
1450   (\e$@CfB<\e(J))
1451 ;\e$@CfB<$5$s\e(J: OK
1452
1453 (deftest \e$@5\K\$A$c$s\e(J
1454   ()
1455   (\e$@5\K\\e(J))
1456 ;\e$@5\K\$A$c$s\e(J: OK
1457
1458 (deftest \e$@NS7/\e(J
1459   ()
1460   (\e$@NS\e(J))
1461 ;\e$@NS7/\e(J: OK
1462
1463 (deftest \e$@>.Bt$/$s\e(J
1464   ()
1465   (\e$@>.Bt\e(J))
1466 ;\e$@>.Bt$/$s\e(J: OK
1467
1468 (deftest \e$@@1LnMM\e(J
1469   ()
1470   (\e$@@1Ln\e(J))
1471 ;\e$@@1LnMM\e(J: OK
1472
1473 (deftest \e$@8E:d$5$^\e(J
1474   ()
1475   (\e$@8E:d\e(J))
1476 ;\e$@8E:d$5$^\e(J: OK
1477
1478 ;;; Test the various number cases.
1479
1480 (deftest \e$@Fs?M\e(J
1481   ()
1482   (\e$@0l?M\e(J \e$@?M\e(J))
1483 ;\e$@Fs?M\e(J: OK
1484
1485 (deftest 17\e$@?M\e(J
1486   ()
1487   (\e$@0l?M\e(J \e$@?M\e(J))
1488 ;17\e$@?M\e(J: OK
1489
1490 (deftest \e$@#1#7?M\e(J
1491   ()
1492   (\e$@0l?M\e(J \e$@?M\e(J))
1493 ;\e$@#1#7?M\e(J: OK
1494
1495 ;;; This one caused infinite recursion, due to a hole in the
1496 ;;; redundant-expansion checking (things didn't get checked for redundancy
1497 ;;; quite soon enough, so short cycles weren't detected).
1498
1499 (deftest \e$@=P$F\e(J
1500   ()
1501   (\e$@=P$k\e(J \e$@=P$F$k\e(J \e$@=P$D\e(J))
1502 ;\e$@=P$F\e(J: OK
1503
1504 ;;; This one caused infinite recursion, due to failure to root certain
1505 ;;; patterns.  I've since added checks on the patterns to enforce rootedness.
1506
1507 (deftest \e$@DL$8$k\e(J
1508   ()
1509   ())
1510 ;\e$@DL$8$k\e(J: OK
1511
1512 (deftest \e$@#2<oN`\e(J
1513   ()
1514   (\e$@0l<oN`\e(J \e$@<oN`\e(J))
1515 ;\e$@#2<oN`\e(J: OK
1516
1517 (deftest \e$@$"$+$$$8$c$"$j$^$;$s\e(J
1518   ()
1519   (\e$@$"$+$$$G$9\e(J \e$@$"$+$$$8$c$"$k\e(J \e$@$"$+$$$8$c$"$j$k\e(J \e$@$"$+$$$@\e(J \e$@$"$+$0\e(J \e$@$"$+$&\e(J \e$@$"$+$$$k\e(J \e$@$"$+$$\e(J))
1520 ;\e$@$"$+$$$8$c$"$j$^$;$s\e(J: OK
1521
1522 (deftest \e$@1+$G$7$g$&\e(J
1523   ()
1524   (\e$@1+$G$9\e(J \e$@1+$@\e(J \e$@1+\e(J))
1525 ;\e$@1+$G$7$g$&\e(J: OK
1526
1527 (deftest \e$@G-\e(Js
1528   ()
1529   ()
1530   (\e$@G-\e(J))
1531 ;\e$@G-\e(Js: OK
1532
1533 (deftest keys
1534   (english)
1535   (key))
1536
1537 (deftest families
1538   (english)
1539   (family))
1540 ;families: OK