跳轉到內容

Oberon/命名

來自華夏公益教科書,開放的書籍,開放的世界

關於常量、變數、型別、過程、函式和模組名稱的約定可以在 Oberon 語言常見問題解答 中找到。

檔案、伺服器和檢視器

[編輯 | 編輯原始碼]

Oberon 系統;使用者指南和程式設計師手冊 的第 42 頁,馬丁·萊瑟指出:

2.7 命名

Oberon 提供結構化的名稱來標識物件,例如檔案、伺服器和檢視器。名稱的語法為:
名稱 = 名稱部分 { "." 名稱部分 }
名稱部分 = 字母 { 字母 | 數字 }

為什麼使用如此原始的語法?可讀性是一個明顯的因素。安全性是一個大膽的行動者。Linux 檔名 舉例說明

A2 中的命名

[編輯 | 編輯原始碼]

為了識別目標硬體,A2 採用了一些關於 檔名副檔名 的約定。

在軟體內部,A2 擁有 Oberon 子系統。在“模組上下文提案”中,F. Friedrich 和 F. Negele 解決了子系統模組名稱與 A2 模組名稱之間的區別。避免名稱衝突的語法在 Active Oberon[1] 中。

Module := 'MODULE' [TemplateParameters] Identifier ['IN' Identifier] ';' ...

因此,這個例子。

MODULE System IN Oberon;

按照慣例,該檔案可以使用用 "." 分隔的識別符號命名。因此,與上述示例相關的檔名是“Oberon.System.Mod”。

通用上下文

[編輯 | 編輯原始碼]

在缺乏上下文的語法中,註釋中的識別符號可以幫助解釋模組的使用方法。

Module := 'MODULE' Identifier '(* IN' Identifier '*);' ...

Oberon 檔案系統不支援資料夾,但包含模組原始碼的檔名稱可以與模組名稱不同。因此,可以透過新增字首來避免檔名衝突。

NameOfModuleFile := Identifier Identifier '.Mod'

例如,在 ETH Oberon 中,jdEdit.Mod 會暗示 J. Doe 已經從一個版本中修改了 Edit 模組。

  1. 參考 Oberon (2019) 語言報告 (PDF) 第 5 章 模組。
華夏公益教科書