高度情報演習1A スクリーンセーバ作成 2016年4月13日 情報工学科 篠埜 功
内容 スクリーンセーバ記述言語の設計 各自が設計した言語のプログラムを読み込んでスクリーンセーバを実行するプログラムを作成 このような特定用途の言語をdomain specific language(領域特化言語)という。スクリーンセーバ作成用に言語を作る人はまずいないと思われるが、演習に適していると考え、これを題材とする。 各自が設計した言語のプログラムを読み込んでスクリーンセーバを実行するプログラムを作成 設計する言語は非常に単純なものでよいが、新しい言語の設計を必須とする。構文解析プログラムは手書きでよいが、複雑な記述言語を設計する場合はlex, yaccの使用を推奨する。 画像の描画にはOpenGL等を使用する。(他のライブラリを使ってもよい) コンパイル環境はMinGWを用いる。(他の環境を用いてもよい)
例 簡単なスクリーンセーバ記述言語のプログラム例: UUUUUUUUUUUUUUUUUUUURRRRRRRRRRRRRRRRRRRRDDDDDDDDDDDDDDDDDDDDLLLLLLLLLLDDDDDDDDDDLLLLLLLLLLUUUUUUUUUU Uは上、Dは下、Rは右、Lは左を表すものとし、 この方向に少しずつ正方形が動いていく。
デモ 私が作成した例 昨年度の学生が作成した例
スケジュール 第1回 --- スクリーンセーバ記述言語の簡単な具体例およびその言語を読み取ってスクリーンセーバを実行するプログラムの提示 第1回の残り時間〜第3回 --- 自分でスクリーンセーバ記述言語を設計し、その言語を読み取ってスクリーンセーバを実行するプログラムの作成 第4回 --- 第5回で発表できるようにスライド等を準備 第5回 --- 自分の設計した言語の説明およびその言語で記述したスクリーンセーバプログラムの具体例を1つ動作させるという発表を1人ずつPowerpoint等を用いて行う。
評価 第5回の発表により評価を行う。(体調不良等で第5回に出席できない場合は電子メールでのレポート提出で採点する。) 私の提示した記述言語とは異なる言語(簡単なものでよい)を設計し、何らかのスクリーンセーバが動作していれば6割の得点を確保する。
注意事項 学情センターのパソコンでは、(システムポリシーにより)スクリーンセーバを各自で設定できないように制限がかけられているいるため、.scrファイルを直接実行することによりスクリーンセーバを動作させることとする。