Oberon/命名
外观
< Oberon
关于常量、变量、类型、过程、函数和模块名称的约定可以在 Oberon 语言常见问题解答 中找到。
在 Oberon 系统;用户指南和程序员手册 的第 42 页,马丁·莱瑟指出:
2.7 命名
- Oberon 提供结构化的名称来标识对象,例如文件、服务器和查看器。名称的语法为:
- 名称 = 名称部分 { "." 名称部分 }
- 名称部分 = 字母 { 字母 | 数字 }
为什么使用如此原始的语法?可读性是一个明显的因素。安全性是一个大胆的行动者。Linux 文件名 举例说明。
为了识别目标硬件,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 模块。
- ↑ 参考 Oberon (2019) 语言报告 (PDF) 第 5 章 模块。