Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:找出PHP表达式是否完整?_Php_Parsing_Static Analysis_Php Parser - Fatal编程技术网

PHP:找出PHP表达式是否完整?

PHP:找出PHP表达式是否完整?,php,parsing,static-analysis,php-parser,Php,Parsing,Static Analysis,Php Parser,我正在尝试移植Slim模板语言http://www.slim-lang.com 到PHP。我也想为PHP提供一些细节,但我无法确定表达式是否完整 例如,此代码: - 1.upto(10) = i - for($i = 0; $i < 10; ++$i) /// a comment = $i 实际上将被解释为 1.upto(10) { print i } Slim将添加{}本身。为此,需要对表达式进行解析。我需要确定的是我是否应该放支架,如果是,那么放在哪里 我

我正在尝试移植Slim模板语言http://www.slim-lang.com 到PHP。我也想为PHP提供一些细节,但我无法确定表达式是否完整

例如,此代码:

- 1.upto(10)
    = i
- for($i = 0; $i < 10; ++$i) /// a comment
    = $i
实际上将被解释为

1.upto(10) {
    print i
}
Slim将添加{}本身。为此,需要对表达式进行解析。我需要确定的是我是否应该放支架,如果是,那么放在哪里

我的Slim实现版本将Slim文件转换为PHP模板,因此代码的结果如下:

- 1.upto(10)
    = i
- for($i = 0; $i < 10; ++$i) /// a comment
    = $i
应该是

<? for($i = 0; $i < 10; ++$i) { /// a comment ?>
    <?= $i ?>
<? } ?>
注意{在哪里

我知道有token_get_all函数,但它是一个lexer,我必须自己完成整个解析器,我希望避免为这么小的事情重新实现太多的解析器

那么这是可以解决的吗?非PHP解决方案也可以