केवल 0 के 1, 2 और कोष्ठक युक्त स्ट्रिंग को देखते हुए, स्ट्रिंग के व्याकरण वृक्ष का उत्पादन करते हैं।
A 2
को 2 तर्क चाहिए - एक को बाईं ओर और एक को दाईं ओर
एक 1
तर्क की आवश्यकता है - या तो बाएं या दाएं
A 0
को किसी तर्क की आवश्यकता नहीं है और आधार मामला है
कोष्ठक की एक जोड़ी को एक तर्क के रूप में गिना जाता है और कोष्ठक की सामग्री का शेष स्ट्रिंग से अलग से मूल्यांकन किया जाता है। नेस्टेड ब्रैकेट संभव हैं
एक इनपुट स्ट्रिंग हमेशा एक पूर्ण पेड़ होगा जिसमें कोई वर्ण नहीं गिरता है। स्ट्रिंग में केवल एक ही सही समाधान होगा। ध्यान दें कि कार्य सराहनीय हैं और किसी भी तर्क के लिए व्यवस्था 2
स्वीकार्य होगी। आपको उन इनपुट को संभालना नहीं पड़ेगा जो इन आवश्यकताओं के अनुरूप नहीं हैं।
आउटपुट व्याकरण प्रारूप function(arguments)
पुनरावर्ती रूप में होगा
परीक्षण के मामलों
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
भी पार्स क्यों नहीं किया जा सकता है 2[4](2[2](1[1](0[0]), 0[3]), 1[5](0[6]))
।
101
भी अस्पष्ट है।
10201
मान्य इनपुट?