2016年度「プログラミング言語」配布資料

矢杉和義 (京都大学大学院情報学研究科 通信情報システム専攻)

2016年12月4日

[ 講義ホームページ・トップ ]

under construction 2019年度用に改訂予定

「プログラミング言語」で用いる開発環境の利用方法

「プログラミング言語」では、主に以下の3つの言語について学習します。

このページでは、OCamlおよびCの開発環境の利用方法について説明します。

わからないことがあれば、 に質問してください。

OCamlの開発環境の利用方法

OCamlのプログラムを開発するには、まずトップレベル対話環境を利用するとよいでしょう。 ターミナルを開き、 ocaml コマンドを実行することで、OCamlの対話環境を展開できます。 この対話環境は #quit;; を実行することで終了できます。 また、 #use "file.ml";; を実行することで、そのディレクトリにある file.ml の内容を取り込むことが出来ます。

OCamlのソースファイルから実行可能ファイルを作成したい場合は、 ocamlopt コマンドを利用します。 次のように ocamlopt コマンドの引数にファイル名を指定すると、そのファイルの内容をOCamlのソースコードとして解釈し、対応する実行可能ファイルを作成します。

ocamlopt file.ml

作成される実行可能ファイルの名前はデフォルトでは a.out ですが、 -o オプションに続けて指定することで別の名前で作ることも出来ます。 次の例は、実行可能ファイルをデフォルトの a.out ではなく test.out の名前で作成します。

ocamlopt file.ml -o test.out

Emacsを用いたOCamlの開発環境の利用方法

Emacsを用いてOCamlのプログラムを開発するとき、tuaregというパッケージを用いることで効率よく開発を行うことが出来ます。 そこで、ここではtuaregの導入方法を説明します。 なお、Emacsのバージョンが24未満の人は、24以上になるように前もってアップグレードしておいてください。

  1. Emacsの設定ファイルに以下の設定を追加します。 ~/.emacs に設定を書いている人はそこに、そうでない人は ~/emacs.d/init.el に書くとよいです。

    (require 'package)
    ;; MELPA-stableを追加
    (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
    ;; 初期化
    (package-initialize)
  2. Emacsを再起動して、 M-x package-list-packages を実行します。 するとEmacsにインストールすることができるパッケージの一覧が表示されます。 この中から tuaregexec-path-from-shell というパッケージを(C-sなどを用いて)検索して、それぞれの行の上で i を入力します。 2つのパッケージの頭に I マークがついたら x を入力してパッケージのインストールを実行します。 なお、このパッケージの一覧は q で閉じることが出来ます。 その他の実行可能なコマンドは h を入力することで確認できます。

  3. これで拡張子 *.ml を持つファイルをEmacsで開いたときに tuareg-mode が起動するようになります。 tuareg-mode はOCamlのソースコードを解釈して適切にハイライトしてくれます。 また、 C-c C-e を入力することでカーソルの指す文を対話環境上で実行することができるようになります。

Cの開発環境の利用方法

OCamlと違って、Cの開発環境には対話環境はありません。 Cのソースファイルから実行可能ファイルを作成するには gcc コマンドを用います。

gcc file.c

作成される実行可能ファイルの名前はデフォルトでは a.out ですが、 -o オプションに続けて指定することで別の名前で作ることも出来ます。

gcc file.c -o test.out

ただし、「プログラミング言語」はC99標準に従っているので -std=c99 -pedantic オプションも指定するべきでしょう。

gcc -std=c99 -pedantic file.c

また、 -Wall -Wextra オプションを指定することで、よくある間違いに警告を出してくれるようになるので、こちらも指定しておくとよいかもしれません。

gcc -std=c99 -pedantic -Wall -Wextra file.c

[ 講義ホームページ・トップ ]


Copyright 矢杉和義, 2016, 2017, 2018, 2019, 2020