Help in English (under construction)

cfepについて

cfep は "10進ベーシック" のユーザインタフェースを参考にして作成した OpenXM ユーザインタフェースです (MacOS X 10.4 以上用).
入力窓にプログラムなどを入力して 始め ボタン (または command+enter キー)をおすとプログラムの実行や計算を開始し, その結果(最後の文の評価値)を出力窓へ表示します ( 実行例). 入力窓の内容はリッチテキストファイル(rtf, rtfd)としても保存できます. 始めボタンの横のチェックボックスにチェックをつけておくと, 選択した範囲のみを 評価(計算やプログラムの実行を)します. デフォールトの計算エンジンは計算代数システム Risa/Asir です.


cfep のインストール

準備

インストール

cfep の アーカイブ をダウンロードし, これを開いて "いのぶたくん" のアイコン を好きな場所にコピーするだけ. システムからの削除は "いのぶたくん" をゴミ箱へいれるだけ.
詳しくは こちら を見て下さい.

cfep 1.1b-intel の特徴 (2010.10)

  1. intel CPU 専用 asir binary.
  2. ヘルプの充実.
  3. 出力を TeX でタイプセットするモード, ノートブック風インタフェース (実験的).

cfep 1.0 の特徴 (2006.02.25)

  1. Editorと計算エンジンの統合環境.
  2. OpenGL仕様の一部分を実現した OpenGL インタプリターを内蔵 (実験的). OpenGL実行例(スクリーンショット)
    Samples フォルダの ファイル ray, icosahedron, simple-gl-1 等を御覧ください.

入門

  1. Cfep/asir 超入門 (pdf/next2.pdf) (内容: 電卓としての利用. cfep の操作方法. エラーメッセージ. 変数とプログラム. エンジンの再起動. ヘルプの利用. グラフィック. For 文による数列の計算. cfep インタフェース上級編. 選択範囲のみ実行. OpenGL)
  2. Risa/Asirドリル2010 (pdf/asir-book.pdf) , ( HTML版 (ネットワーク) ).

索引(組み込み関数の詳しい説明)

  1. 使用説明書のフォルダをfinderで開く
    検索したい言葉をスポットライトの窓へ入力 .
    検索のヒント: PDF文書のみから検索したい場合は "検索語 kind:pdf" と入力.
  2. cfep の操作説明. 入門 および よくある質問 上級編 を参照.
  3. Risa/Asir マニュアル
  4. Risa/Asir実験的機能マニュアル
  5. Asir マニュアル, Asir-contrib, 実験的関数マニュアルも含むより詳しい関数一覧 (ネットワーク)

良くある質問 初級編

よくある質問 上級編へ.

Q. リッチテキストで保存したファイル (rtf, rtfd ファイル) が Windows 版や unix 版の asir で実行できません.

rr 形式か txt 形式 (テキスト形式)でセーブしてください. cfep の漢字コードは UTF-8 です. したがって漢字コードの変換が必要な場合もあります.

Q. #include や #define がつかえません.

おまちください.

Q. OpenGLのグラフィック画面を印刷できません

まだ実装していません. とりあえずは "shift" と "コマンド" と "3" を一緒におす事により スクリーンのコピーがデスクトップにファイルとして保存されますのでそれを使ってください. "shift" と "コマンド" と "4" を一緒におす事で マウスでドラッグした範囲のみをファイルに保存できます. コマンドラインからは screencapture コマンドを用います.

Q. グラフィックが表示されません

原因はいろいろ想定されますが, 一番よくあるのは flush 系の命令が実行されて いない状態です. glib_flush または OpenGL の glFlush コマンドが実行されるまで, 実際の表示はされません. OpenGLの Window を動かしたりすると, これらのコマンドを実行したのと近い状態になるので, 表示されることがあります.

グラフィックの表示がだんだん遅くなります.

