gpt4 book ai didi

c - 我如何在 AWK 中解析 C switch-case 和 for Statement?

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:09 24 4
gpt4 key购买 nike

如何用 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 解析代码,而不是外部可能性,如附加功能、附加代码,只需要上面代码中提到的内容。

最佳答案

使用 awk 进行 C 语法检查是一个勇敢的项目。

我会使用 gcc 进行语法检查。试试这个:

gcc -fsyntax-only test.c

关于c - 我如何在 AWK 中解析 C switch-case 和 for Statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17704476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com