2009-04-24 12 views

उत्तर

8
dictionary.reference.com से

:

कंप्यूटर। आदेश पात्रों में से समूहों अंतर्निहित व्याकरण के वाक्यात्मक इकाइयों के साथ संबद्ध करने में ( वर्णों की स्ट्रिंग) का विश्लेषण करने के लिए।

परिभाषा का संदर्भ प्रोग्राम पाठ का अनुवाद या सामान्य रूप से एक भाषा को परिभाषित व्याकरण-मोड़ प्रोग्राम पाठ के संदर्भ में अपने घटक भागों में अनुवाद है। किसी विशेष भाषा कीवर्ड के संदर्भ में, हालांकि, आमतौर पर इसका अर्थ मूल डेटा प्रकार के स्ट्रिंग मान को उस डेटा प्रकार के आंतरिक प्रतिनिधित्व में परिवर्तित करना है। उदाहरण के लिए, स्ट्रिंग "10" संख्या (पूर्णांक) 10.

30

पार्सिंग यह एक और प्रकार में बदलने के लिए एक वस्तु के मूल्य को पढ़ने के लिए है हो जाता है। उदाहरण के लिए आपके पास "10" के मान के साथ एक स्ट्रिंग हो सकती है। आंतरिक रूप से उस स्ट्रिंग में यूनिकोड वर्ण '1' और '0' वास्तविक संख्या 10 नहीं है। विधि Integer.parseInt उस स्ट्रिंग मान को लेता है और वास्तविक संख्या देता है।

String tenString = "10" 

//This won't work since you can't add an integer and a string 
Integer result = 20 + tenString; 

//This will set result to 30 
Integer result = 20 + Integer.parseInt(tenString); 
+5

"पार्सिंग एक ऑब्जेक्ट के मान को दूसरे प्रकार में बदलने के लिए पढ़ना है"। वैसे यह केवल पार्सिंग का हिस्सा है। पार्सिंग डेटा (टेक्स्ट) लेने और नियमों के एक सेट के आधार पर इसका अर्थ निर्धारित करने की प्रक्रिया है। कार्यान्वयन के लिए –

+1

+1। यह भी देखें http://stackoverflow.com/questions/1788796/what-is-parsing –

47

आप कह सकते हैं कि पात्रोंहै इस स्ट्रिंग का विश्लेषण करने के टोकन, या आइटम खोजने के लिए और उसके बाद परिणाम से एक संरचना बनाने की एक स्ट्रिंग को पार्स।

आपके उदाहरण में, स्ट्रिंग पर Integer.parseInt पर कॉल करना एक पूर्णांक को खोजने के लिए इस स्ट्रिंग को पार्स कर रहा है।

तो, अगर आपके पास:

String someString = "123"; 

और फिर आप आह्वान:

int i = Integer.parseInt(someString); 

आप "123" स्ट्रिंग का विश्लेषण और वहाँ एक पूर्णांक को खोजने के लिए जावा बता रहे हैं।

अन्य उदाहरण:

कार्यों जावा संकलक करता है में से एक, जब वह अपने स्रोत कोड संकलित "पार्स" करने के लिए अपने जावा फाइल और टोकन कि जावा व्याकरण से मेल खाते हैं पैदा करते हैं।

जब आप स्रोत कोड को सही तरीके से लिखने में असफल होते हैं (उदाहरण के लिए किसी कथन के अंत में ; जोड़ना भूल जाते हैं), यह पार्सर है जो त्रुटि की पहचान करता है।

यहाँ अधिक जानकारी है: http://en.wikipedia.org/wiki/Parse

+2

मुझे आश्चर्य है, शीर्ष रेटेड उत्तर शीर्ष पर क्यों नहीं है। – Faizan

+3

