第 7 章 言語処理系 172
7.2 Java コンパイラ
トと呼ばれるWebページなどに埋め込み可能なプログラムを作ることができます.これについて は,この節の後半で説明をしていきます.
7.2.1 Java プログラムのコンパイルと実行
Javaのソースファイルのファイル名は,ファイル中で宣言されているクラスの名前に,“.java”
の拡張子をつけたファイルにしなければなりません.例えば,MyTestというクラスの定義を含む ソースファイルは,MyTest.javaというファイル名でなくてはなりません.
まず,サンプルとして“Hello, Java World!”と表示するためのプログラムを紹介します.このプ ログラムは,以下の通りとなります.
Listing 7.1: MyTest.java
1 public class MyTest {
2 public static void main ( String args []) {
3 System . out . println (" Hello ,␣ Java ␣ world !");
4 }
5 }
このプログラムをコンパイルするためには,javacコマンドを用いて以下のようにコマンドを入 力します.
$ javac MyTest . java
これにより,MyTest.classという名前のクラスファイル(Class File)が生成されます.クラスファ イルとは,ソースファイルをコンパイルした結果のバイトコードが書かれています.バイトコード は,Javaの実行環境が解釈して実行します.この実行環境のことをJava Runtime Environment
(JRE)と言います.
Javaの実行環境を使ってプログラムを実行させるためには,javaコマンドを使用します.引数 には,main関数の入っているクラスのクラス名を指定します.引数に指定するのは,あくまでも クラス名のみで,クラスファイルの名前ではないことに注意します.
MyTestクラスを実行させる場合には次のようにします.
$ java MyTest Hello , Java world !
$
7.2.2 Java アプレットのコンパイルと実行
アプレットを使用したプログラムでは,通常のJavaプログラムと比べてプログラムの作り方が 変わってきます.また,Webページ上に埋め込むので,HTMLファイルも必要になってきます.
ここでは,サンプルとして,アプレットのウィンドウを開いて“Hello, Java World”と表示する プログラムを説明します.サンプルのJavaのコードは以下の通りです.
Listing 7.2: MyTestApl.java
1 import java . applet . Applet ;
2 import java . awt . Graphics ;
3
4 public class MyTestApl extends Applet {
5 public void init () {
6 resize (150 ,30) ;
7 }
8 public void paint ( Graphics g) {
9 g. drawString (" Hello ,␣ Java ␣ world !",50 ,25) ;
10 }
11 }
これをコンパイルするには,先ほどと同じようにしてjavacコマンドを使用します.
$ javac MyTestApl . java
コンパイルしたアプレットのプログラムを呼び出すためのHTMLファイルを用意します.今回 は,以下のファイルを使用します.
Listing 7.3: MyTestApl.html
1 <html>
2 <head>
3 <title> MyTestApl Applet </title>
4 </head>
5 <body>
6 MyTestApl Applet
7 <hr>
8 <applet code=" MyTestApl . class " width=150 height=30 ></applet>
9 <hr>
10 <a href=" MyTestApl . java "> Source </a>
11 </body>
12 </html>
これを実行するには,appletviewerコマンドを使用します.また,このプログラムを実行すると 図7.1のようになります.
$ appletviewer MyApplet . html
図7.1: Javaアプレットの実行画面