Erlang 21

epp




erlang

epp

मॉड्यूल

epp

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

एरलंग कोड प्रीप्रोसेसर।

विवरण

एरलैंग कोड प्रीप्रोसेसर में वे फ़ंक्शन शामिल होते हैं जिनका उपयोग compile मॉड्यूल द्वारा प्रीप्रोसेस मैक्रोज़ में किया जाता है और पार्सिंग होने से पहले फाइल को शामिल करता है।

स्रोत फ़ाइल की पहली दो पंक्तियों में से एक में Erlang स्रोत फ़ाइल एन्कोडिंग का चयन एक टिप्पणी द्वारा किया जाता है। नियमित अभिव्यक्ति coding\s*[:=]\s*([-a-zA-Z0-9])+ _ coding\s*[:=]\s*([-a-zA-Z0-9])+ का मिलान करने वाली पहली स्ट्रिंग एन्कोडिंग का चयन करती है। यदि मिलान स्ट्रिंग एक मान्य एन्कोडिंग नहीं है, तो इसे अनदेखा कर दिया जाता है। वैध एनकोडिंग Latin-1 और UTF-8 , जहां पात्रों के मामले को स्वतंत्र रूप से चुना जा सकता है।

उदाहरण:

%% coding: utf-8
%% For this file we have chosen encoding = Latin-1
%% -*- coding: latin-1 -*-

जानकारी का प्रकार

macros() = [atom() | {atom(), term()}]
epp_handle() = pid()

epp सर्वर को संभालें।

source_encoding() = latin1 | utf8

निर्यात

बंद (Epp) -> ठीक है

प्रकार

किसी फ़ाइल का प्रीप्रोसेसिंग बंद करता है।

default_encoding () -> source_encoding()

Erlang स्रोत फ़ाइलों की डिफ़ॉल्ट एन्कोडिंग देता है।

एन्कोडिंग_टो_स्ट्रिंग (एन्कोडिंग) -> स्ट्रिंग ()

प्रकार

एन्कोडिंग का एक स्ट्रिंग प्रतिनिधित्व लौटाता है। स्ट्रिंग को read_encoding/1,2 , read_encoding_from_binary/1,2 , और set_encoding/1,2 द्वारा मान्य एन्कोडिंग के रूप में set_encoding/1,2 जाता है।

format_error (ErrorDescriptor) -> io_lib:chars()

प्रकार

एक ErrorDescriptor लेता है और एक स्ट्रिंग देता है जो त्रुटि या चेतावनी का वर्णन करता है। इस फ़ंक्शन को आम तौर पर एक Error Information ErrorInfo संरचना को संसाधित करते समय अंतर्निहित रूप से कहा जाता है (अनुभाग Error Information देखें)।

खुला (विकल्प) ->
{ठीक है, एप्प} | {ठीक है, एप्प, एक्स्ट्रा} | {त्रुटि, ErrorDescriptor}

प्रकार

प्रीप्रोसेसिंग के लिए एक फ़ाइल खोलता है।

यदि Options में extra निर्दिष्ट किया गया है, तो रिटर्न मान {ok, Epp, Extra} बजाय {ok, Epp, Extra} {ok, Epp}

खुला (FileName, शामिल करें) ->
{ठीक है, एप्प} | {त्रुटि, ErrorDescriptor}

प्रकार

epp:open([{name, FileName}, {includes, IncludePath}]) समतुल्य epp:open([{name, FileName}, {includes, IncludePath}])

खुला (फ़ाइल नाम, शामिल करें, पूर्वनिर्धारित) ->
{ठीक है, एप्प} | {त्रुटि, ErrorDescriptor}

प्रकार

epp:open([{name, FileName}, {includes, IncludePath}, {macros, PredefMacros}]) समतुल्य epp:open([{name, FileName}, {includes, IncludePath}, {macros, PredefMacros}])

parse_erl_form (Epp) ->
{ठीक है, AbsForm} |
{त्रुटि, ErrorInfo} |
{चेतावनी, चेतावनीइन्फो} |
{ईओएफ, लाइन}

प्रकार

खोली गई एरलंग स्रोत फ़ाइल से अगला एरलैंग फॉर्म लौटाता है। फ़ाइल के अंत में Tuple {eof, Line} लौटा दी गई है। पहला रूप एक निहित विशेषता से मेल खाता है -file(File,1). , जहां File फ़ाइल नाम है।

