2014-01-01から1年間の記事一覧

TeXだってテスト書きたい

TeX

これはTeX & LaTeX Advent Calendar 2014,14日目の記事です. 13日目はneruko3114さん,15日目はh-kitagawaさんです. はじめに TeXでマクロを記述するにあたり,問題になるのはマクロが想定した動作をするか否かである.他のプログラミング言語*1と比較し…

LISP on TeX v1.3

TeX

久しぶりの更新はLISP on TeXバージョンアップな話.更新点は次の2つ. 環境のバグ修正 one shot continuationsの実装 詳細を示す. 環境のバグ修正 これは,Twitterやここで示されたバグ.要はローカル変数のスコープがおかしくなってしまっている.簡単な…

LISP on TeXを作る(評価器編2)

TeX

前回の続き.evalの本丸である関数適用の説明に入ろう. consセルの評価 関数適用が起こるタイミングとはすなわち,consセルが評価されるタイミングである.まずは,consセルのデータ構造を確認しておこう.consセルは,次の形をもつトークン列である. \@tl…

LISP on TeXを作る(評価器編1)

TeX

LISP on TeXネタの最終消費作業*1.今回は評価器編.ここが本丸と言いたいところだったが,あまりに分量が多かったため,評価器編は2回に分割する.前編はevalの基本構造,後編は関数適用がメインである. データ構造と評価の基本構造 再確認になるが,LISP …

LISP on TeXを作る(パーサ編)

TeX

LISP on TeXネタを全部消費して,新たなるTeX芸へ向かうためのソリューションその2.今回はパーサ編.要はS式を解釈して前回のデータ構造編で説明したデータへ変換するマクロがどのように構成されているかを示す.これから説明するマクロは,lisp-read.styに…