PL/I言語をJavaに変換します。
以下にPL/I言語からJava言語に変換した例を掲載します。
TEST1: PROC OPTIONS(MAIN);
/* **************************************************************** */
/* ** TEST SAMPLE 1 ** */
/* ** ** */
/* **************************************************************** */
DCL INFL INPUT RECORD BUF ;
DCL OUTFL OUTPUT RECORD BUF ;
DCL 1 INFILE,
2 DATA1 CHAR(5),
2 DATA2 CHAR(1),
2 DATA3 CHAR(74);
DCL SW1 CHAR(001) INIT('0');
ON ENDFILE(INFL) SW1='1';
READ FILE(INFL) INTO(INFILE);
DO WHILE(SW1='0');
IF INFILE.DATA2='3' THEN
DO;
DATA2 = SW1;
WRITE FILE(OUTFL) FROM(INFILE);
END;
READ FILE(INFL) INTO(INFILE);
END; /* DO WHILE */
END TEST1;
/***
* ****************************************************************
* ** TEST SAMPLE 1 **
* ** **
* ****************************************************************
*/
public class Test1 extends PLIPGMBase {
//***************************************************************************
//開始処理
//***************************************************************************
public void execute() throws Exception {
try{
initRtn();
mainRtn();
}catch (Exception e){
errorRtn(e);
throw e;
}finally{
try {
finalRtn();
} finally {
dispose();
}
}
}
//***************************************************************************
//* メイン処理*
//***************************************************************************
private PLIFile infl = new PLIFile("INFL",80);
private PLIFile outfl = new PLIFile("OUTFL",80);
private INFILE infile = new INFILE();
private String sw1 ="0";
private void mainRtn() throws Exception {
infl.read(infile);
if (infl.isEOF()){
sw1="1";
}
while(sw1.equals("0")){
if (infile.getDATA2().equals("3")){
infile.setDATA2(sw1);
outfl.write(infile);
}
infl.read(infile);
if (infl.isEOF()){
sw1="1";
}
}
}
/**
* 初期化処理(ファイルオープン等)
*/
private void initRtn() throws Exception{
infl.openInput();
outfl.openOutput();
}
/**
* 終了処理(ファイルクローズ等)
*/
private void finalRtn(){
try{
infl.close();
}catch(Exception e){
errorRtn(e);
}
try{
outfl.close();
}catch(Exception e){
errorRtn(e);
}
}
}