|
1
7
除非你想为你想处理的每一种语言(或者更糟的是,为每一种语言)争取一个完全无上下文(或者更糟的是,完全上下文敏感的)语法 方言 你想处理的语言。。。C++有多少种?,目的是 语法突出显示 你最好放弃完全正确的观点,承认有时你会犯错。在这种情况下,regexp看起来是一个非常好的答案。它们也可以非常快,所以不会干扰编辑人员。 如果你坚持做完整的语法检查/完成(我不认为你是),那么你需要完整的语法。您还需要很长时间才能为真正的语言生成编辑器。 有时候最好不要太严肃。一个98%的解决方案,你可以得到比一个100%的解决方案,从来没有实现。 |
|
|
2
3
这可能不是你所需要的,因为你是自己编写的编辑器,但有一个很棒的框架称为Xtext,它将实际生成一个完整的编辑器,具有语法着色、可自定义的大纲视图和自动完成等功能,基于你的语言语法: http://eclipse.org/Xtext |
|
|
3
0
除了让语法为语言工作的问题外,还有一个复杂的问题,就是试图让它在被编辑的代码中工作。 |
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |