Erlang 21

diameter_make




erlang

diameter_make

मॉड्यूल

diameter_make

मॉड्यूल सारांश

व्यास शब्दकोश संकलन।

विवरण

फ़ंक्शन codec/2 का उपयोग एर्लैंग स्रोत में व्यास dictionary file संकलित करने के लिए किया जाता है। परिणामी स्रोत इंटरफ़ेस व्यास को लागू करता है और शब्दकोश के संदेशों और AVPs को एनकोड और डीकोड करना पड़ता है।

यूटिलिटी diameterc(1) एक वैकल्पिक संकलन इंटरफ़ेस प्रदान करता है।

निर्यात

कोडक (फ़ाइल :: आयोलिस्ट () | बाइनरी (), [ऑप्ट]) -> ठीक है {ठीक है, [बाहर]} | {त्रुटि, कारण}

एक ही शब्दकोश फ़ाइल संकलित करें। इनपुट File या तो एक पथ या शाब्दिक शब्दकोष हो सकती है, बाद की पहचान करने वाली नईलाइन (ascii NL) या गाड़ी वापसी (ascii CR) की घटना। Opt परिणामों के प्रारूप को निर्धारित करता है और चाहे वे फ़ाइल या रिटर्न के लिए लिखे गए हों, और निम्न प्रकार हो सकते हैं।

parse | forms | erl | hrl

आउटपुट स्वरूप निर्दिष्ट करता है। चाहे आउटपुट लौटाया जाए या फ़ाइल में लिखा जाए यह निर्भर करता है कि विकल्प return निर्दिष्ट है या नहीं। जब फ़ाइल में लिखा जाता है, तो परिणामी फ़ाइल (ओं) में एक्सटेंशन .D , .F , .erl , और .hrl क्रमशः होंगे, .hrl का dictionary डिफॉल्ट करना अगर इनपुट शब्द शाब्दिक है और @name निर्दिष्ट नहीं करता है। जब लौटा, परिणाम संगत प्रारूप विकल्पों के क्रम में हैं। यदि अनिर्दिष्ट है तो erl और hrl (इस क्रम में) के लिए प्रारूप विकल्प डिफ़ॉल्ट।

parse प्रारूप एक आंतरिक प्रतिनिधित्व है जिसे flatten/1 और format/1 पारित किया जा सकता है, जबकि forms प्रारूप को compile:forms/2 करने के compile:forms/2 पारित किया जा सकता है compile:forms/2 hrl रूप में erl और hrl प्रारूप लौटाए गए हैं।

{include, string()}

निर्दिष्ट निर्देशिका को कोड पथ पर भेजें। विरासत में मिली शब्दकोशों से संकलित बीम फ़ाइलों पर इंगित करने के लिए उपयोग करें, एक शब्दकोश फ़ाइल में @inherits एक बीम निर्भरता बनाते हैं, एक erl / hrl निर्भरता नहीं।

एकाधिक include विकल्पों को निर्दिष्ट किया जा सकता है।

{outdir, string()}

निर्दिष्ट निर्देशिका के लिए उत्पन्न स्रोत लिखें। वर्तमान कार्यशील निर्देशिका में चूक। विकल्प return निर्दिष्ट होने return कोई प्रभाव नहीं पड़ता है।

return

फ़ाइल के लिए लिखने और ok लौटने के बजाय एक {ok, [Out]} टपल में परिणाम लौटाएं।

{name|prefix, string()}

संकलन से पहले इनपुट शब्दकोश को @prefix , निर्दिष्ट स्ट्रिंग पर @name या @prefix सेट @name

{inherits, string()}

संकलन से पहले इनपुट शब्दकोश को @inherits , निर्दिष्ट स्ट्रिंग के @inherits को जोड़ना।

दो रूपों का विशेष अर्थ है:

{inherits, "-"}
{inherits, "Prev/Mod"}

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

एकाधिक inherits विकल्प निर्दिष्ट किए जा सकते हैं।

ध्यान दें कि एक शब्दकोश का @name , outdir विकल्प के साथ, आउटपुट पथ निर्धारित करता है जब return विकल्प निर्दिष्ट नहीं होता है। शाब्दिक इनपुट शब्दकोश के @name शब्दकोश में चूक।

लौटाए गए त्रुटि कारण को format_error/1 का उपयोग करके एक पठनीय स्ट्रिंग में परिवर्तित किया जा सकता है।

प्रारूप (पार्स किया गया) -> आयोलिस्ट ()

एक पार्स किया गया शब्दकोश बदल जाता है, जैसा कि codec/2 द्वारा वापस लौटाया गया है, शब्दकोश प्रारूप में वापस।

समतल (पार्स किया गया) -> शब्द ()

@inherits का उपयोग किए बिना, एक पार्स किए गए शब्दकोश को पुन: @inherits , जैसा कि codec/2 द्वारा लौटाया गया है। यही है, एक समान शब्दकोश का निर्माण करें जिसमें सभी AVP शब्दकोष में ही निश्चित हैं। रिटर्न वैल्यू भी एक पार्स डिक्शनरी है।

format_error (कारण) -> स्ट्रिंग ()

codec/2 द्वारा पठनीय स्ट्रिंग में दिए गए त्रुटि कारण को चालू करें।

कीड़े

अपरिचित विकल्पों को चुपचाप नजरअंदाज कर दिया जाता है।

यह भी देखें

diameterc(1) , diameter_dict(4)