अंग्रेज़ीफ्रेंचस्पेनिश

सर्वर चलाएं | Ubuntu > | Fedora > |


ऑनवर्क्स फ़ेविकॉन

fst-compiler-utf8 - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में fst-compiler-utf8 चलाएं।

यह fst-compiler-utf8 कमांड है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर में से एक का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


fst-compiler, fst-compiler-utf8 - SFST प्रोग्राम के लिए दो कंपाइलर

SYNOPSIS


fst-संकलक व्याकरण-फ़ाइल [ निर्गम संचिका ]
fst-संकलक-utf8 व्याकरण-फ़ाइल [ निर्गम संचिका ]

विकल्प


-c ट्रांसड्यूसर को कॉम्पैक्ट फॉर्मेट में स्टोर करें जिसका उपयोग fst-infl2 द्वारा किया जाता है।

-l ट्रांसड्यूसर को लोमेम फॉर्मेट में स्टोर करें।

-s ट्रांसड्यूसर की सतह और विश्लेषण परत स्विच करें। आपको इस स्विच का उपयोग करना होगा
उपयोग करने का आदेश fst-infl (fst-infl2, fst-infl3) विश्लेषण के बजाय पीढ़ी के लिए।

वर्णन


fst-संकलक परिमित-राज्य ट्रांसड्यूसर कार्यक्रमों के लिए एक संकलक है। यह एक न्यूनतम उत्पन्न करता है
परिमित राज्य ट्रांसड्यूसर जिसका उपयोग किया जा सकता है एफएसटी-मोर, एफएसटी-इन्फ्लू, एफएसटी-प्रिंट, fst-तुलना,
एफएसटी-पार्स, और एफएसटी-जाली। कॉम्पैक्ट ट्रांसड्यूसर प्रतिनिधित्व जो के साथ उत्पन्न होता है
-c ध्वज, द्वारा समर्थित है fst-infl2, एफएसटी-ट्रेन, और एफएसटी-मैच। स्मृति-कुशल
ट्रांसड्यूसर प्रतिनिधित्व जो -l ध्वज के साथ उत्पन्न होता है, केवल द्वारा समर्थित है एफएसटी-
इन्फ्ल 3.

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

fst-संकलक-utf8 इससे अलग fst-संकलक केवल वर्ण एन्कोडिंग में। fst-संकलक-
utf8 स्रोत फ़ाइलों के UTF8 एन्कोडिंग का समर्थन करता है जबकि fst-संकलक के लिए इस्तेमाल किया जाना है
8-बिट कैरेक्टर कोड जैसे latin1 जो ASCII कोड का एक्सटेंशन है। जानकारी
एन्कोडिंग के बारे में ट्रांसड्यूसर फाइलों में संग्रहीत किया जाता है और अन्य एसएफएसटी कार्यक्रमों द्वारा उपयोग किया जाता है।

फ़ाइल प्रारूप


एक ट्रांसड्यूसर प्रोग्राम में का एक (वैकल्पिक) अनुक्रम होता है वर्णमाला और परिवर्तनशील
एक के बाद परिभाषाएँ ट्रांन्सड्यूसर अभिव्यक्ति जो परिणाम को परिभाषित करता है
ट्रांसड्यूसर।

वर्णमाला

एक वर्णमाला परिभाषा में कीवर्ड ALPHABET के बाद = और कुछ ट्रांसड्यूसर शामिल होते हैं
अभिव्यक्ति जैसे

वर्णमाला = [एज़]: [एजेड]

यह कमांड वर्णमाला को पर होने वाले प्रतीक जोड़े के सेट के रूप में फिर से परिभाषित करता है
ट्रांसड्यूसर के संक्रमण। दो-स्तरीय ऑपरेटरों, नकारात्मक ऑपरेटरों की घटनाएं और
गैर-उद्धृत अवधि हमेशा एक वर्णमाला परिभाषा से पहले होनी चाहिए।

चर