parse_file (फ़ाइल नाम, विकल्प) ->
{ठीक है, [प्रपत्र]} |
{ठीक है, [प्रपत्र], अतिरिक्त} |
{त्रुटि, OpenError}

प्रकार

एक Erlang स्रोत फ़ाइल को प्रीप्रोसेस और पार्स करता है। ध्यान दें कि फ़ाइल के अंत में दिया गया tuple {eof, Line} एक "फ़ॉर्म" के रूप में शामिल है।

यदि Options में extra निर्दिष्ट किया गया है, तो वापसी मूल्य {ok, [Form], Extra} बजाय {ok, [Form], Extra} {ok, [Form]}

parse_file (फ़ाइल नाम, शामिल करें, पूर्वनिर्धारित) ->
{ठीक है, [प्रपत्र]} | {त्रुटि, OpenError}

प्रकार

epp:parse_file(FileName, [{includes, IncludePath}, {macros, PredefMacros}]) समतुल्य epp:parse_file(FileName, [{includes, IncludePath}, {macros, PredefMacros}])

read_encoding (FileName) -> source_encoding() | कोई नहीं
read_encoding (FileName, Options) -> source_encoding() | कोई नहीं

प्रकार

फ़ाइल से encoding पढ़ें। रीड एन्कोडिंग लौटाता है, या none मान्य एन्कोडिंग नहीं मिलने पर।

विकल्प in_comment_only डिफ़ॉल्ट रूप से सही है, जो Erlang स्रोत फ़ाइलों के लिए सही है। यदि false सेट किया गया false , तो एन्कोडिंग स्ट्रिंग को टिप्पणी में होना आवश्यक नहीं है।

read_encoding_from_binary (बाइनरी) -> source_encoding() | कोई नहीं
read_encoding_from_binary (बाइनरी, विकल्प) ->
source_encoding() | कोई नहीं

प्रकार

बाइनरी से encoding पढ़ें। रीड एन्कोडिंग लौटाता है, या none मान्य एन्कोडिंग नहीं मिलने पर।

विकल्प in_comment_only डिफ़ॉल्ट रूप से सही है, जो Erlang स्रोत फ़ाइलों के लिए सही है। यदि false सेट किया गया false , तो एन्कोडिंग स्ट्रिंग को टिप्पणी में होना आवश्यक नहीं है।

set_encoding (फ़ाइल) -> source_encoding() | कोई नहीं

प्रकार

I / O डिवाइस से encoding पढ़ता है और तदनुसार डिवाइस की एन्कोडिंग सेट करता है। File द्वारा संदर्भित I / O डिवाइस की स्थिति प्रभावित नहीं होती है। यदि कोई मान्य एन्कोडिंग I / O डिवाइस से नहीं पढ़ा जा सकता है, तो I / O डिवाइस का एन्कोडिंग डिफ़ॉल्ट एन्कोडिंग पर सेट है।

रीड एन्कोडिंग लौटाता है, या none मान्य एन्कोडिंग नहीं मिलने पर।

set_encoding (फ़ाइल, डिफ़ॉल्ट) -> source_encoding() | कोई नहीं

प्रकार

I / O डिवाइस से encoding पढ़ता है और तदनुसार डिवाइस की एन्कोडिंग सेट करता है। File द्वारा संदर्भित I / O डिवाइस की स्थिति प्रभावित नहीं होती है। यदि कोई मान्य एन्कोडिंग I / O डिवाइस से नहीं पढ़ा जा सकता है, तो I / O डिवाइस का encoding Default निर्दिष्ट encoding सेट है।

रीड एन्कोडिंग लौटाता है, या none मान्य एन्कोडिंग नहीं मिलने पर।

त्रुटि सूचना

ErrorInfo मानक ErrorInfo संरचना है जो सभी I / O मॉड्यूल से वापस आ जाती है। प्रारूप इस प्रकार है:

{ErrorLine, Module, ErrorDescriptor}

त्रुटि का वर्णन करने वाला एक स्ट्रिंग निम्नलिखित कॉल के साथ प्राप्त किया जाता है:

Module:format_error(ErrorDescriptor)

यह भी देखें

erl_parse(3)