【发布时间】:2017-06-13 14:00:43
【问题描述】:
试图通过 Antlr 4 词法分析器/解析器获取给定 PHP 文件的所有空行(仅行号)。我使用的语法可以在 GitHub Antlr grammar for PHP 上找到。
空白标记定义为:
Whitespace: [ \t\r\n]+ -> skip;
我把它改成了:
Whitespace: (
' '
| '\t'
| '\r' '\n' { newline(); }
| '\n' { newline(); }
);
但它几乎收集了所有行,因为每一行都以“\n”结尾。任何专家的建议都可以为我提供指导。
要测试的示例 PHP:
<?php
//02-5002201-00001 5002201 - Machine hours test
function test()
{
/* Name: Test.php
Title: Demo
by: XYZ
*/
if (true && false)
{
echo "aa";
}
//TODO
echo <<<SEGDTA
<link rel="stylesheet" type="text/css" href="ui.css"/>
<script type="text/javascript" src="min.js"></script>
SEGDTA;
}
?>
【问题讨论】: