Yalnızca 0, 1, 2 ve parantez içeren bir dize verildiğinde, dizenin dilbilgisi ağacını çıktılar.
A 2
2 argüman gerektirir - biri sola diğeri sağa
A 1
tek bir argüman gerektirir - sola veya sağa
A 0
herhangi bir argüman gerektirmez ve temel durumdur
Bir çift köşeli ayraç bir bağımsız değişken olarak sayılır ve köşeli ayraçların içeriği dizenin geri kalanından ayrı olarak değerlendirilir. İç içe parantez mümkündür
Giriş dizesi her zaman tam bir ağaç olur ve karakter düşmez. Dize ayrıca yalnızca tek bir doğru çözüme sahip olacaktır. İşlevlerin değişmeli olduğunu ve herhangi bir argüman düzenlemesinin 2
kabul edilebilir olacağını unutmayın. Bu gereksinimlere uymayan girdileri işlemek zorunda kalmayacaksınız.
Çıktı gramer formatı function(arguments)
özyinelemeli olarak olacaktır
Test senaryoları
0 --> 0
01 --> 1(0)
020 --> 2(0,0)
101 --> 1(1(0))
0120 --> 2(1(0),0)
0120210 --> 2(1(0),2(0,1(0)))
01210 --> 2(1(0),1(0))
(020)210 --> 2(2(0,0),1(0))
((020)20)1 --> 1(2(0,2(0,0)))
0120210
gibi ayrıştırılamıyorum görmüyorum 2[4](2[2](1[1](0[0]), 0[3]), 1[5](0[6]))
.
101
aynı zamanda belirsizdir.
10201
geçerli giriş?