PL/I(PLI)言語コンバージョン・サービス(Java版)

PL/I言語をJavaに変換します。

以下にPL/I言語からJava言語に変換した例を掲載します。

プログラム例

変換前 PL/Iソース(一部割愛)

      
 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;
      
    

このページのトップへ戻る

変換後 Javaソース(一部割愛)

      
 /*** 
  *   ****************************************************************
  * ** 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);   }   }  }

このページのトップへ戻る