イカ娘語変換関数、アップデート

2010-11-26に書いたイカ娘語変換関数は、その後もいろいろな文章を変換しながら、調整を続けているでゲソ。現在はこんな感じで落ち着いているでゲソが、「おなかがすきました。」が「おなかがすきたでゲソ。」に変換されるという体たらくでゲソ。だであるの文章と違い、ますましたの変換は難しいでゲソ。

;; Ika-Musume-Go-Translator
(defun ika-laitor ()
  (interactive)
  (let (ikago-ptn)
    (setq ikago-ptn '(
		      ("いか" "イカ")
		      ("ないですか" "なイカ")
		      ("\\(で\\|に\\)?ございます" "でゲソ")
		      ("\\(で\\|に\\)?ございました" "だったでゲソ")
		      ("\\(だろうか\\|か\\|かな\\|でしょうか\\)\\(\\?\\|?\\|。\\)" "じゃなイカ?")
		      ("\\(い\\|言\\)います" "\\1う")
		      ("\\(い\\|言\\)いません" "\\1わない")
		      ("\\(い\\|行\\)きます" "\\1く")
		      ("\\(い\\|行\\)きません" "\\1かない")
		      ("ありません" "ないんじゃなイカ?")
		      ("ませんでした" "なかったでゲソ")
		      ("ません" "ない")
		      ("である" "でゲソ")
		      ("\\(でした\\|だった\\)" "\\1ゲソ")
		      ("ください" "くれでゲソ")
		      ("あります" "ある")
		      ("します" "する")
		      ("ます" "る")
		      ("ました" "た")
		      ("でした" "だ")
		      ("\\(き\\|来\\)ます" "きる")
		      ("あなた\\|あんた\\|貴方\\|貴女\\|キミ" "おまえ")
		      ("だけれど\\|だけど\\|だが" "でゲソが")
		      ("たけれど\\|たけど\\|たが" "たでゲソが")
		      ("\\(で\\)\\(す\\)" "\\1ゲソ")
		      ("\\(る\\|た\\|す\\|い\\|う\\|く\\|つ\\|む\\|ぐ\\|ぶ\\)\\(よ\\|ね\\|な\\)?\\(。\\|!\\|$\\)" "\\1でゲソ\\2\\3")
		      ("\\(だ\\)\\(よ\\|ね\\|な\\)?\\(。\\|!\\|$\\)" "でゲソ\\2\\3")
		      ;("\\(え\\|け\\|せ\\|て\\|ね\\|へ\\|め\\|れ\\|げ\\|ぜ\\|で\\|べ\\|ぺ\\|い\\|き\\|し\\|ち\\|に\\|ひ\\|み\\|り\\|ぎ\\|じ\\|ぢ\\|び\\|ぴ\\|見\\|減\\|\\)る\\(が\\|けど\\|けれど\\)" "\\1るでゲソ\\2")
		      ("だったゲソでゲソ" "でゲソ")
		      ("でゲソじゃなイカ" "でゲソか")
		      ("んでゲソ" "のでゲソ")
		      ))
    (while ikago-ptn
      (goto-char (point-min))
      (while (re-search-forward (car (car ikago-ptn)) nil t)
	(replace-match (cadr (car ikago-ptn))))
      (setq ikago-ptn (cdr ikago-ptn)))))