我目前正在编写我自己的语言(无耻插件),它以灵活性为中心。我试图通过扩展/插件之类的东西使语言语法的几乎任何部分都可以交换。写完整篇的时候,我一直在思考。我想知道这种灵活性如何影响语言。
我知道 Lisp 由于其广泛的宏系统而经常被称为最可扩展的语言之一。我确实理解宏的概念,但我还没有找到一种允许某人改变解析方式的语言。据我所知,几乎每一种语言都有一个非常具体的语法,由一些冗长的规范定义。
我的问题是灵活的语法如何影响语言的直观性和可用性?我知道基本的“当语法改变时人们可能会感到困惑”和“语义分析会很困难”。这些是我已经开始补偿的事情。我正在寻找关于使用灵活语法的利弊的更具概念性的答案。
语言设计的话题对我来说仍然很陌生,所以如果我问一个明显或其他愚蠢的问题,我很抱歉!
编辑: 我只是想澄清我问的问题。就语言理论而言,语言语法的灵活性究竟在哪里?我真的不需要具有灵活性的示例或项目/语言,我想了解它如何影响语言的可读性、功能和其他类似的东西。