PHP:搞清楚php表达式完整吗?

时间:2012-12-01 00:50:12

标签: php parsing static-analysis php-parser

我正在尝试将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解决方案也可以。

0 个答案:

没有答案