दो अलग-अलग प्रकार के चर हैं। आइकॉन सेट चर हैश द्वारा संलग्न हैं
संकेत (#) और प्रतीक अनुक्रम (नीचे देखें) को मान के रूप में लें:

#यूसी# = AZ
#एलसी# = अज़

ट्रांन्सड्यूसर चर डॉलर के संकेतों से घिरे होते हैं और ट्रांसड्यूसर एक्सप्रेशन लेते हैं:
मान:

$MAP$ = [az]:[AZ]+
$MAP$ = [#LC#]:[#UC#]+

वेरिएबल जिनका नाम `=' प्रतीक से शुरू होता है, विशेष होते हैं समझौता चर। यदि एक
एक ट्रांसड्यूसर अभिव्यक्ति में समझौता चर एक से अधिक बार होता है, यह हमेशा होगा
एक ही मूल्य। निम्नलिखित ट्रांसड्यूसर कार्यक्रम पर विचार करें:

$=1$ = [एबीसी]
$=1$ एक्स $=1$

परिणाम ट्रांसड्यूसर स्ट्रिंग्स aXa, bXb, और cXc को पहचानता है। केवल एसाइक्लिक ट्रांसड्यूसर
(अर्थात स्ट्रिंग मैपिंग के सीमित सेट वाले ट्रांसड्यूसर) को अनुबंध के लिए असाइन किया जा सकता है
चर।

चिह्न

एक प्रतीक या तो है

- A s 5 जैसा एकल वर्ण,

- एक उद्धृत चरित्र जैसे \* या \_,

- एक बहु-वर्ण प्रतीक जैसे या (जो हमेशा होता है
कोण कोष्ठक में संलग्न) या

- एक बैकस्लैश जिसके बाद एक संख्या होती है जो कि का सांख्यिक कोड है
निर्दिष्ट चरित्र

- शून्य प्रतीक <>।

प्रतीक अनुक्रम

एक प्रतीक अनुक्रम वर्णों, बहु-वर्ण प्रतीकों और चरित्र का एक क्रम है
पर्वतमाला, जैसे az \. .

प्रतीक श्रेणी

एक प्रतीक श्रेणी या तो है

- एक ही प्रतीक

- [A-Za-z] or . जैसे वर्गाकार कोष्ठकों में संलग्न एक प्रतीक क्रम

- एक प्रतीक अनुक्रम ^ से शुरू होता है और [^A-Za-z] जैसे वर्गाकार कोष्ठकों में संलग्न होता है
([ए-जेडए-जेड] के पूरक को निर्दिष्ट करते हुए) या

- अवधि (जो वर्णमाला से किसी भी प्रतीक का प्रतिनिधित्व करती है)

ट्रांसड्यूसर अभिव्यक्ति

एक ट्रांसड्यूसर अभिव्यक्ति (TE) को पुनरावर्ती रूप से निम्नानुसार परिभाषित किया गया है:

- एक कोलन द्वारा अलग किए गए दो प्रतीक श्रेणियों की एक जोड़ी एक TE है।

[एजेड]: [एजेड]

- [az] जैसी एक एकल प्रतीक श्रेणी एक TE है।
यह [az]:[az] का संक्षिप्त रूप है।

- दो प्रतीक अनुक्रम ब्रेसिज़ में संलग्न हैं और एक कोलन द्वारा अलग किए गए हैं
खाया। {a[bc]}:{def} a:db:e <>:f | . के बराबर है ए: डीसी: ई <>: एफ।

- XY एक TE है यदि X और Y TE हैं।
(रिक्त स्थान को तब तक अनदेखा किया जाता है जब तक कि उन्हें उद्धृत नहीं किया जाता है।)

- (X) एक TE है यदि X एक TE है।

- एक्स ऑप एक टीई है एक्स एक टीई है और ऑप या तो * (क्लेन का स्टार ऑपरेटर) है, +
(क्लेन प्लस ऑपरेटर), या ? (वैकल्पिक ऑपरेटर)

- op X एक TE है X एक TE है और op या तो है! (नकारात्मक ऑपरेटर), ^
(लक्षित भाषा निष्कर्षण ऑपरेटर), _ (स्रोत भाषा निष्कर्षण ऑपरेटर), या ^_
(स्रोत और लक्ष्य स्विच ऑपरेटर)।

- X op Y एक TE है, X है और Y, TE है और op या तो और है (संयोजन .)
ऑपरेटर), | (डिसजंक्शन ऑपरेटर), || (रचना संचालिका), या - (घटाव)
ऑपरेटर)

- एल एक्स ओप वाई आर एक टीई है यदि एल और आर टीई हैं, एक्स और वाई प्रतीक रेंज हैं और
op या तो => (दो-स्तरीय प्रतिबंध), <= (दो-स्तर का दबाव), या <=> (दो-स्तर का प्रतिबंध) है
प्रतिबंध और जबरदस्ती)।

- X op L__R एक TE है यदि X, L और R TE हैं और op या तो ^-> (ऊपर की ओर) है
रिप्लेसमेंट), _-> (डाउनवर्ड रिप्लेसमेंट), /-> (लेफ्टवर्ड रिप्लेसमेंट) या \-> (राइटवर्ड)
प्रतिस्थापन)। इसके अलावा, एल और आर को ऑटोमेटा को परिभाषित करना चाहिए (यानी जो उनके तार को मैप करते हैं
खुद पर)। ये ऑपरेटर कार्तुनेन के प्रतिस्थापन ऑपरेटरों के अनुरूप हैं। अगर
तीर के बाद एक प्रश्न चिह्न (?) आता है, प्रतिस्थापन वैकल्पिक हो जाता है।

- X << l एक TE है यदि X एक TE है, और l दोनों में से कोई एक रूप है
ए या फॉर्म ए: बी जहां ए और बी एकल वर्ण या प्रतीक हैं। परिणाम एक है
ट्रांसड्यूसर जहां एल को एक्स में स्वतंत्र रूप से डाला गया था। ट्रांसड्यूसर एबी << सी उदाहरण के लिए है
सी*एसी*बीसी* के बराबर।

- X op Y L1__R2, ..., LN__RN एक TE है यदि X,Y, L1 से LN और R1
RN के माध्यम से TE हैं, और op या तो => (सामान्य प्रतिबंध), <= (सामान्य दबाव), ^=> है
(सामान्य सतह प्रतिबंध), ^<= (सामान्य सतह बल), ^<=> (सामान्य सतह
प्रतिबंध और जबरदस्ती), _=> (सामान्य गहरा प्रतिबंध), _<= (सामान्य गहरी जबरदस्ती),
_<=> (सामान्य गहरा प्रतिबंध और जबरदस्ती)। (इन ऑपरेटरों को निम्नलिखित लागू किया गया था
Anssi Yli-Jyra द्वारा एक सुझाव।)

- "fname" एक TE है। कंपाइलर fname नाम की फाइल को पढ़ता है और बदल जाता है
इसे लाइन1|लाइन2|लाइन3|... के एक ट्रांसड्यूसर में बदल दें, जहां लाइनएक्स की एक्स-वें लाइन है
फ़ाइल। : और \ के अलावा अन्य सभी वर्णों की शाब्दिक व्याख्या की जाती है (अर्थात as . नहीं)
ऑपरेटरों)। यह TE आम तौर पर एक फ़ाइल से morpheme सूची पढ़ने के लिए प्रयोग किया जाता है।

- " "एक TE है। संकलक एक पूर्व-संकलित ट्रांसड्यूसर को पढ़ता है
fname नाम की फ़ाइल। इस

आगे की विशेषताएं

टिप्पणियाँ % प्रतीक से शुरू होती हैं और पंक्ति के अंत तक विस्तारित होती हैं। रिक्त स्थान को अनदेखा किया जाता है
जब तक उन्हें उद्धृत नहीं किया जाता है। व्यंजक एक पंक्ति के अंत में समाप्त होते हैं जब तक कि पंक्ति का अंत न हो
एक बैकस्लैश से पहले है। आदेश

#शामिल "fname"

fname नाम की फाइल से सोर्स कोड डालने के लिए इस्तेमाल किया जा सकता है। आदेश

आरई >> "fname"

फ़ाइल fname में नियमित अभिव्यक्ति आरई संग्रहीत करता है। आदेश

#हॉपक्रॉफ्ट का उपयोग करें

कम्पाइलर को अभी से हॉपक्रॉफ्ट मिनिमाइजेशन एल्गोरिथम का उपयोग करने के लिए कहता है, और

#डिफ़ॉल्ट उपयोग करें

डिफ़ॉल्ट न्यूनतमकरण एल्गोरिथ्म (Brzozowski) पर वापस स्विच करता है। आदेश

उदाहरण


यहाँ एक साधारण ट्रांसड्यूसर प्रोग्राम का एक उदाहरण है। यह मानते हुए कि फ़ाइल "adj- उपजी"
दो पंक्तियाँ शामिल हैं

आसान
देर से
बड़ा

यह ट्रांसड्यूसर आसान, आसान, आसान और देर से विशेषण रूपों का सही विश्लेषण करेगा,
बाद में, और नवीनतम।

वर्णमाला = [ए-जेडए-जेड] वाई: यानी:<> :<>

$R$ = y<=>i ( :<> ई)

$R2$ = ई<=><> ( :<> ई)

$R$ = $R$ और $R2$

$उपजी$ = "विज्ञापन-उपजी"

$S$ = $उपजी$ ( :<>| :{er}| :{EST})

$एस$ || $आर$

बाहर निकलें स्थिति


fst-संकलक 0 देता है जब तक कि कुछ त्रुटि न हो।

onworks.net सेवाओं का उपयोग करके fst-compiler-utf8 ऑनलाइन का उपयोग करें


Ad


Ad