2011-04-13 13 views
5

अभिव्यक्ति x---y अभिव्यक्ति कैसे है? क्या यह एक कानूनी अभिव्यक्ति है?अभिव्यक्ति x --- y पार्स किया गया है? क्या यह एक कानूनी अभिव्यक्ति है?

+1

http://stackoverflow.com/questions/5341202 (और इसके उत्तर) ब्याज की हो सकती हैं। –

+0

इसे देखें [अधिकतमतम सिद्धांत सिद्धांत] (http://en.wikipedia.org/wiki/Maximal_munch) – Nawaz

उत्तर

10

यह कानूनी है और x---y के रूप में पार्स किया गया है।

मेरा मानना ​​है कि पहले दो शून्य संकेतों को पोस्ट-कमीशन ऑपरेटर के रूप में व्याख्या किया जाता है क्योंकि यह x के बाद सबसे लंबा टोकन है जो दिखाई देने योग्य है। यह घटाव की भूमिका निभाने के लिए तीसरा ऋण छोड़ देता है। यह अधिकतम अधिकतम नियम [1]

[1] के अनुसार है। http://en.wikipedia.org/wiki/Maximal_munch

0

(x -) - y; आप किस कंपाइलर का उपयोग करते हैं? एक्स और वाई के प्रकार क्या हैं?

1

यह ऑपरेटर प्राथमिकता से संबंधित है। इस table पर एक नज़र डालें।

अंकगणितीय परिचालनों में कमी/वृद्धि ऑपरेटर की प्राथमिकता है। इसे x-- - y के रूप में पार्स किया जाएगा।

मेरा उत्तर सही करने के लिए: पार्सर पहले सबसे लंबे समय तक टोकन से मेल खाता है, तो -- अंकगणित - से अधिक चुना जाता है। अभिव्यक्ति में परिणाम x-- - y

+1

+1 ऑपरेटर प्राथमिकता * और * स्रोत को जोड़ने के लिए +1। – Mephane

+14

टोकननाइजेशन नियम, ऑपरेटर प्राथमिकता नहीं। – aschepler

+1

इसे प्राथमिकता के साथ नहीं करना है, लेकिन भाषा के साथ * पार्स * कैसे किया जाता है। – Jon

1

सभी डेटा प्रकारों के लिए, इसे x-- - y के रूप में विश्लेषित किया गया है। यदि यह कुछ class वस्तु है तो आप इसके संकलक त्रुटि दे देंगे अगर आप सिर्फ पूर्व घटती ऑपरेटर को परिभाषित पद ऑपरेटर और माइनस ऑपरेटर घटती परिभाषित करने के लिए है। इसका मतलब है, किसी भी मामले में x-- - y मजबूर है।

संबंधित मुद्दे