有没有办法去掉C代码中多余的大括号?

有没有办法去掉C代码中多余的大括号?,c,python-3.x,parsing,logic,braces,C,Python 3.x,Parsing,Logic,Braces,我正在解析和重新生成代码。我的语法将else if转换为else{if,并自动为else if的主体添加{和} #include<stdio.h> int main() { int choice = 1; switch (choice) { case 0: if (choice == 0) { { int option = 10; if (option < 11) { {

我正在解析和重新生成代码。我的语法将
else if
转换为
else{if
,并自动为
else if
的主体添加
{
}

#include<stdio.h>
int main()
{
    int choice = 1;
    switch (choice) {
    case 0:
        if (choice == 0) { {
                int option = 10;
                if (option < 11) { {
                        if (option < 10) { {
                                int temp;
                        }} else {
                            if (option == 10) { {
                                    int temp1;
                            }} else {
                                if (option ==
                                    90) { {
                                        int temp2;
                                }}
                }}}} else {
                    if (option == 20) { {
                            int temp3;
                    }}
        }}}
        break;
    case 1:
        if (choice == 1) { {
                int temp4;
        }}
        break;
    default:{ {
                int temp5;
        }} break;
    }
    return 0;
}
#包括
int main()
{
int-choice=1;
开关(选择){
案例0:
如果(选项==0){{
int选项=10;
如果(选项<11){{
如果(选项<10){{
内部温度;
}}否则{
如果(选项==10){{
int temp1;
}}否则{
如果(选项==
90) { {
int temp2;
}}
}}}}否则{
如果(选项==20){{
int temp3;
}}
}}}
打破
案例1:
如果(选项==1){{
int temp4;
}}
打破
默认值:{{
int temp5;
}}中断;
}
返回0;
}
如何从这段代码中删除多余的花括号,使逻辑保持不变?有什么工具可以做到这一点,还是有一些python代码?


我曾尝试编写python代码来实现这一点,但我发现很难删除正确数量的额外右括号
}
,从而使C代码的逻辑不受影响。

这不是一件小事。您可能需要一个完整的C解析器才能正确地完成它。如果我想这样做,我会使用现有解析器中的代码生成一棵树。完成后,删除大括号就相当简单了。您需要一个解析器,但如果目标只是处理冗余大括号,那么解析器可能会相当简单。在我看来,不需要生成树。在这种情况下,您似乎可以重复地将
{{
替换为
{
,将
}
替换为
}
花括号
从未听过它们这样叫过!我喜欢!(我通常称之为
花括号
)这个问题被标记为python有什么原因吗?