使用SourceInsight4.0定义自定义语言。要解析以下代码:
// target: parsing num_0, num_1, ..., num_n as INT type variable
INT num_0,
num_1 = 10,
// many other vars.
num_n = value;
就像C语言中的常见方式一样
到目前为止,我仅解析了一个变量: 使用正则表达式模式:
// regex 1
\w*INT\w+\([a-zA-Z0-9_]+\)\w*;
为
// code 1, succeeded
INT num0;
或正则表达式模式:
// regex 2
\w*INT\w+\([a-zA-Z0-9_]+\)\w*=\w*[a-zA-Z0-9_]+\w*;
为
// code 2, succeeded
INT num0 = value;
但是我无法使用
// regex 3
\w*INT\w+[a-zA-Z0-9_]+\w*(,\w*\([a-zA-Z0-9_]+\)\w*)*;
要解析
// code 3, failed
INT num0, num1, num2; // multiple identifiers divided by comma
但是它正在使用https://regex101.com/之类的正则表达式测试器。 我猜想SI只是在一种解析模式中不接受多个正则表达式组。那么我想要的解析有什么解决方案吗?