首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种可个性化的编程语言,您可以使用它来转换成其他语言?

有没有一种可个性化的编程语言,您可以使用它来转换成其他语言?
EN

Software Engineering用户
提问于 2012-01-21 16:55:13
回答 10查看 2.1K关注 0票数 13

是否有一种编程语言,您可以在其中设置自己的语法配置,并将代码转换为您选择的语言?

例如,您可以选择特定的配置,如“Python的索引块”、[a,b,c]初始化数组、用于指数运算的^等。一个脚本会把它转换成你选择的语言的等价物。

EN

回答 10

Software Engineering用户

发布于 2012-01-21 17:24:00

是的,但可能不是你想的那样。

Lisp及其相关的宏系统功能强大,可以对源执行任意转换,因此原则上您可以使用宏(以及字符级的读取器宏)来进行您喜欢的任何扩展。反义词语 (以及相关领域的作者编写的语言)具有类似元编程功能的潜力。这方面的一个很好的例子是第四,其中许多语法结构(如注释)可以由用户定义。对于一个当代的、非深奥的例子,还有一项工作是在Perl 5的基础上改进Perl 6用户定义语法的支持。

票数 14
EN

Software Engineering用户

发布于 2012-01-22 01:18:39

听起来像概念规划

我不太熟悉它,但是XL是一种专门为它设计的语言。

XL功能程序员-可重构的语法和语义。编译器插件可用于向语言添加新功能。

Lisp和Forth也支持概念编程,尽管小于XL。我建议Lisp因为它是非常实用和有效的。最重要的是一个清晰灵活的语法,而不是Lisp提供的符号。

例如,您可以选择特定的配置,如“Python的索引块”、"a、b、c“初始化数组、"^”进行指数运算等。

您可能对Haskell这样的语言感兴趣,它具有非常灵活但统一的语法。

票数 3
EN

Software Engineering用户

发布于 2012-01-22 00:24:25

据我所知不是。

我也不认为这是一个特别好的主意--标准语言语法的主要好处之一是很多人都能读懂它,如果每个人都发明了自己的语法,那么没有人能够理解其他人的代码……因此,这种语言对一个爱好者来说可能很有趣,但对任何实际应用来说却没有多大用处。

最接近的可能是Lisp,宏系统允许您以非常灵活的方式编写自己的新语言结构。通常,您仍然坚持Lisp语法,但是如果您真的愿意的话,可以有效地重新定义所有内容。

因此,Lisps在实现DSL方面特别受欢迎。一个很好的例子是这个Clojure中的数据访问DSL (Korma),它负责数据库访问所需的所有样板代码。

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

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

复制
相关文章

相似问题

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