/var/log

技術系のあれこれ。※内容は個人の発言であり、所属する組織を代表するものではありません。

OpenCobol@Eclipse

ひっさびさの更新.



OpenCobol を Eclipseで使おうと試みる.

EclipseCOBOL plug-in は
Fujitsu のNetCobol をコンパイラーとして想定しているらしい...


当然,NetCOBOLがないと動かない.


そこで,ちょっと工夫することで問題を解決する.

参考サイト
http://www.hop-penchan.org/yogawa/tool/opencobol/index.xml






環境としては...

OS:Mac OS X 10.6.4
EclipseEclipse 3.5 Galileo
プラグインcobol_plugins_3.4.0_linux32

ちなみに,この記事の時点ではプラグインはアーカイブになっていた.
http://www.eclipse.org/archived/index.php
http://archive.eclipse.org/tools/archives/cobol.tgz






1,プラグインEclipseに適用後,プロジェクトを作成する.
2,プロジェクトの Other Files の build.xml を見る
3.NETCOBOL に関する記述から,配置するべき場所を見つける


4.調べた場所に cobol という名前で シェルを書く



シェルの中身はこんな感じ
(参考サイトとほぼ同じです)

#!/bin/bash
# netCOBOL -> OpenCOBOL
echo " =NetCOBOL>OpenCOBOL: $*"
compiler="/sw/bin/cobc"

exefile=""
dolink=true
mainp=""
copylib=""

while getopts ":cMI:o:" optioncode; do
  case $optioncode in
    c ) dolink=false ;;
    M ) mainp="-x" ;;
    I ) wOPTARG=${OPTARG%;} ; copylib="-I ${wOPTARG//;/ -I }" ;;
    o ) exefile=" -o $OPTARG" ;;
    \? ) ;;
  esac
done
shift $((OPTIND - 1))

if [ $dolink = false ]; then
# command="$compiler $mainp -c $copylib $*"
   command="$compiler -c $copylib $*"
  echo " =Compile: $command"
  $command
fi
if [ $dolink = true ]; then
#  command="$compiler -x $exefile $*"
   command="$compiler $exefile $*"
  echo " =Link: $command"
  $command
fi
#eof


違いは,OpenCOBOLに "-x" オプションがなくなっているところかな?



これで,
ソースの編集も簡単になり
コンパイルとかは出来るようになります.


ただし,Eclipse上から実行する方法は分かりません(ーー;


まぁEclipseの使い方,そのものも私は理解してないのでしょうがない(爆




他にも
Cobos Projectってのが有望っぽい.
けど,使い方がわからんかった(笑

とりあえず,
情報が少ない気がする.

まぁ
COBOL自体が商用という側面が強いから,仕方ないのかな?






P.S.
OpenCOBOL自体が,
ソースをC言語のソースに変換して,コンパイルしているという性質上

PROGRAM-ID に main というのは使えません.


最初,これにハマりました(笑