1 (defun concord-kanbun-corpus-insert-morpheme (morpheme)
2 (let ((entry (concord-object-get morpheme '->entry@morpheme))
3 (word-class (concord-object-get morpheme '->word-class))
4 (canonical-form (concord-object-get
5 morpheme '->entry@morpheme/canonical))
6 (ja-form (concord-object-get morpheme 'ja-form))
7 (ja-kana (concord-object-get morpheme 'ja-kana))
8 (ja-conj-type (concord-object-get morpheme 'ja-conjugation-type))
9 (name (concord-object-get morpheme '=name))
12 (setq entry (concord-object-get (car entry) '=name)))
16 (concord-object-get (car word-class) '=name)
20 (concord-object-get (car canonical-form) '=name)
24 (nth 1 (split-string name "\t;\\s "))))
26 (format "%s\t%s,%s,%s,%s,%s,*,%s,%s,%s,%s%s\n"
28 (or (car word-class) "*")
29 (or (nth 1 word-class) "*")
30 (or (nth 2 word-class) "*")
31 (or (nth 3 word-class) "*")
32 (or (nth 4 word-class) "*")
33 (or canonical-form "*")
34 ja-form ja-kana ja-conj-type
36 (format "\t; %s" comment)
39 (defun concord-kanbun-dump-file (source dest-dir)
41 (let ((coding-system-for-write 'utf-8-jp-er)
44 (while (setq s-obj (concord-decode-object
45 '=id (intern (format "%s/%s" source i))
46 'sentence@zh-classical))
47 (when (setq morphemes (concord-object-get s-obj '->morphemes))
48 (dolist (morpheme morphemes)
49 (concord-kanbun-corpus-insert-morpheme morpheme))
52 (write-region (point-min)(point-max)
53 (expand-file-name source dest-dir)))))