メモ --spreadsheet calculator(sc)

きちんとまとめたいと思いつつ果たせなかった文書の成れの果て。

Spreadsheet calculator(sc)

ここで扱うspreadsheet calculatorとは、「James Gosling氏によって書かれ、Mark Weiser氏によって修正・vcの名でUSENETに投稿され、その後多くの人々により修正された」(sc manpageより)仮想端末上で動作するパブリックドメインのスプレッドシート・ソフトウェアを指す。 現在(sc-7.16)のメンテナはChuck Martin氏であり、本体はftp://ibiblio.org/pub/Linux/apps/financial/spreadsheet/で得ることができる。

筆者は某RH系Linuxディストリビューション、およびMac OS X (10.3)にて動作を確認している。

現在のscに関する文書は日本語・英語問わず極めて限られている模様。日本語の関連文書としては、喜多敏博氏のsc(spreadsheet calculator)の紹介がある。その他の情報は、主にmanページなどの付属文書や試行、ソースコードなどから得ることになる。

Notes(含感想)

パッチファイル (2009.9.20追加)

筆者の環境で用いているgcc-4.3.3では、構文規則が厳しくなったためか、xmalloc.c記述エラーのためsc-7.16はビルドできなくなっている。 また、記述を直しても、lex.cの変数の初期化の解釈が変わったためか、入力に対し常時syntax errorを返すscができてしまう。

実用上問題があるので、これらの問題を解消したパッチファイルを作成した。 また、メンテナのChuck Martin氏とは記載メールアドレスからは連絡がつかないようなので ひとまずここに公開することにした。

(例によって無保証です。gcc-4.3.3、gcc-3.4.4でビルドを確認しています。)

# 上記問題のほか、以下の項目を修正・追加しています:

古い試作スクリプト(advanced macro)

# 2009.9.20: 以下の記述は3年前の古いものであり、下記スクリプトも上記パッチファイルを適用すれば不要なものです。

出力形式にtsv(tab-separated value)が欲しかったため、sc用advanced macroとして個人使用向けに簡単なスクリプトを作成した。

基本的にtsv出力向けだが、冒頭のユーザ定義部を書き換えればcsvやセパレータなしとしても使える筈。後者は系統的なソースプログラムの作成に一応使用できる(HTMLのtable要素等)。

scにおけるマクロについてはmanページ、advanced macroについては、sc同梱のSC.MACROSを参照の事。このスクリプトはmergeやコマンド呼び出し、plugout等として用いる事ができる。

既知の問題

# ファイル入出力等を行う事もあり、スクリプトのバグに伴って、scファイル以外の部分に及ぶ打撃を与える可能性があります。

# このスクリプト、及びその実行に起因するあらゆる損害について、筆者はその責を負いかねます。