#J1138. 语法解析

语法解析

题目描述

现在输入若干行形如以下格式的C++代码。

int a1=6;
int a2 = 7;
int a3= 1;
cout<< a1 + a2-a3+6-7;

其中代码的前面全部都是声明并且赋值 intint 类型的变量的语句,且赋值的数字大小在 090\sim 9 之间。
代码的最后包含一个输出一个整数的语句,且表达式只包含:
变量名,090\sim 9 范围内数字,+-,注意,不包含括号。
现在你需要编写一个程序,来解析出输入的代码文本的输出结果是什么。

输入格式

输入若干行文本,表示对应的C++代码。
建议使用getline函数读取全部输入后再处理。

参考代码:

string text;
string s;
while(getline(cin,s)){
	text+=s;
}
//然后对text处理

调试的时候可以使用文件读入的方式:

freopen("xxxx","r",stdin);

这样就不会在终端一直卡着了。

输出格式

一行一个整数,表示程序的输出结果。

输入输出样例 #1

输入 #1

int a =  0;
int b =   2;
int c =  3;
int d=7;
cout << a + b + c - 1+d - d -d -a + 1- 9;

输出 #1

-11

说明/提示

声明变量的语句个数不超过 2×1052\times 10^5,输出语句中的数字、变量个数不超过 2×105+12\times 10^5+1 个。