我一直在研究Python的替代编译器前端,其中所有语法都通过宏进行解析.我终于到了开发阶段,我可以开始研究Python语言的超集,其中宏是一个不可或缺的组件.
我的问题是我无法想出pythonic宏定义语法.我在下面的答案中用两种不同的语法发布了几个例子.任何人都可以提出更好的语法吗?它不必以任何方式构建我提出的语法 - 我在这里完全开放.任何评论,建议等都会有所帮助,显示我发布的示例的替代语法也是如此.
关于宏结构的注释,如我发布的示例中所示:使用MultiLine/MLMacro和Partial/PartialMacro告诉解析器如何应用宏.如果是多行,则宏将匹配多个行列表; 通常用于构造.如果它是部分的,宏将匹配列表中间的代码; 通常用于运营商.
就是想...
我发现使用转义字符太分散注意力了.我宁愿做这样的事情(控制台代码):
>>> print ^'Let's begin and end with sets of unlikely 2 chars and bingo!'^ Let's begin and end with sets of unlikely 2 chars and bingo!
注意'
字符串内部,以及这种语法如何对它没有任何问题,或基本上所有情况下的其他内容.太糟糕的降价不能正确地着色(还),所以我决定了<pre>
.
当然,^
可能是任何其他的char,我不确定什么会更好看/工作.这对我来说听起来不错,所以.
可能其他一些语言已经有类似的解决方案.并且,也许,Python已经有这样的功能,我忽略了它.我希望是这样的.
但是,如果不是,那会是太难到,不知何故,改变Python的解释,并能够选择标注所述所串任意(甚至是标准化的)语法?
我意识到有很多方法可以通过使用预编译器来改变语句和整个语法,但这更具体.走这些路线是我称之为"太难".我真的不需要这样做,所以,我只是想知道.