C语言IDE
题号:NC201957
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

牛牛战队有一门课程叫做软件工程综合实践,这门课要求大家写一个简单的C语言的IDE。牛牛战队已经十分熟悉gcc的相关命令,也知道gdb的调试命令,再借助QT自带的代码亮壳文字框,就很快的把主要功能完成了。现在他们想多做一些创新功能,来获得更高的分数。

他们想到,在很多编译器中,都有查看现在所有函数的功能,如下图所示:图片展示

在这个框的左侧,列出了所有的函数和参数列表。现在牛牛战队的成员也想实现这个功能,请你帮帮他吧。

输入描述:

输入将给出一个在C99标准下可以正常编译运行的C语言代码,同时此份代码具有以下约束:

- 除引用头文件外,没有其他的编译预处理部分,如:#if,#ifdef,#ifndef,#else,#elif,#endif,#define,#undef,#error,#pragma,_Pragma,#line等。
- 所有的函数的参数与返回值内不会出现任何形式的数组类型,如:char a[]等,如果有指针,保证指针的一定紧跟在类型名后,如char*,long long*等。保证不会出现函数指针。
- 由单引号修饰的字符不可能是{,},(,),'或"。
- 由双引号修饰的字符串内一定不包含{,},(,),'或",也不包含'/','/','//'的子串。
- 不会出现函数内嵌套函数的情况。
- 不会在/* */内出现/* */的嵌套结构。
- 不会把一句代码拆成两行写。
- main函数的返回值一定是int类型。当一个函数没有返回值时,一定有前置void标识。
- 程序内不会出现const标识符。

输入数据大小保证小于10KB。


输出描述:

按照以下的格式一行输出一个代码中出现的函数,你可以以任意顺序输出各个函数,每个函数仅可被输出一次。

返回类型名(包括void) 函数名(参数1类型,...,参数n类型)
类型里如有空格,每处最多保留一个空格。
示例1

输入

复制
#include <stdio.h>

int plus(int a, int b)
{
	return a + b;
}
int main()
{
	int a,b;
	scanf("%d%d", &a, &b);
	printf("%d\n", plus(a, b)); 
	return 0;
}

输出

复制
int plus(int,int)
int main()