跳轉到內容

Ring/Lessons/自然語言程式設計

來自 Wikibooks,開放的書本,開放的世界

自然語言程式設計

[編輯 | 編輯原始碼]

使用 Ring 程式語言,我們可以基於類和物件建立自然程式語言。

2010年,我開發了一種名為 Supernova 的新程式語言(使用 PWCT 開發)。這種語言使用類似於自然語言語句的程式碼來建立簡單的 GUI 應用程式。現在,五年後,在 Ring 程式語言中,我們可以獲得類似的結果,但現在我們能夠在任何我們喜歡或需要的領域建立/使用類似於自然語言語句的程式碼。

Ring 程式語言附帶 Supernova sprite,但具有更強的通用性和其他語言 sprite 的混合。

以下示例演示如何建立一個定義兩個指令的類

第一個指令是:我要視窗

第二個指令是:視窗標題 = <expr>

還有可以忽略的關鍵字,例如“the”關鍵字

	New App 
	{
		I want window 	
		The window title = "hello world"
	}

	Class App

		# Attributes for the instruction I want window
				i want window 
				nIwantwindow = 0
		# Attributes for the instruction Window title
		# Here we don't define the window attribute again
				title 
				nWindowTitle = 0
		# Keywords to ignore, just give them any value
				the=0	

		func geti
			if nIwantwindow = 0
				nIwantwindow++
			ok

		func getwant
			if nIwantwindow = 1
				nIwantwindow++
			ok

		func getwindow
			if nIwantwindow = 2
				nIwantwindow= 0
				see "Instruction : I want window" + nl
			ok
			if nWindowTitle = 0
				nWindowTitle++
			ok
	
		func settitle cValue
			if nWindowTitle = 1
				nWindowTitle=0
				see "Instruction : Window Title = " + cValue + nl
			ok

輸出

	Instruction : I want window
	Instruction : Window Title = hello world


華夏公益教科書