xyzzy

lispで言語実装

新年だし、言語実装の勉強をはじめよう。ベース言語にはlispを選択。以下の手順で進めようと考えている。 電卓の実装 TinyCの実装 若干実用的な言語の実装 lisp処理系は、xyzzy lispを利用する。 電卓の実装(1) 字句解析 「(100+3)*10」のような入力に対して…

日付と名前を挿入してコメントを書く。

今日のはいつにも増して小ネタlispです。 一つのソースコードを複数人で触る場合、変更した場所に「変更日にち」と「変更者」を書き入れる、というルールはありませんか? あまり一般的でない? 少なくともウチではそういう事になっていたので、ワンキーで日…

ファイルの更新日時をyankにコピー

もしかしたら誰かの役に立つかもしれないので、今日もlispを1つ。 ファイルの更新日時をyankにコピーするlispです。設定方法。以下のlispを.xyzzyにコピーする。現在はCtrl-wとCtrl-Alt-wにバインドしているので、お好みのキーにバインドしなおす。以上。 …

行番号付きで一行コピー

(defun copy-line-with-linenum () ;行番号付きで一行コピー (interactive) (set-kill-ring (format nil "~A:~D: ~A" (buffer-name (selected-buffer)) (current-line-number) (copy-line2))) (popup-string "行コピー" (point))) (defun set-kill-ring (str…

Googleで検索するlisp

誰でも1度はつくる、キーワードをGoogleで検索するlisp。 一応[Shift-F1]にバインドしている。 (global-set-key #\S-F1 'search-google-selection) (set-function-bar-label #\S-F1 "Google") (defun get-selection-string() (selection-start-end (start e…