The पार्स ’के विपरीत क्या है? [बन्द है]


147

मेरे पास एक फ़ंक्शन है, parseQuery, जो उस क्वेरी के सार प्रतिनिधित्व में एक SQL क्वेरी को पार्स करता है।

मैं एक फ़ंक्शन लिखने वाला हूं जो एक क्वेरी का सार प्रतिनिधित्व करता है और SQL क्वेरी स्ट्रिंग देता है।

मुझे दूसरे फ़ंक्शन को क्या कहना चाहिए?


Stringify? JSON वर्ग इस शब्दावली का उपयोग करता है। JSON.parse और विपरीत JSON.stringify के लिए ?
विल्ट

जवाबों:


200

मुझे लगता है कि आप जो क्रिया चाहते हैं, वह 'रचना' है।



16
मेरा मतलब है, एक साल बाद वापस आकर मैं 'असेंबली' को एक बेहतर विपरीत के रूप में या एक बेहतर फ़ंक्शन नाम के रूप में 'बिल्ड' का जवाब दूंगा।
जोएल कोएहॉर्न

3
अरे वाह, मैंने इस पर तारीखों की जांच नहीं की ... एसओ सवाल नेक्रोमेंसी!
डैनियल शेफ़र

पछतावा .. क्यों नहीं ToString ()? Int32, आदि की पसंद द्वारा निर्धारित मानक होने लगता है
जोसेफ किंगरी

1
यह देखने से पहले मेरी पिछली टिप्पणी की कि यह प्रश्न भाषा-अज्ञेयवादी था। ToString () .NET द्वारा स्वीकृत मानक प्रतीत होता है
जोसेफ किंगरी


32

संकलक शब्दावली में, विपरीत "अनिर्दिष्ट" है। विशेष रूप से, पार्सिंग टोकन की एक धारा को सार सिंटैक्स पेड़ों में बदल देता है, जबकि अनपर्सिंग सार सिंटैक्स पेड़ों को टोकन की एक धारा में बदल देता है।


4
जैसे कार को अनकैश करना ...
वाल्टर ट्रॉस

31

लिखें? किसी क्वेरी को पार्स करते समय आप इसे उसके घटक भागों (टोकन, आदि) में तोड़ देते हैं, रिवर्स एक स्ट्रिंग क्वेरी में भागों की रचना करेगा।


21

अपने मौजूदा नामकरण को पूरा करने के लिए, कम्पोज़ाइक सबसे अच्छा लगता है।

लेकिन सामान्य मामले में, पार्स के विपरीत , s .d है


8
मुझे लगता है कि इसका उलटा है, इसके विपरीत होगा
agggambina

@agusgambina: वास्तव में, यह समझ में आता है ... बॉर्न शैल के बारे में सोचो: अगर ... फाई मामले ... esac
शिक्र

20

मैं इनमें से एक का उपयोग करूंगा:

  • तार()
  • ToSQL ()
  • प्रस्तुत करना()

17

मुझे लगता है कि "सीरियलाइज़" शायद वह शब्द है जो आप चाहते हैं। इसका मतलब है कि प्रोग्राम से निर्यात (और आयातित) किए जा सकने वाले डेटा का एक पाठात्मक प्रतिनिधित्व।


1
सीरियल को बाइनरी प्रतिनिधित्व का मतलब आसानी से समझा जा सकता है।
बेन हॉफस्टीन

1
सच। पारसीमग सभी बाहरी डेटा में लुप्त होती है, और धारावाहिकीकरण बाहरी उपयोगों के लिए डेटा तैयार करने के बारे में है। निर्मित प्रारूप पाठ होने की आवश्यकता नहीं है, लेकिन अक्सर होता है।
काइल क्रोनिन

जाहिरा तौर पर मेरे iPod के कीबोर्ड मुझसे बेहतर हो रहे हैं। यह "पार्सिंग" और "रीडिंग" माना जाता है।
काइल क्रोनिन




10

मैं इसे constructQuery कहूंगा।


यह लगभग सही लगता है। वही हो रहा होगा। वह डेटा एकत्र कर रहा होगा जो "शब्दों में डाला जा सकता है"। वह एक क्वेरी का "निर्माण" करेगा।
Tgwizman

10

संभवतः उत्पन्न या उत्सर्जित करते हैं।


1
मैं सहमत हूँ। rfc7159 (JSON), अनुभाग 9 और 10 में "पार्सर" और "जेनरेटर" को विपरीत के रूप में परिभाषित किया गया है।
mydoghasworms

10

बस कुछ सामान जोड़ने के लिए।

निश्चित रूप से पार्स एक दो तरह का शब्द है।

आप एक क्वेरी में एक सार को पार्स कर सकते हैं।

आप एक क्वेरी को एक सार में पार्स कर सकते हैं।

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

प्रश्न का उत्तर देने के लिए, पार्सिंग का कोई विपरीत नहीं है।



8

अपना चयन ले लो

  • उत्पन्न
  • ढेर
  • क्रमबद्ध करें
  • फेंकना

उनमें से प्रत्येक में थोड़ा अलग अर्थ है।



7

रचना, निर्माण, प्रस्तुत करना, प्रस्तुत करना, संघनित करना, घटाना, toSQL, वर्ग की प्रकृति और उसके संबंधित ऑपरेटरों पर निर्भर करता है


