确定自定义语言的类型[关闭]

问题描述 投票:0回答:2

我正在考虑专门用于图形的小语言,它将提供很多功能来操纵图形等。

因此,当我思考语言的语法时,我读到了功能性和“显而易见的”命令式范例。如何确定哪种语言风格会更好?哪一个更适合我的用例?我将感谢您提供一些很好的理由和解释的答案。

编辑:对于使用该语言的读者:我相信没有编程经验的非程序员/研究人员仍然可以使用图形,这将受益匪浅。

编辑:如果您认为这个问题没有用,可以公开投票反对,但请添加评论,说明为什么您认为值得。这可能对我有很大帮助。

compiler-construction programming-languages functional-programming interpreter imperative-languages
2个回答
1
投票

并不是您大部分问题的答案,但我设计了一些玩具语言(并考虑了一些非玩具语言)。我发现考虑一下我希望用该语言完成的各种工作很有帮助,然后尝试实际编写一些示例程序之前设计它,以查看概念如何产生。

很难陷入不必要的细节,例如需要括号的内容,确切地如何指示结构,如何声明变量和类型(如果需要的话,等等)。对此,您实际上并不对语法感兴趣阶段(编写示例程序时有点奇怪),因此它更接近伪代码。但这可以帮助巩固您所需的原语,语言用户将要考虑的概念。

如果您仍在权衡命令式和功能性等基本选择,请尝试几种不同的方法。例如,您的语言以命令式编写图形转换时需要提供哪些构建块?功能风格呢?这样做可以帮助您了解每种方法中哪种方法行之有效,每种方法需要解决哪些问题,等等。


1
投票

IMO,当您尝试设计一些简单的语言时,通常会知道谁会使用它以及它将做什么。然后,首先尝试“使用它”,考虑其中的书写方式。不要考虑范式之类的东西-当语言变大时,您会开始担心-但也许不会:)它可以作为具有基本数学式语法的简单交互式外壳而结束。

© www.soinside.com 2019 - 2024. All rights reserved.