0

所以我最近决定,对于一个有趣的小宠物编程项目,我会设计自己的语言并围绕它构建工具(编译器、autodoc、autolint)。到目前为止,我还处于语言设计阶段,遇到了一个让我有点卡住的话题:关键字应该大写吗?

关键字,我不是指内置类型或函数,我指的是“FOR”“IF”“ELSE”等词。我使用它背后的逻辑是识别代码结构和语法要快得多,特别是如果语法突出显示不可用(某些地方仍然不可用,例如打印源或网站)。大部分时间都花在阅读代码上,因此提高阅读代码的效率是有意义的,但代价是每个关键字必须按两次大写锁定,或者在键入时按住 shift 键。大家对此有何看法?

另外,我知道这只是一个愚蠢的宠物项目,但我希望把它做好,我有点完美主义者。而且我还计划自己使用它只是为了玩耍,同时继续优化/开发(当然是学习目的)。所以我不会做出让我后悔的决定,也不会不得不破坏我以前的所有代码,甚至可能是编译器。

先感谢您。

编辑:因为它只用于这样的主要关键字,它也可以避免阅读大写字母的认知减慢,并使代码从“尖叫”到很多。

4

3 回答 3

2

我个人认为这是一个错误。我不太可能使用让我在输入代码时将鼠标悬停在 CAPSLOCK 键上的语言,或者强迫我按住 SHIFT 键的次数超过我需要的次数。

如果认为这是必要的,这可能是我留给编辑器或 IDE 的事情。但是,老实说,有彩色打印机彩色 HTML 标记标签,所以根据您的问题内容,​​我不相信这种必要性。

于 2012-12-08T04:49:59.787 回答
2

Oberon 编程语言就是这样工作的。我发现它的可读性很强,但用手打字有点不愉快。我在编辑器中为所有控制结构设置了自动完成模板,这很烦人,但在那之后我很满意。

我说去吧,如果你喜欢它的样子。很多人不会喜欢它,但也许少数人会分享你的口味并喜欢它。

顺便说一句,Wirth 博士(oberon、modula-2、pascal 的创建者)在他的主页上有相当不错的关于构建编译器的书:

所有代码都是用 Oberon 编写的,因此您可以使用您正在谈论的样式查看语言的外观。

于 2012-12-08T12:13:54.563 回答
0

以下是我能想到的优点。第 2 点和第 3 点假定程序员只使用小写或混合大小写的标识符。

  1. 阅读源代码时,可以立即清楚什么是关键字,什么不是。

  2. 程序员可以使用任何名称作为标识符。

  3. 可以在不破坏现有程序的情况下将新关键字添加到语言中。

  4. 当关键字以散文形式编写时,不需要额外的格式,例如粗体或打字机字体。此外,在语言语法中,不需要额外的引号将关键字与非终结符号分开。

以下是我能想到的缺点:

  1. 大写单词更难输入(手写也更慢)。

  2. 如今,当小写关键字成为常态时,包含大量大写单词的源代码可能看起来不熟悉。

第一个缺点可以通过使用“智能”编辑器部分克服,该编辑器在您键入时将一些小写单词转换为大写。

于 2014-03-17T15:24:17.533 回答