死代码坐在那里什么也没做,盯着我们知道它永远不会被执行……但是今天我们可以报仇了。
规格
输入将是多行字符串。
每行可以是一个赋值或一个表达式。
分配
作业的形式为 <name> = number
name是字母,下划线和数字的序列,但不能以数字开头。
变量可以被分配任意次。
表达
表达式的形式 <var_name OR number> <operation> <var_name OR number> ...
表达式可以是以下各项的任意组合:
- 已经定义的变量
- 基本算术运算符
+-*/
- 数字(整数)
预期产量
您应该输出带有多余赋值的字符串,该赋值已删除,其后的任何表达式都不会使用这些赋值。请注意,如果在执行使用变量的表达式之前执行了对同一变量的附加分配,则分配也可以变得多余。
测试用例
在
a = 10
a * 3
出
a = 10
a * 3
在
foo = 8
2 - 1
a = 18
出
2 - 1
在
a = 10
a = 8
b = 4
ab = 72
b / 6
b + 1
出
b = 4
b / 6
b + 1
在
a = 1
a = 2
a + 1
出
a = 2
a + 1
在
FooBar1 = 0
Fuz__ = 8
Fuz__ / 1
出
Fuz__ = 8
Fuz__ / 1
在
a = 1
a + 1
a = 2
a + 1
出
a = 1
a + 1
a = 2
a + 1
在
a = 1
1 / 5 * 8 + 4
出
1 / 5 * 8 + 4
在
a = 1
a + 1
a = 1
a + 1
出
a = 1
a + 1
a = 1
a + 1
在
a = 7
5 / a
出
a = 7
5 / a
a = 1; a + 1; a = 1; a + 1;
?a = 1
仅因为a
先前已将其设置为相同的值(1
),才能丢弃秒。