@ फ़ैज़न आपका क्या मतलब है? क्या आप वाकई [वोटों द्वारा उत्तर क्रमबद्ध करें] (http://stackoverflow.com/questions/787735/what-is-parse-parsing?answertab=votes#tab-top)? –

+0

क्या हर कोई इस बात से सहमत है कि यह सही परिभाषा है? –

0

पार्सिंग भागों या टोकन का एक सेट करने के लिए पाठ का प्रभाग है।

+0

-1 क्षमा करें, यह समझना वाकई मुश्किल है और अन्य उत्तरों द्वारा कवर न किए गए कुछ भी नहीं जोड़ता है। स्टैक ओवरफ़्लो में आपका स्वागत है! –

+0

+1। जबकि संरचना बेहतर हो सकती है, (एक संपादन सबमिट करना), आपका उत्तर सटीक और ताज़ा रूप से संक्षिप्त है। –

0

पार्सिंग केवल चरित्र की स्ट्रिंग का विश्लेषण करने की प्रक्रिया है और उस स्ट्रिंग से टोकन ढूंढें और पार्सर दुभाषिया और कंपाइलर का एक घटक है। यह अक्षीय विश्लेषण का उपयोग करता है और फिर वाक्य रचनात्मक विश्लेषण करता है।यह इसे पार्स करता है और फिर संकलन की इस पूरी प्रक्रिया के बाद इस कोड को संकलित करता है।

+2

आपका उत्तर कुछ भी प्रदान करता है जो अन्य उत्तरों ने नहीं किया? –

0

पार्सिंग का अर्थ है कि हम विशेष रूप से किसी ऑब्जेक्ट का विश्लेषण कर रहे हैं। उदाहरण के लिए, जब हम किसी खोज इंजन में कुछ कीवर्ड दर्ज करते हैं, तो वे कीवर्ड का विश्लेषण करते हैं और प्रत्येक शब्द को खोजकर परिणाम देते हैं। तो यह मूल रूप से फ़ाइल से एक स्ट्रिंग ले रहा है और जो जानकारी हम चाहते हैं उसे निकालने के लिए प्रसंस्करण कर रहा है।

indexOf का उपयोग कर एक और स्ट्रिंग में एक स्ट्रिंग की स्थिति की गणना करने के लिए पार्स का उदाहरण:

String s="What a Beautiful day!"; 

int i=s.indexOf("day");//value of i would be 17 
int j=s.indexOf("be");//value of j would be -1 
int k=s.indexOf("ea");//value of k would be 8 

paresInt अनिवार्य रूप से एक Integer करने के लिए एक String बदल देता है।

String s="9876543"; 
int a=new Integer(s);//uses constructor 
System.out.println("Constructor method: " + a); 
a=Integer.parseInt(s);//uses parseInt() method 
System.out.println("parseInt() method: " + a); 

आउटपुट:

Constructor method: 9876543 

parseInt() method: 9876543 
+0

लेकिन इसमें "पार्स" क्या है ?? – abhishah901

4

पार्सिंग "छोटे टुकड़ों में विभाजित करना" और फिर विश्लेषण करने के लिए क्या है या एक संशोधित तरीके से उपयोग करने का एक पर्याय के रूप में माना जा सकता है। जावा में, स्ट्रिंग्स को दशमलव, ऑक्टल, बाइनरी, हेक्साडेसिमल इत्यादि में पार्स किया जाता है। यह तब किया जाता है जब आपका एप्लिकेशन स्ट्रिंग के रूप में उपयोगकर्ता से इनपुट ले रहा हो लेकिन कहीं भी आपके आवेदन में आप उस इनपुट का उपयोग उस रूप में करना चाहते हैं पूर्णांक या डबल प्रकार का। यह प्रकार कास्टिंग के समान नहीं है। कास्टिंग प्रकार के लिए जाति के क्रम में इस्तेमाल किए जाने वाले प्रकारों को संगत होना चाहिए लेकिन पार्सिंग में ऐसा कुछ भी नहीं होना चाहिए।

+0

मुझे आश्चर्य है कि आपके उत्तर में इतने कम अपवॉट क्यों हैं। इस सरल उत्तर के लिए धन्यवाद +1 – Pihu

+0

आपका स्वागत @Pihu –

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