【发布时间】:2014-10-12 20:52:35
【问题描述】:
最近我了解到一些文本编辑器具有检查文件内所有括号是否平衡的功能。 (例如 Emacs 中的检查括号)。如果有的话,它甚至可以突出显示第一个不平衡括号。但是,我不清楚是否有办法正确定位它,而不是总是突出显示第一个不平衡的事件。
考虑下面的代码:
void foo()
{
int some_num0 = 0;
{
int some_num1 = 1;
{
int some_num2 = 2;
{
int some_num3 = 3;
//ops I forgot to close this block.
}
}
}
一个简单的余额检查(例如 Emacs 中的 check-parens)将带我进入 foo 定义的左括号。然而,更合理的指示应该将我带到最内层附近的某个地方,即 some_num3 附近的那个。有没有办法做到这一点?
【问题讨论】:
-
您是否特别希望仅在 Emacs 中执行此操作?你想为它写你自己的脚本,还是你问是否有内置的东西?还是您更笼统地问这个任务的算法是什么样的?