たくさんの点をうったりすると OpenGL インタプリタの構造上の特性からメモリを浪費し, 動作速度の低下をまねきます. 不必要な OpenGL グラフィックオブジェクトを消しておくのが効率的利用には必要です. glib 系では glib_remove_last(); コマンドが一つ前の OpenGL グラフィックオブジェクトを消します.

Basic の input 文にあたる命令はありますか?

準備中です. 以下のようなプログラムである程度の代用にになるかもしれませんが繁雑ですね.
for (I=0; I<5; I++) {
 print("xterm に数を入力してください");
 shell("/usr/X11R6/bin/xterm -exec pico /tmp/abc.txt");
 F=open_file("/tmp/abc.txt","r");
 S=get_line(F);
 V=eval_str(S);
 print(V,0); print(" を入力しましたね.");
 close_file(F);
 shell("rm -f /tmp/abc.txt");
}

Graphic 画面に文字をどのように書きますか?

この機能も準備中です. とりあえずは line 命令を組み合わせて書くしかないです.

計算エンジンが起動できません.

ファイアウオール機能を一時的にオフにして起動できたら, ファイアウオールの設定の問題です. 自分から自分自身への通信はすべて通すように設定してください.

良くある質問 上級編

Q. asir 以外の計算エンジンは接続できますか?

OpenXM 100, 103 プロトコルをサポートしている計算エンジンなら接続可能です. 計算エンジンとは ox_texmacs を介して接続しています. 起動スクリプトはリソースになっています. 1.1 以降は kan/sm1 の起動もメニューに組み込まれています.

Q. cfep はどのような言語で書かれていますか?

Cocoa ツールキットを用いて objective C で書かれています. ソースコードは OpenXM の cvsweb の OpenXM/src/cfep を御覧ください.

Q. コマンドライン版 asir は含まれていますか?

cfep.app/OpenXM/bin にあります. cfep.app/OpenXM/rc の下で make を動かして openxm スクリプトを生成してください. 環境変数を自動設定します. openxm asir で OpenXM版の asir が起動します.

Q. Asir-contrib でロードされるファイルを変更したい.

cfep.app/OpenXM/rc/asirrc を編集.

Q. OpenXM サーバが実行される時の PATH 環境変数の値を変えたい.

ちょっと裏技ですが, 言語毎のリソースで PATH の値を設定することで変更します. 日本語環境なら cfep.app/Contents/Resource/Japanese.lproj/Localizable.strings に utf16 で "PATH"="PATH環境変数の値"; を加えます. (Prefererece で変えることができるようにする予定). 参照: cfep/MyEnvironment.m, initFor:

Q. TeX をインストールしてあるのに tex でタイプセットできません

cfep は /sw/bin (fink) または /usr/local/bin に latex, dvipng が存在していると仮定してます. 詳しくは cfep/MyEnvironment.m, initFor: をみてください.

Q. debug window を表示してエラーが発生した時の変数を調べたいのですが.

debug window を表示させるため, X11 が動作していることが大前提です.
例 
ctrl("debug_window",1);
import("glib3.rr");
glib_line("hoge",1,1,1);

list
print X
などを debug window 
   
へ入力すると, 出力小窓にプログラムリストや値が表示されます.  debug window を表示させないようにするには,

    ctrl("debug_window",0);

を実行します.  
なおこれは裏技的機能です. 将来的には OpenXM の error packet により, cfep と融合した形で処理する予定です.

glib で OpenGL でなく X11 を使いたい.

裏技的方法ですが, import("glib3.rr"); の後で
Cfep_loaded = 0;
としておくと, X11 で描画されます. 大量の点をプロットする場合 OpenGL インタプリタの構造上メモリを浪費するので, このような場合は X11 で描画するべきでしょう.

TeX でタイプセットした数式をプログラムの中から印刷したい.

例:
 import("names.rr");   または asir-contrib を読み込んでおいてもよい.
 for (I=4; I<10; I++)  cfep.png_form(poly_factor(x^I-1));