6

एक पारंपरिक संकलक के दो भाग होते हैं: एक पार्सर और एक कोड जनरेटर।

तो आप इसे "जेनरेट" कह सकते हैं। बेशक, यह थोड़ा अलग है क्योंकि कंपाइलर सोर्स कोड नहीं लिख रहा है। (जब तक कि यह एक precompiler नहीं है)।




4

समतल?

पार्स की गई क्वेरी ऑब्जेक्ट शायद एक स्थिति पदानुक्रम का प्रतिनिधित्व करती है, जिसे आप 1 आयामी स्ट्रिंग में वापस "सपाट" कर रहे हैं।

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



4

मैं ToString () के लिए जाऊंगा, क्योंकि आप आमतौर पर उन्हें घोंसला बना सकते हैं (विपरीत कार्य, कि आप कक्षा 1 से कक्षा 2 तक और इसके विपरीत)

DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );

सीरियलाइज़ () एक अच्छी पसंद की तरह दिखता है, लेकिन पहले से ही डिसेरिएलाइज़ () में इसका विपरीत है।

अपने विशिष्ट परिदृश्य में, जैसा कि अन्य ने बताया है, ToSql () एक और अच्छा विकल्प है।


4

मैं रेंडर का उपयोग करूंगा

> a = 'html': { 'head': {'title': 'My Page'}, 'body': { 'h1': 'Hello World', 'p': 'This is a Paragraph' } }

> b = render(a)

> console.log(b)

<html>
    <head>
        <title>My Page</title>
    </head>
    <body>
        <h1>Hello World</h1>
        <p>This is a Paragraph</p>
    </body>
</html>

जो IMHO, पार्स () के विपरीत है

> c = parse(b)

{ 'html': {
    'head': {
        'title': 'My Page'
    }
    'body': {
        'h1': 'Hello World',
        'p': 'This is a Paragraph'
    }
}

3

जनरेट के लिए +1, लेकिन आप जो भी जेनरेट कर रहे हैं, उस पर यानी जेनरेट SQL () से निपटें


3

मैंने 'कम्पोज़' के लिए वोट किया था लेकिन अगर आपको यह पसंद नहीं है तो मैं 'बिल्ड' का सुझाव भी दूंगा


3

AsSQL () या उससे भी अधिक asQuery () के बारे में क्या?


3

INHO सीरियल, सिंथेसाइज़ अच्छे विकल्प हैं। इसके अलावा, जैसा कि आपने parseQuery का नाम दिया है, मैं codeQuery के साथ जाऊंगा


3

मैं आमतौर पर एक रूपांतरण विधि के रूप में "पार्स" का उपयोग करता हूं और इसलिए, मैं "कन्वर्ट" के लिए एक विपरीत शब्द नहीं खोज सकता। (आप "डिकॉन्वर्ट" कुछ नहीं कर सकते हैं, क्योंकि "अनकंवर्ड" स्वयं एक प्रकार का रूपांतरण है)।

इस तरह से सोचने पर, सबसे अच्छा समाधान (मेरे लिए) दो "पार्स" तरीके हैं, जो विभिन्न तर्क प्राप्त करते हैं। उदाहरण (जावा):

public class FooBarParser{

    public Foo parse(Bar bar);
    public Bar parse(Foo foo); 
}

2

deparse

गहराई को पार्स करना है, जैसे:

  • डिकंपाइल को संकलित करना है
  • विघटित करना रचना है
  • deserialize क्रमबद्ध करना है
  • नीचता को त्यागना है :);)

पार्सिंग / डिपार्सिंग संरचना का परिवर्तन नहीं है, बल्कि रूपांतरण है। समान पाठ और अमूर्त-वाक्यविन्यास-ट्री प्रारूपों के बीच सटीक रूपांतरण, सभी संबंधों और संरचना को बनाए रखना।

"रचना" का अर्थ है संरचना में परिवर्तन, इसलिए यह बिल्कुल सही नहीं है। यह अलग-अलग स्वतंत्र भागों (आमतौर पर पहली बार) से संयोजन का सुझाव देता है। जिस प्रकार "डीकंपोज़" स्वतंत्र भागों में विभाजित होने का सुझाव देता है। वे केवल स्वरूप ही नहीं, रूप भी बदलते हैं।

एक त्वरित खोज शो का शब्द इस प्रकार प्रयोग किया जाता है:


एक त्वरित जीथब कोड खोज से पता चलता है कि "अवक्षेप" शब्द का कोई व्यापक उपयोग नहीं है, देखें github.com/search?q=deparse - मुझे लगता है कि "चित्रण" को आर पारिस्थितिकी तंत्र से एक शब्द के रूप में समझा जाता है। - मेरे लिए पार्सिंग के विपरीत उत्पन्न हो रहा है। में पार्स , हम एक वाक्य और इनपुट के रूप में एक व्याकरण है और पता है कि वाक्यात्मक संरचना और / या वाक्य का अर्थ विज्ञान प्रतिनिधित्व है चाहता हूँ। में पीढ़ी , हम एक अर्थ प्रतिनिधित्व और इनपुट के रूप में एक व्याकरण है और वह अनुरूप अर्थ प्रतिनिधित्व करने के लिए वाक्य लगाना चाहते हैं।
जेन्स ए कोच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.