2013-04-18 7 views
5

हम कुछ नियम वाक्यविन्यास को समझने की कोशिश कर रहे हैं और इसकी उत्पत्ति के बारे में अनिश्चित हैं।यह समझें कि यह भाषा या वाक्यविन्यास

(CARS->TYPE='C').and.(CARS->CD_CODE<>'').and.('|'+INVOICE->TYPE+'|'$'|AAA|').and.('|'+SUBSTR(INVOICE->TYPE,1,2)+'|'$'|11|') 

विशेष रूप से हम | और $ समझने की कोशिश कर रहे हैं:

यहाँ एक उदाहरण है। क्या कोई मुझे बता सकता है कि क्या उन्होंने स्रोत भाषा के समान और elude देखा है या | और $ की सही व्याख्या को देखा है?

+0

पुरानी दिनों में बहुत सारी भाषाएं इसी तरह के वाक्यविन्यास के साथ थीं। यह फोरट्रानिश है, लेकिन कुछ और संभावना है। –

+0

(थोड़े डेटाबेस-आईएसएच दिखता है लेकिन कॉबोल नहीं है और निश्चित रूप से आरपीजी नहीं है। हालांकि, कुछ अन्य रिपोर्ट जेनरेटर भाषा हो सकती है।) –

+0

ईमानदारी से, आपको शायद डोमेन देना चाहिए, जो ऑपरेटर के अर्थों को इंगित करने में मदद कर सकता है। यह कस्टम इंफिक्स ऑपरेटरों के साथ प्राचीन से कोक तक कुछ भी हो सकता है। –

उत्तर

1

इसके वाक्यविन्यास से हम यह बता सकते हैं कि यह एक "आधुनिक" भाषा है। याद रखें "आधुनिक" ठीक;)

substr 
.and. 
-> 

बहुत आधुनिक हैं, cobol और कोडांतरण भाषा के साथ तुलना में।

(CARS-> = 'सी' टाइप करें) और (CARS-> CD_CODE <> '')।। और (।। '|' + INVOICE-> प्रकार + '|' $ '| एएए |' ।

(if car type is 'C' 
and 
if car cd_code is not empty 
and 
if invoice type is 'AAA' 
and 
if invoice type first 2 letters are '11') 
then return true 
:) .और ('|' + substr (INVOICE-> प्रकार, 1,2) + '|' $ '| | 11')

एक छद्म कोड के रूप में कुछ हो सकता है

$ का उपयोग कर के बारे में मेरा अनुमान होगा:

= and <> are only when compare against a character 
$ when compare array of character, i.e. strings. 

(मुझे नहीं पता कि आउटपुट क्या होगा, क्योंकि यह एएए के साथ पूरे चालान प्रकार की तुलना करता है और यहां तक ​​कि पहले दो अक्षरों के साथ भी 11 के साथ तुलना करता है। हो सकता है कि आपने इसे सबमिट करने से पहले कोड संपादित किया हो?)

फोरट्रान 90 एक अनुमान हो सकता है, लेकिन फिर भी dBase III शायद।

dBase लिंक: http://lynnbob.com/bob/articles/DBASEIIIPlusLevel2.htm

फोरट्रान लिंक: http://www.ews.uiuc.edu/~mrgates2/docs/fortran.html

पाइप के बारे में dBase के लिए ...

आप पैरामीटर पास हैं, वे से सीमांकित किया जाना चाहिए | | (पाइप)। पाइप, ||, आवश्यक हैं भले ही कोई पैरामीटर पारित न हो। यदि आप पैरामीटर पास करते हैं, तो वे || के भीतर सीमित हैं।

0

यह बेसिक, पास्कल, सी, जावा, पर्ल, पायथन, कोबोल, या फोरट्रान नहीं है, जितना मैं आपको उन भाषाओं के अनुभव से बता सकता हूं। यह उल्लेख करना सहायक हो सकता है कि आप किस नियम इंजन का उपयोग कर रहे हैं।

प्रदर्शन किया जा रहा ऑपरेशन एक मैच ऑपरेशन की तरह दिखता है।

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

हालांकि, $ ऑपरेटर के साथ आपकी सहायता नहीं कर सकता है। यह एक परिवर्तनीय प्रतिस्थापन या एक मैच-कुछ भी ऑपरेशन या यहां तक ​​कि एक concatenator भी हो सकता है।

0

मेरा अनुमान: फोरट्रान।

अब यह एक जटिल भाषा है। मुझे विश्वास नहीं है कि इसमें -> ऑपरेटर है लेकिन ऐसा लगता है कि => है। शायद यह आपके स्निपेट में एक विक्रेता-विस्तार है।

समर्थक फोरट्रान सबूत .and. ऑपरेटर है।

+0

फोरट्रान '/ =' या '.ne'' '' '' 'का उपयोग नहीं करेगा? –

0

एक फ़ोरट्रान-आश भाषा की तरह दिखता है। -> हालांकि एक मानक ऑपरेटर नहीं है। | सिर्फ एक स्ट्रिंग है (ऑपरेटर की तरह दिखता नहीं है), लेकिन $ निश्चित रूप से एक ऑपरेटर की तरह दिखता है, शायद स्ट्रिंग स्वरूपण निर्दिष्ट करने के लिए कुछ? इस संप्रदाय को इस तथ्य का जिक्र करते हुए कि यह हमेशा तारों के समूहों के बीच दिखाई देता है।

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