我正在尝试将Slim模板语言(http://www.slim-lang.com)移植到PHP。我也想为PHP提供一些细节,但我无法确定表达是否完整。
例如这段代码:
- 1.upto(10)
= i
实际上会被解释为
1.upto(10) {
print i
}
Slim会添加{}本身。为此,需要解析表达式。我需要确定的是我应该放置大括号,如果是,那么在哪里?
我的Slim实现版本会将slim文件转换为PHP模板,因此来自此代码的结果:
- for($i = 0; $i < 10; ++$i) /// a comment
= $i
应该是
<? for($i = 0; $i < 10; ++$i) { /// a comment ?>
<?= $i ?>
<? } ?>
注意{是。
我知道有token_get_all
函数,但它是一个词法分析器,我必须自己做整个解析器,我想避免重新实现解析器(对于这么小的东西太多了)。
这可以解决吗?非PHP解决方案也可以。