天天看點

Linux上配置BIP語言編譯器及引擎

BIP語言是一個強大的模組化語言,本文将介紹如何在Linux上對BIP語言的編譯器和引擎進行安裝,并運作一個BIP2語言的HelloWorld程式。BIP語言的編譯器僅在GNU/Linux系統上做過測試,雖然官網上說也支援Mac OSX系統,但是目前沒有提供支援。經過本文的測試,BIP語言的編譯器可以在Mac OSX上安裝,但是由于官方并沒有提供BIP語言引擎Archive架構的編譯版本,是以引擎并不支援Mac OSX。

本文使用的是Ubuntu12.04.2版本,BIP語言使用的是最新的BIP2,編譯器和引擎使用的是2013年6月的版本。下面以一個剛剛安裝完成的Ubuntu系統為例,介紹整個安裝過程。

首先,我們從$ cd bip-full

$ source ./setup.sh

然後我們需要将bipc-2013.06-RC5目錄下的bin檔案夾添加到環境變量中:

$ export PATH=$PATH:/A目錄/bipc-2013.06-RC5/bin
           

接着我們開始安裝BIP編譯器和引擎所需要的一系列依賴項:

1.C++編譯環境,雖然Linux自帶有gcc編譯器,但是裡面缺少了很多功能,是以我們需要再安裝一些包:

$ sudo apt-get update
           

先更新一下apt-get裡面的連結,否則會報Unable to locate package build-essential錯誤,再安裝build-essential:

sudo apt-get install build-essential
           

2.JDK環境,可參考 這篇文章,或者直接運作:

$ apt-get install openjdk-6-jre
           

3.cmake指令,直接運作:

$ sudo apt-get install cmake
           

4.gawk指令,直接運作:

$ sudo apt-get install gawk
           

最後就可以開始運作HelloWorld程式了。首先在B路徑(任意)下建立一個HelloPackage的目錄,再在HelloPackage目錄下建立一個HelloPackage.bip檔案,内容如下:

package HelloPackage
  port type HelloPort_t()

  atom type HelloAtom()
    port HelloPort_t p()
    place START,END
    initial to START
    on p from START to END
  end

  compound type HelloCompound()
    component HelloAtom c1()
  end
end
           

切換到HelloPackage目錄下,依此運作以下指令:

$ bipc.sh -I . -p HelloPackage -d "HelloCompound()"\
  --gencpp-output output
$ mkdir output/build
$ cd output/build
$ cmake ..
[...]
$ make
[...]
           

即可完成對BIP語言的編譯,最後我們來運作:

$ ./system
           

得到以下結果:

[BIP ENGINE]: initialize components...
[BIP ENGINE]: state #0: 1 internal port:
[BIP ENGINE]:   [0] ROOT.c1._iport_decl__p
[BIP ENGINE]:  -> choose [0] ROOT.c1._iport_decl__p
[BIP ENGINE]: state #1: deadlock!
           

至此,我們就完成了BIP語言編譯器和引擎的安裝和測試。

繼續閱讀