(defun concord-kanbun-add-word-class (word-superclass
word-class
- word-subclass1 word-subclass2)
+ word-subclass1 word-subclass2
+ word-subclass3)
(let (wc-name wc-cobj wc-name-id)
(when (and word-superclass
(not (string= word-superclass "*")))
(when (and word-subclass2
(not (string= word-subclass2 "*")))
(setq wc-name
- (format "%s,%s" wc-name word-subclass2))))))
+ (format "%s,%s" wc-name word-subclass2))
+ (when (and word-subclass3
+ (not (string= word-subclass3 "*")))
+ (setq wc-name
+ (format "%s,%s" wc-name word-subclass3)))))))
(unless (setq wc-cobj (concord-decode-object
'=name wc-name
'word-class@zh-classical))
(defun concord-kanbun-add-morpheme (entry word-superclass word-class
word-subclass1 word-subclass2
+ word-subclass3
canonical-form
ja-form ja-kana ja-conj-type)
(let* (entry-cobj
mm-name
mj-name mj-id mj-cobj)
(when entry
- (setq wc-name (format "%s,%s,%s,%s"
- word-superclass word-class
- word-subclass1 word-subclass2))
+ (setq wc-name
+ (if (or (null word-subclass3)
+ (string-equal word-subclass3 "*"))
+ (format "%s,%s,%s,%s"
+ word-superclass word-class
+ word-subclass1 word-subclass2)
+ (format "%s,%s,%s,%s,%s"
+ word-superclass word-class
+ word-subclass1 word-subclass2
+ word-subclass3)))
(setq mm-name (format "%s (%s) [%s]"
entry canonical-form wc-name))
(setq mj-name (format "%s (%s (%s),%s)"
(list canonical-entry-cobj))))
(when (setq wc-cobj (concord-kanbun-add-word-class
word-superclass word-class
- word-subclass1 word-subclass2))
+ word-subclass1 word-subclass2
+ word-subclass3))
(concord-object-put mj-cobj '->word-class (list wc-cobj)))
(concord-object-put mj-cobj 'ja-form ja-form)
(concord-object-put mj-cobj 'ja-kana ja-kana)
(let* ((ret (split-string string "\t"))
(ret2 (split-string (nth 1 ret) ",")))
(list (car ret)
- (car ret2)(nth 1 ret2)(nth 2 ret2)(nth 3 ret2)
+ (car ret2)(nth 1 ret2)(nth 2 ret2)(nth 3 ret2)(nth 4 ret2)
(nth 6 ret2)
(nth 7 ret2)(nth 8 ret2)(nth 9 ret2))))