プログラミング言語処理系

演習の進め方

教育用計算機システムでは、Linux/Windows の両方が利用できます。 いずれにせよこの演習では Linux 上のシステムを使用しますが、 以下では、簡単にツールの利用方法を説明します。 ツールの具体的な使用方法は各自が調べて下さい。

Linux をブートして利用する場合

Red Hat Linux を起動したウィンドウ環境を使用する場合は、 おおむね次のようにして演習を行ないます。
  1. 画面左上にあるアプリケーションメニューをクリックし、 システムツールの中の「GNOME 端末」を選択し、起動します。 以降、コマンドはこの中から利用します。
  2. 初回にはホームディレクトリ上にこの授業用のディレクトリを作りましょう。 ここでは Compiler としておきます。
    また、各回毎にディレクトリを作りましょう。 第1回目のテキスト用の場合、no1 のようなディレクトリ名にします。
  3. サンプルの入力、課題の作成にはテキストエディタを使います。 画面左上のアプリケーションメニューの中にある「プログラミング」メニュー から、emacs, xemacs, eclipse のいずれかを使用します。
    これらはコマンドラインからも起動できます。 これらの他、vi, gedit というエディタもあります。

    それぞれの具体的な使用方法は各自で調べて下さい。

  4. 入力が終わったら、保存しますが、保存先は当該演習用のディレクトリ を指定しましょう。
    エディタの起動をコマンドラインからすると、そのディレクトリがデフォルト になるので、便利です。
  5. 一連の流れの例を示します。

Windows 環境から使用する場合

Windows 環境からは putty を使用します。 (将来的には tera term がサポートされるかもしれない。)
putty による接続はこちらをご覧下さい。
ここからの作業は上述の Linux 環境でコマンドを入力していくのと同様です。。 ただし、上述の Linux 環境ではエディタ等を別ウィンドウで開くことができるが、 Windows 上に Linux のウィンドウを開くことはできません。 このため、編集作業等もこの putty のウィンドウ内で行なうことになります。 emacs や vi などはこの環境でも使用できます。。

コマンドの簡単な解説

コメンド名使い方、例、など
cd change directory
ディレクトリの移動。 単に cd とだけ打つとホームディレクトリへ移動する。 現在のディレクトリ (current directory) がどこであるかを表示するには、 pwd というコマンドを使う。
親ディレクトリは、.. とドットを二つならべたもので表現する。 例えば、Compiler ディレクトリの中に no1 と no2 二つのディレクトリがあり、 現在、no1 にいるが、no2 に移りたいときは、次のように打つ。
$ cd ../no2
つまり、1つ上の no2 ということである。
mkdir ディレクトリを作る。
mv mv file1 file2 のように使うことで、ファイル名を file1 から file2 へ変更する。file2 がディレクトリの場合、file1 を file2 の中へ入れることになる。
cp cp file1 file2 のように使うことで、file1 の内容をコピーした file2 が作られる。
file2 がディレクトリの場合、file1 をコピーし、file2 の中に file1 を作る。
あるディレクトリの中味をごっそりコピーしたい場合には -r オプションを付ける。 例えば、no1 ディレクトリの中味をごっそり、no1.bak としてコピーしたい場合、
$ cp -r no1 no1.bak
のように実行する。
rm ファイルの削除。 ディレクトリを削除するには rmdir を使う。 ディレクトリの中身ごとごっそり削除したい場合は、 -r オプションをつけて実行する。 削除されたファイルは復原できないので注意。

コマンドのバックグラウンド実行、サスペンド、などについて

UNIX (Linux) でコマンドを実行する際、& をつけて起動すると、 バックグラウンド実行になります。
通常、コマンドは1つ実行し、その1つが終わると次を入力して実行し、 と順番に実行をしていきます。しかし、実際にはコマンドを複数、 同時に実行することも出来ますし、一時休止 (サスペンド susupend) させることも出来ます。
例えば、Windows 環境で putty を使って icho にログインしていることを想定してみましょう。 まず、emacs sample1.l などとし、入力を開始します。 一通り入力が終わり、保存(Ctrl-x Ctrl-s) します。 このとき、Ctrl-z を入力することで、 emacs を一時休止できます。 たとえば、つぎのようなメッセージがでます。
[1]+  Stopped                           emacs -nw
[nakai@icho ~]$
ここで flex などコマンドを実行し、例えば、入力ミスがあった場合、 fg と入力することでもとの編集画面に戻ります。

このようにして、putty のようにウィンドウが1つしか使えない状況でも、 複数の仕事を並行して行なうことができます。

注意

サスペンドしたことをわすれて新たに編集を始めると、 以前のエディタと新しいエディタで1つのファイルの違うバージョンを操作することになります。

なお、コマンドの一時休止が Ctrl-z であり、 コマンドの実行中止には Ctrl-c を使用します。 プログラムを作ってみたものの、無限ループに陥って、 そのプログラムを止めたいときには Ctrl-c を使います。


ファンレターはこちらまで♪

2006.04.08 作成