My開発メモ

Schemeで、’|’を含む正規表現に対応させる

emacs では、Gaucheプログラミングのときには、以下のように scheme.el を使っている。

~/.emacs.d/init.el

;;;============================================
;;; Gauche
(load "gauche")

~/.emacs.d/elisp/gauche.el

(autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)

これで、XXX.scmファイルを読み込むと、「scheme-mode」となる。

ところで、正規表現でつまづいた。

以下のような ‘|’ が使えない。

(#/^(Sun|Mon)/ "Sunday")

Emacsが()の対応をとってくれないのである。

ここでグーグルさんに相談すると、以下のサイトを教えてくれた。

(参考サイト)Gauche gauche-mode

以下、gauche-mode を導入する。

gauche-modeのインストール

gauche-mode は、Github にあった。

leque/gauche-mode

~/.emacs.d フォルダにて、gitクローンする。

~/.emacs.d $ git clone https://github.com/leque/gauche-mode

emacs設定ファイルの修正

参考サイトのように、~/.emacs.d/elisp/gauche.el を修正する。

~/.emacs.d/elisp/gauche.el

(autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)

(setq auto-mode-alist
      (cons '("\.\(scm\)$" . gauche-mode) auto-mode-alist))
(autoload 'gauche-mode "gauche-mode" "Major mode for Scheme." t)
(autoload 'run-scheme "gauche-mode" "Run an inferior Scheme process." t)

~/.emacs.d/init.el

;;;============================================
;;; Gauche
(load "gauche")
(add-to-list 'load-path (expand-file-name "~/.emacs.d/gauche-mode"))
(load "gauche-mode")

これで、Emacsを再起動すると、scmファイルの読み込みで、gauche-mode になる。

カテゴリー: Lisp, memo

タグ: Gauche, Scheme, 正規表現

カウント: 183