國人開發的程式語言-“明”語言

gkmail發表於2015-02-28

明程式語言是一種簡單快速的動態指令碼語言。它支援以下特性

  •     解釋執行,不需要編譯
  •     動態引數型別,不需要設定引數型別
  •     透過GC(垃圾收集器)自動管理記憶體分配和釋放
  •     物件導向
  •     多重繼承
  •     運算子過載
  •     提供資料構建運算子,方便複雜物件的建立
  •     閉包與函式等價
  •     多核/多執行緒最佳化
  •     支援嵌入其他型別的文字檔案(如HTML,XML)
  •     支援用C/C++擴充套件
  •     提供C API,可整合到其他程式中

明語言程式碼以GPL3釋出。目前版本為0.1.2。

下面的一段程式碼演示了透過明語言呼叫Gtk建立視窗和控制元件的過程。

import("GI")
import("GLib")
import("Gtk")

const __main__ = {

	Gtk.init(argv)

	var win = Gtk.Window(Gtk.WindowType.toplevel):[
		.title = "Gst player"
		.["destroy"] = Gtk.main_quit
		+=Gtk.HBox(true, 0):[
			+=Gtk.Button():[
				.set_label("open")
				.["clicked"] = {
					var dlg = Gtk.FileChooserDialog("Open", win, Gtk.FileChooserAction.open,
							"Close", Gtk.ResponseType.close,
							"Open", Gtk.ResponseType.ok)

					dlg.run()
					dlg.destroy()
				}
			]

			+=Gtk.Button():[
				.set_label("quit")
				.["clicked"] = {
					win.emit("destroy")
				}
			]
		]
	]

	Gtk.main()
}

官方主頁: http://gkmail.gitcafe.io/ming

下載:

git git clone https://gitcafe.com/gkmail/ming.git'
程式碼包 ming-0.1.2.tar.gz
linux i686 ming-i686-linux-0.1.2-00040101.tar.gz
linux x86_64 ming-x86_64-linux-0.1.2-00040101.tar.gz
WIN32 ming-win32-0.1.2-00040101.tar.gz
WIN64 ming-win64-0.1.2-00040101.tar.gz

編譯和安裝:

./autogen.sh
./configure --prefix=/usr
make
sudo make install

生成文件:

make doc

歡迎對指令碼語言感興趣的朋友一起交流。

  • 你希望指令碼語言中引入哪些特性?
  • 你希望整合哪些庫?
  • 你希望增加那種新的功能?
  • 你對虛擬機器等底層設計有什麼想法?

都可以提出自己的意見和建議。

聯絡郵件:gkmail@sina.com

相關文章