Kode mati duduk di sana tidak melakukan apa-apa, menatap kami tahu itu tidak akan pernah dieksekusi ... tapi hari ini kita bisa membalas dendam.
Spesifikasi
Input akan berupa string multiline.
Setiap baris dapat berupa penugasan atau ungkapan .
Tugas
Tugas adalah bentuk di <name> = number
mana nama adalah urutan huruf, garis bawah dan angka, tetapi tidak dimulai dengan angka.
Variabel dapat ditetapkan berapa kali.
Ekspresi
Ekspresi adalah bentuk <var_name OR number> <operation> <var_name OR number> ...
Ekspresi dapat berupa kombinasi dari:
- Variabel sudah ditentukan
- Operator aritmatika dasar
+-*/
- Bilangan (bilangan bulat)
Output yang diharapkan
Anda harus mengeluarkan string dengan penugasan yang berlebihan , penugasan yang tidak pernah digunakan oleh ekspresi yang mengikutinya, dihapus. Harap perhatikan bahwa penugasan juga bisa dibuat berlebihan jika penugasan tambahan untuk variabel yang sama dilakukan sebelum ekspresi menggunakan variabel dieksekusi.
Uji kasus
di
a = 10
a * 3
di luar
a = 10
a * 3
di
foo = 8
2 - 1
a = 18
di luar
2 - 1
di
a = 10
a = 8
b = 4
ab = 72
b / 6
b + 1
di luar
b = 4
b / 6
b + 1
di
a = 1
a = 2
a + 1
di luar
a = 2
a + 1
di
FooBar1 = 0
Fuz__ = 8
Fuz__ / 1
di luar
Fuz__ = 8
Fuz__ / 1
di
a = 1
a + 1
a = 2
a + 1
di luar
a = 1
a + 1
a = 2
a + 1
di
a = 1
1 / 5 * 8 + 4
di luar
1 / 5 * 8 + 4
di
a = 1
a + 1
a = 1
a + 1
di luar
a = 1
a + 1
a = 1
a + 1
di
a = 7
5 / a
di luar
a = 7
5 / a
a = 1; a + 1; a = 1; a + 1;
:? Di mana yang keduaa = 1
dapat dibuang hanya karenaa
sebelumnya disetel ke nilai yang sama (1
).