如何使用 awk 解析如下 switch-case 语句?我想用 awk 创建简单的 C 语法检查器。该检查器必须读取代码并返回是否存在语法错误。如果有,awk 应该在上面打印什么错误。
switch(number)
{
case 1 : number = 'a'; break;
case 2 : number = 'b'; break;
default : number = 'x';
}
对于for()语句,如下所示:
for(i=0;i<10;i++)
{
number = 'A';
}
我当前的switch-case语句代码是:
#parser_switchcase.awk
{
for(i=1; i<=NF; i++)
{
if($i~/switch\([[:alnum:]]+\)/)
print("switch(VALID_VARIABLE)")
}
}
上面我的第一个 C switch-case代码的结果:
master@master:~/Dokumen/Root$ awk -f parser_switchcase.awk soalswitch
switch(VALID_VARIABLE)
但实际上它需要很多改进。它不完整。
我需要 awk 建议来阅读和检查我上面输入的代码示例。没错,所以我只需要 awk 解析这些代码,而不是附加功能、附加代码等外部可能性,只需要上面代码中提到的内容。