首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写编程语言规范?

如何编写编程语言规范?
EN

Software Engineering用户
提问于 2010-12-03 19:58:26
回答 5查看 4K关注 0票数 20

我真的很喜欢编程语言设计。有时,我认为我的语言项目及其潜在用户将受益于一份全面的标准文件。我看过许多语言标准,从非常正式的(C++)到相当非正式的(ECMAScript),但我无法真正掌握如何分解和组织这样的文档,尽管我认为我在总体上非常擅长技术写作。

我应该把它写得像一篇冗长的教程,还是更像一篇正式的数学论文?如果我正在与引用实现一起开发它,那么如何保持它的最新呢?我应该放弃,把实现和文档当作事实上的标准吗?此外,有一个标准真的有任何重大的好处吗?要求一个标准是否意味着语言是不必要的复杂?

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2010-12-03 23:23:33

我发现Java语言规范既正式又可读性强,我认为它有一个合理的结构。一些W3C规范也可能是很好的例子。

做正式的工作可以帮助你降低语言的复杂性,并发现问题的症结。

标题脑转储:源编码、词法、基本类型、文字、运算符、表达式、简单语句、条件、循环、函数(定义和调用)、类型声明、模块、编译单元、变量范围、各种名称解析(例如导入、方法)、内存模型、副作用、键入、并发…

票数 4
EN

Software Engineering用户

发布于 2010-12-03 20:28:29

大量阅读并保持简单,

设计一种新的语言很难。真的很难。但是,如果它变得流行起来,并真正解决了人们正在以优雅的方式体验到的问题,那么最终是非常令人满意的。

正如我在评论中提到的,我建议您阅读领域特定语言(马丁·福勒),原因如下:

  1. 他深入探讨了为什么要设计一种语言。
  2. 详细介绍了如何做到这一点(解析器、词法分析器、语言工作台等)
  3. 有详细的实现说明,说明如何使所选择的语法处理闭包、注释、文字列表、动态接收等概念。

至于如何编写您的说明,请考虑您的听众。显然,在把手指放在键盘上设计你的语言之前,你会仔细考虑它的意图。

如果它是一种新的解释语言来取代JavaScript,那么您将需要一种非常放任的方法,以便能够以有限的注意力范围和对即时结果的渴望--如果可能的话,更快地接触到web开发人员。

如果它将用于下一个任务到土卫六,那么非常详细的规格,显示每个组件行为的精确形式证明将是最低的入门水平。

所以,这不是一件简单的事情。为了接近规范,您最好在创建您的语言方面获得大量经验,并与那些日常使用它们的人一起工作。如果你有自愿的受害者..。呃..。开发人员,在工作中,谁可以花一些时间来学习你的语言,然后他们可以给你反馈什么是需要让他们使用它。

总之,保持简单,更多的人会使用它。

票数 8
EN

Software Engineering用户

发布于 2010-12-03 23:35:27

Wirth设计并实现了许多编程语言:其中,奥伯伦Oberon2语言的规范以其完整性、简洁性和可读性著称。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/23542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档