dsl
dsl
PHODAL

查看标签 dsl

去年,我们在那篇《编程语言的 IDE 支持》详细讨论了在不同 IDE、编辑器里,它们是如何提供对于编程语言的支持。在这一篇文章里,我们将不那么详细地讨论一下:不同的编程语言如何提供文档支持?如此一来,也能在未来为 Datum Lang 提供相关的理论体系支持。这里所指的编程语言的文档体系,主要是指语言标准库中的文档。

最近的一些日子里,又陷入了平凡、无聊、繁琐的业务代码开发中,生活变得无比的枯燥。每天面对着大量重复、而又没有办法得胜的代码,总会陷入忧虑之中。

而在实现几个重复的业务代码时,我发现了一个更好的方式,使用领域特定语言。

上个月将关注点放在了DSL上面,也就是DSL三步曲的第一步,一个简单的自然语言时间解析。

在计划着写一个NLP程序的时候,发现Firefox上有一个方法叫__noSuchMethod__,看上去就是元编程的味道,接着继续往下搜索的时候发现,利用ES6的Proxy可以实现元编程。

在过去的两星期里,一直在尝试了解如何从头开始设计一个系统的构架。虽然过去的那些岁月里,做过一些小的系统、小的软件,也尝试性的做过一些架构的设计。但是毕竟都是比较简单的系统,没有设计过一些复杂点的案例。暂时看不到有趣的新技术的出现,想着深入一些系统思想的同时,也想着自己设计一个复杂点的系统,然后实现。

之所以说轻量的原因是他是拿命令行测试的,还有DSL,还有Python。

在看JavaScript Template源码的时候,发现有一个很有意思的用法用来生成函数,想到这不就是元编程么?

认真研究了一会DSL,发现了这么几件有趣的事,JavaScript用得最多的一个东西怕是链式调用 (方法链,即Method Chaining)。 有意思的是Martin Flower指出:

DSL(domain-specific languages)即领域特定语言,唯一能够确定DSL边界的方法是考虑“一门语言的一种特定用法”和“该语言的设计者或使用者的意图。在试图设计一个DSL的时候,发现了一些有意思的简单的示例。

Feeds

RSS / Atom

最近文章

存档

2026 (1 月)
2025 (12 个月)
2024 (12 个月)
2023 (12 个月)
2022 (12 个月)
2021 (12 个月)
2020 (12 个月)
2019 (12 个月)
2018 (12 个月)
2017 (12 个月)
2016 (12 个月)
2015 (12 个月)
2014 (12 个月)
2013 (9 个月)
2012 (3 个月)
2011 (1 月)
2010 (1 月)
1991 (1 月)

分类

标签

作者