ガイダンス資料 - 学術情報センター

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