यह कमांड रैगेल है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर में से एक का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
रैगेल - नियमित भाषाओं को निष्पादन योग्य राज्य मशीनों में संकलित करें
SYNOPSIS
रैगेल [विकल्पों] पट्टिका
वर्णन
रैगेल नियमित भाषाओं से निष्पादन योग्य परिमित राज्य मशीनों को संकलित करता है। रैगेल कैन
C, C++, Objective-C, D, Go, या Java कोड जेनरेट करें। रागेल राज्य मशीनें न केवल
नियमित अभिव्यक्ति मशीनों के रूप में बाइट अनुक्रमों को पहचानें, लेकिन कोड को निष्पादित भी कर सकते हैं
एक नियमित भाषा की मान्यता में मनमाना अंक। उपयोगकर्ता कोड का उपयोग करके एम्बेड किया गया है
इनलाइन ऑपरेटर जो नियमित भाषा सिंटैक्स को बाधित नहीं करते हैं।
मूल भाषा में मानक नियमित अभिव्यक्ति ऑपरेटर होते हैं, जैसे संघ,
कार्रवाई एम्बेडिंग ऑपरेटरों के साथ संयोजन और क्लेन स्टार। रागेल भी
ऑपरेटरों को प्रदान करता है जो आपको आपके द्वारा बनाए गए किसी भी गैर-नियतात्मकता को नियंत्रित करने देता है, निर्माण
सबसे लंबे मिलान प्रतिमान का उपयोग करने वाले स्कैनर, और स्टेटचार्ट का उपयोग करके राज्य मशीनों का निर्माण
आदर्श। एक राज्य मशीन के निष्पादन को अंदर से प्रभावित करना भी संभव है
मशीन के अन्य भागों में कूदने या कॉल करने और पुन: प्रसंस्करण द्वारा एम्बेडेड क्रिया
इनपुट।
रैगेल मेजबान भाषा को एक बहुत ही लचीला इंटरफ़ेस प्रदान करता है जो जगह देने का प्रयास करता है
जनरेट किए गए कोड का उपयोग कैसे किया जाता है और इसमें एकीकृत कैसे किया जाता है, इस पर न्यूनतम प्रतिबंध
आवेदन। जेनरेट कोड की कोई निर्भरता नहीं है।
विकल्प
-h, -H, -?, --मदद
सहायता प्रदर्शित करें और बाहर निकलें।
-v संस्करण की जानकारी प्रिंट करें और बाहर निकलें।
-o पट्टिका
फ़ाइल में आउटपुट लिखें। यदि -o नहीं दिया गया है, तो डिफ़ॉल्ट फ़ाइल नाम किसके द्वारा चुना जाता है
इनपुट फ़ाइल के फ़ाइल एक्सटेंशन को बदलना। .rh में समाप्त होने वाली स्रोत फ़ाइलों के लिए
प्रत्यय .h का प्रयोग किया जाता है। अन्य सभी स्रोत फ़ाइलों के लिए आउटपुट भाषा के आधार पर एक प्रत्यय
उपयोग किया जाता है (.c, .cpp, .m, आदि)। यदि -ओ उत्पन्न ग्राफविज़ आउटपुट के लिए नहीं दिया गया है
dot फ़ाइल मानक आउटपुट पर लिखी जाती है।
-s मानक त्रुटि पर कुछ आँकड़े मुद्रित करें।
--त्रुटि-प्रारूप=ग्नू
"फ़ाइल: लाइन: कॉलम:" प्रारूप का उपयोग करके त्रुटि संदेश प्रिंट करें (डिफ़ॉल्ट)
--त्रुटि-प्रारूप = msvc
"फ़ाइल (लाइन, कॉलम)" प्रारूप का उपयोग करके त्रुटि संदेश प्रिंट करें: "
-d कार्रवाई सूचियों से डुप्लीकेट कार्रवाइयां न निकालें.
-I दीर
शामिल और आयातित फ़ाइलों की खोज के लिए निर्देशिकाओं की सूची में dir जोड़ें
-n राज्य न्यूनीकरण न करें।
-m राज्य मशीन संकलन के अंत में एक बार न्यूनतमकरण करें।
-l लगभग हर ऑपरेशन के बाद कम से कम करें। यूनियनों जैसे समान कार्यों की सूचियाँ हैं
अंत में एक बार कम से कम। यह डिफ़ॉल्ट न्यूनीकरण विकल्प है।
-e हर ऑपरेशन के बाद कम से कम करें।
-x राज्य मशीनों को संकलित करें और मेजबान डेटा के एक्सएमएल प्रतिनिधित्व का उत्सर्जन करें और
मशीनों।
-V ग्राफ़विज़ के लिए एक डॉट फ़ाइल जेनरेट करें।
-p लेबल पर प्रिंट करने योग्य वर्ण प्रदर्शित करें।
-S
आउटपुट के लिए FSM विनिर्देश।
-M
आउटपुट के लिए मशीन परिभाषा/तत्काल।
-C होस्ट भाषा C, C++, Obj-C या Obj-C++ है। यह डिफ़ॉल्ट होस्ट भाषा है
विकल्प.
-D मेजबान भाषा डी है।
-J मेजबान भाषा जावा है।
-Z मेजबान भाषा गो है।
-R मेजबान भाषा रूबी है।
-L #लाइन निर्देशों के लेखन को रोकें।
-टी 0 (सी/डी/जावा/रूबी/सी#/गो) एक टेबल संचालित एफएसएम उत्पन्न करें। यह डिफ़ॉल्ट कोड शैली है।
टेबल संचालित एफएसएम स्टेट मशीन को स्टेटिक डेटा के रूप में दर्शाता है। टेबल हैं
राज्यों, संक्रमणों, सूचकांकों और कार्यों की। वर्तमान स्थिति a . में संग्रहीत है
चर। निष्पादन एक लूप है जो दिखता है कि वर्तमान स्थिति को देखते हुए और
प्रक्रिया के लिए वर्तमान चरित्र एक द्विआधारी खोज का उपयोग करने के लिए संक्रमण को देखता है,
किसी भी क्रिया को निष्पादित करता है और लक्ष्य स्थिति में चला जाता है। सामान्य तौर पर, टेबल संचालित
FSM एक छोटी बाइनरी उत्पन्न करता है और इसके लिए कम खर्चीले होस्ट भाषा संकलन की आवश्यकता होती है
लेकिन धीमी गति से चलने वाले कोड में परिणाम। टेबल संचालित एफएसएम किसी भी एफएसएम के लिए उपयुक्त है।
-टी 1 (सी/डी/रूबी/सी#/गो) कार्रवाई सूचियों का विस्तार करके एक तेज तालिका संचालित एफएसएम उत्पन्न करें
क्रिया निष्पादन कोड।
-F0 (सी/डी/रूबी/सी#/गो) एक फ्लैट टेबल संचालित एफएसएम उत्पन्न करें। संक्रमणों को के रूप में दर्शाया गया है
वर्तमान वर्णमाला वर्ण द्वारा अनुक्रमित एक सरणी। यह a . की आवश्यकता को समाप्त करता है
संक्रमण का पता लगाने के लिए द्विआधारी खोज और तेज़ कोड उत्पन्न करता है, हालांकि यह केवल है
छोटे अक्षरों के लिए उपयुक्त।
-F1 (सी/डी/रूबी/सी#/गो) कार्रवाई सूचियों का विस्तार करके एक तेज फ्लैट टेबल संचालित एफएसएम उत्पन्न करें
क्रिया निष्पादन कोड में।
-G0 (सी/डी/सी#/गो) एक गोटो संचालित एफएसएम उत्पन्न करें। गोटो संचालित एफएसएम राज्य का प्रतिनिधित्व करता है
मशीन गोटो स्टेटमेंट की एक श्रृंखला के रूप में। मशीन में रहते हुए, वर्तमान स्थिति है
प्रोसेसर के निर्देश सूचक द्वारा संग्रहीत। निष्पादन एक सपाट कार्य है
जहां गोटो का उपयोग करके एक राज्य से दूसरे राज्य में नियंत्रण पारित किया जाता है। सामान्य तौर पर, गोटो FSM
तेज़ कोड उत्पन्न करता है लेकिन परिणाम एक बड़ा बाइनरी और अधिक महंगा होस्ट होता है
भाषा संकलन।
-G1 (सी/डी/सी#/गो) में कार्रवाई सूचियों का विस्तार करके एक तेज गोटो संचालित एफएसएम उत्पन्न करें
क्रिया निष्पादन कोड।
-G2 (सी/डी/गो) कार्रवाई सूचियों को एम्बेड करके वास्तव में तेज़ गोटो संचालित एफएसएम उत्पन्न करें
राज्य मशीन नियंत्रण कोड।
-पी (सी/डी) एन-वे स्प्लिट वास्तव में तेजी से गोटो-संचालित एफएसएम।
रागेली इनपुट
नोट: यह रैगेल इनपुट का एक बहुत ही संक्षिप्त विवरण है। रागेल का अधिक विस्तार से वर्णन किया गया है
मुखपृष्ठ से उपलब्ध उपयोगकर्ता मार्गदर्शिका में (नीचे देखें)।
रैगेल आम तौर पर इनपुट फाइलों को सीधे आउटपुट में भेजता है। जब यह एक FSM देखता है
विनिर्देश जिसमें मशीन तात्कालिकता शामिल है, यह राज्य मशीन उत्पन्न करने के लिए रुकती है।
यदि लेखन कथन हैं (जैसे "लेखन निष्पादन") तो रागेल संबंधित का उत्सर्जन करता है
कोड। एक इनपुट फ़ाइल में कितनी भी संख्या में FSM विनिर्देश हो सकते हैं। एक बहु-पंक्ति FSM
विनिर्देश '%%{' से शुरू होता है और '}%%' पर समाप्त होता है। एक सिंगल लाइन एफएसएम विनिर्देश
%% से शुरू होता है और पहली नई लाइन पर समाप्त होता है।
FSM कथन
मशीन नाम
मशीन का नाम सेट करें। यदि दिया गया है, तो यह पहला कथन होना चाहिए।
वर्णमाला प्रकार
वर्णमाला का डेटा प्रकार सेट करें।
चाबी देना:
निर्दिष्ट करें कि तत्व प्रकार से वर्णमाला वर्ण कैसे प्राप्त करें।
शामिल करें:
वर्तमान के समान नाम की या किसी भिन्न नाम की मशीन को या तो शामिल करें
वर्तमान फ़ाइल या कोई अन्य फ़ाइल।
कार्य परिभाषा:
एक क्रिया को परिभाषित करें जिसे FSM द्वारा लागू किया जा सकता है।
एफएसएम परिभाषा, प्रारंभ और सबसे लंबे समय तक मैच तात्कालिकता:
FSM बनाने के लिए उपयोग किया जाता है। अगले कुछ खंडों में वाक्य रचना विवरण।
प्रवेश:
निर्दिष्ट करें कि लगातार राज्य मशीन चर का उपयोग कैसे करें।
लिखना: मशीन के कुछ घटक लिखिए।
वैरिएबल:
डिफ़ॉल्ट चर नामों (p, pe, cs, act, आदि) को ओवरराइड करें।
बुनियादी मशीन
मूल मशीनें नियमित भाषा अभिव्यक्तियों के आधार ऑपरेंड हैं।
'नमस्ते'
कॉनकैट शाब्दिक। स्ट्रिंग में वर्णों का एक संयोजन उत्पन्न करता है। समर्थन
'\' के साथ भागने के क्रम। परिणाम में एक प्रारंभ स्थिति और एक संक्रमण होगा
स्ट्रिंग में प्रत्येक वर्ण के लिए एक नया राज्य। अनुक्रम में अंतिम स्थिति होगी
अंतिम किया जाए। स्ट्रिंग को केस-असंवेदनशील बनाने के लिए, स्ट्रिंग में 'i' जोड़ें, जैसे
'cmd'i में।
"नमस्ते"
एकल उद्धरण संस्करण के समान।
[नमस्ते]
या शाब्दिक। पात्रों का एक संघ बनाता है। '-' के साथ वर्ण श्रेणियों का समर्थन करता है,
प्रारंभिक '^' के साथ संघ की भावना को नकारना और '\' से बचने के क्रम।
परिणाम में प्रत्येक वर्ण के लिए उनके बीच एक संक्रमण के साथ दो राज्य होंगे
या रेंज।
नोट: '', "", और [] शून्य एफएसएम उत्पन्न करते हैं। नल मशीनों में एक राज्य होता है जो दोनों एक शुरुआत है
राज्य और अंतिम स्थिति और शून्य लंबाई स्ट्रिंग से मेल खाते हैं। एक नल मशीन बनाई जा सकती है
नल बिलिन मशीन के साथ।
पूर्णांक
दी गई पूर्णांक संख्या पर एक संक्रमण के साथ दो राज्य मशीन बनाता है।
हेक्स दिए गए हेक्साडेसिमल नंबर पर एक ट्रांजिशन के साथ टू स्टेट मशीन बनाता है।
/सरल_रेगेक्स/
एक साधारण नियमित अभिव्यक्ति। अंकन का समर्थन करता है '।', '*' और '[]', चरित्र
'-' के साथ पर्वतमाला, एक या अभिव्यक्ति की भावना को नकारते हुए और प्रारंभिक '^' और . के साथ
'\' के साथ भागने के क्रम। एक अनुगामी ध्वज का भी समर्थन करता है: i. a . का उत्पादन करने के लिए इसका उपयोग करें
केस-असंवेदनशील नियमित अभिव्यक्ति, जैसा कि /GET/i में है।
बिस्तर .. बिस्तर
एक सीमा निर्दिष्ट करता है। अनुमेय ऊपरी और निचली सीमाएं के समवर्ती शाब्दिक हैं
लंबाई एक और संख्या मशीनें। उदाहरण के लिए, 0x10..0x20, 0..63, और 'a'..'z' हैं
वैध श्रेणियां।
चर का नाम
दिए गए चर नाम को निर्दिष्ट मशीन परिभाषा को संदर्भित करता है।
बिल्टिन_मशीन
कई बिल्टिन मशीनें उपलब्ध हैं। वे सभी दो राज्य मशीनें हैं
पात्रों के सामान्य वर्गों के मिलान का उद्देश्य। वे:
कोई वर्णमाला में कोई भी वर्ण।
ASCII असीसी वर्ण 0..127।
विस्तार Ascii विस्तारित वर्ण। हस्ताक्षरित अक्षरों के लिए यह सीमा -128..127 है
और अहस्ताक्षरित अक्षरों के लिए सीमा 0..255।
अल्फा वर्णमाला वर्ण /[ए-ज़ा-जेड]/.
अंक अंक /[0-9]/.
alnum अल्फा न्यूमेरिक्स /[0-9A-Za-z]/.
कम लोअरकेस वर्ण /[az]/.
ऊपरी अपरकेस वर्ण /[AZ]/.
xdigit हेक्साडेसिमल अंक /[0-9A-Fa-f]/.
नियंत्रण नियंत्रण वर्ण 0..31।
ग्राफ चित्रमय वर्ण /[!-~]/.
छाप प्रिंट करने योग्य वर्ण /[ -~]/.
बिंदु विराम चिह्न। ग्राफ़िकल वर्ण जो अल्फ़ा-न्यूमेरिक्स नहीं हैं
/[!-/:-@\[-`{-~]/.
अंतरिक्ष व्हाइटस्पेस /[\t\v\f\n\r ]/.
रिक्त शून्य लंबाई स्ट्रिंग। '', '' '' और [] के बराबर।
खाली खाली सेट। कुछ भी मेल नहीं खाता।
संक्षिप्त करें ऑपरेटर संदर्भ
ऑपरेटरों को प्राथमिकता के आधार पर समूहीकृत किया जाता है, समूह 1 सबसे कम होता है और समूह 6 सबसे ऊंचा होता है।
समूह 1:
expr , expr
बिना किसी बदलाव के मशीनों को एक साथ मिलाएं, एक स्टार्ट स्टेट स्थापित करें या
कोई अंतिम राज्य। प्रारंभ स्थिति को "प्रारंभ" लेबल के साथ स्पष्ट रूप से निर्दिष्ट किया जाना चाहिए।
अंतिम राज्यों को एक एप्सिलॉन संक्रमण के साथ निहित रूप से निर्दिष्ट किया जा सकता है
"अंतिम" राज्य बनाया।
समूह 2:
expr | expr
मशीन एक या मशीन दो में किसी भी स्ट्रिंग से मेल खाने वाली मशीन का उत्पादन करता है।
expr & expr
एक ऐसी मशीन का निर्माण करता है जो किसी भी स्ट्रिंग से मेल खाती है जो मशीन एक और मशीन दोनों में होती है
दो।
expr - expr
एक ऐसी मशीन का निर्माण करता है जो किसी भी स्ट्रिंग से मेल खाती है जो मशीन एक में है लेकिन नहीं है
मशीन दो।
expr -- expr
मजबूत घटाव। मशीन में किसी भी स्ट्रिंग से मेल खाता है जिसमें कोई स्ट्रिंग नहीं है
मशीन दो में सबस्ट्रिंग के रूप में।
समूह 3:
expr . expr
एक ऐसी मशीन का निर्माण करता है जो मशीन में सभी स्ट्रिंग्स से मेल खाती है, उसके बाद सभी
मशीन दो में तार।
expr :> expr
प्रवेश-संरक्षित संयोजन: मशीन दो में प्रवेश करने पर मशीन एक को समाप्त करता है।
expr :>> expr
फिनिश-गार्डेड कॉन्सटेनेशन: मशीन दो खत्म होने पर मशीन एक को समाप्त कर देता है।
expr <: expr
लेफ्ट-गार्डेड कॉन्सटेनेशन: मशीन वन को उच्च प्राथमिकता देता है।
नोट: Concatenation डिफ़ॉल्ट ऑपरेटर है। दो मशीनें एक दूसरे के बगल में नहीं
उनके बीच संचालिका का परिणाम संयोजन संचालन में होता है।
समूह 4:
लेबल: expr
एक अभिव्यक्ति के लिए एक लेबल संलग्न करता है। लेबल का उपयोग एप्सिलॉन संक्रमणों द्वारा किया जा सकता है और
क्रियाओं में fgoto और fcall कथन। यह भी ध्यान दें कि मशीन का संदर्भ
परिभाषा एक ही नाम से लेबल के निहित निर्माण का कारण बनती है।
समूह 5:
expr -> लेबल
लेबल द्वारा परिभाषित अवस्था में एक एप्सिलॉन संक्रमण आरेखित करता है। लेबल में एक नाम होना चाहिए
वर्तमान दायरा। अल्पविराम ऑपरेटर होने पर एप्सिलॉन संक्रमण हल हो जाते हैं
मूल्यांकन और मशीन के अभिव्यक्ति वृक्ष की जड़ में
असाइनमेंट / इंस्टेंटेशन।
समूह 6: क्रियाएँ
एक क्रिया एक क्रिया विवरण के साथ पूर्वनिर्धारित नाम हो सकता है या सीधे निर्दिष्ट किया जा सकता है
व्यंजक में '{' और '}' के साथ।
expr > कार्य
ट्रांज़िशन शुरू करने में क्रिया एम्बेड करता है।
expr @ कार्य
अंतिम स्थिति में जाने वाले ट्रांज़िशन में कार्रवाई एम्बेड करता है।
expr $ कार्य
सभी ट्रांज़िशन में कार्रवाई एम्बेड करता है। लंबित संक्रमणों को शामिल नहीं करता है।
expr % कार्य
अंतिम राज्यों से लंबित ट्रांज़िशन में कार्रवाई एम्बेड करता है।
समूह 6: EOF क्रियाएँ
जब मशीन की फिनिश रूटीन को वर्तमान स्थिति कहा जाता है, तो ईओएफ क्रियाएं निष्पादित की जाती हैं।
expr >/ कार्य
प्रारंभ स्थिति में एक EOF क्रिया एम्बेड करें।
expr </ कार्य
प्रारंभ राज्य को छोड़कर सभी राज्यों में ईओएफ कार्रवाई एम्बेड करें।
expr $/ कार्य
सभी राज्यों में ईओएफ कार्रवाई एम्बेड करें।
expr %/ कार्य
अंतिम राज्यों में एक ईओएफ कार्रवाई एम्बेड करें।
expr @/ कार्य
उन सभी राज्यों में ईओएफ कार्रवाई एम्बेड करें जो अंतिम नहीं हैं।
expr <>/ कार्य
उन सभी राज्यों में एक ईओएफ कार्रवाई एम्बेड करें जो प्रारंभ राज्य नहीं हैं और जो नहीं हैं
अंतिम (मध्य राज्य)।
समूह 6: वैश्विक त्रुटि क्रियाएँ
वैश्विक त्रुटि क्रियाओं को राज्यों में तब तक संग्रहीत किया जाता है जब तक कि अंतिम राज्य मशीन पूरी तरह से समाप्त नहीं हो जाती
निर्माण किया। फिर उन्हें एरर ट्रांज़िशन में स्थानांतरित कर दिया जाता है, जिससे a . का प्रभाव पड़ता है
डिफ़ॉल्ट कार्रवाई।
expr >! कार्य
प्रारंभ स्थिति में वैश्विक त्रुटि कार्रवाई एम्बेड करें।
expr <! कार्य
प्रारंभ स्थिति को छोड़कर सभी राज्यों में वैश्विक त्रुटि कार्रवाई एम्बेड करें।
expr $! कार्य
सभी राज्यों में वैश्विक त्रुटि कार्रवाई एम्बेड करें।
expr %! कार्य
अंतिम स्थिति में वैश्विक त्रुटि कार्रवाई एम्बेड करें।
expr @! कार्य
उन सभी राज्यों में वैश्विक त्रुटि कार्रवाई एम्बेड करें जो अंतिम नहीं हैं।
expr <>! कार्य
उन सभी राज्यों में वैश्विक त्रुटि कार्रवाई एम्बेड करें जो प्रारंभ स्थिति नहीं हैं और हैं
अंतिम नहीं (मध्य राज्य)।
समूह 6: स्थानीय त्रुटि क्रियाएँ
स्थानीय त्रुटि क्रियाओं को राज्यों में तब तक संग्रहीत किया जाता है जब तक कि नामित मशीन पूरी तरह से निर्मित नहीं हो जाती।
फिर उन्हें त्रुटि ट्रांज़िशन में स्थानांतरित कर दिया जाता है, जिसके लिए डिफ़ॉल्ट कार्रवाई का प्रभाव दिया जाता है
कुल मशीन का एक भाग। ध्यान दें कि नाम छोड़ा जा सकता है, जिस स्थिति में
वर्तमान मशीन के निर्माण पर कार्रवाई को त्रुटि कार्यों में स्थानांतरित कर दिया जाएगा।
expr >^ कार्य
स्थानीय त्रुटि क्रिया को प्रारंभ स्थिति में एम्बेड करें।
expr <^ कार्य
प्रारंभ स्थिति को छोड़कर सभी राज्यों में स्थानीय त्रुटि कार्रवाई एम्बेड करें।
expr $^ कार्य
सभी राज्यों में स्थानीय त्रुटि कार्रवाई एम्बेड करें।
expr %^ कार्य
अंतिम स्थिति में स्थानीय त्रुटि कार्रवाई एम्बेड करें।
expr @^ कार्य
उन सभी राज्यों में स्थानीय त्रुटि कार्रवाई एम्बेड करें जो अंतिम नहीं हैं।
expr <>^ कार्य
उन सभी राज्यों में स्थानीय त्रुटि कार्रवाई एम्बेड करें जो प्रारंभ स्थिति नहीं हैं और हैं
अंतिम नहीं (मध्य राज्य)।
समूह 6: कहना क्रियाएँ
राज्य के लिए क्रियाओं को राज्यों में संग्रहीत किया जाता है और किसी भी समय मशीन को ए . में ले जाने पर निष्पादित किया जाता है
राज्य। इसमें नियमित संक्रमण, और नियंत्रण के हस्तांतरण जैसे कि fgoto शामिल हैं। ध्यान दें
मशीन के बाहर से वर्तमान स्थिति को सेट करना (उदाहरण के लिए)
आरंभीकरण) एक राज्य में संक्रमण के रूप में नहीं गिना जाता है।
expr >~ कार्य
राज्य के लिए कार्रवाई क्रिया को प्रारंभ स्थिति में एम्बेड करें।
expr <~ कार्य
प्रारंभ स्थिति को छोड़कर सभी राज्यों में राज्य के लिए कार्रवाई एम्बेड करें।
expr $~ कार्य
सभी राज्यों में राज्य के लिए कार्रवाई एम्बेड करें।
expr %~ कार्य
अंतिम राज्यों में राज्य के लिए कार्रवाई एम्बेड करें।
expr @~ कार्य
उन सभी राज्यों में राज्य के लिए कार्रवाई एम्बेड करें जो अंतिम नहीं हैं।
expr <>~ कार्य
उन सभी राज्यों में राज्य के लिए कार्रवाई एम्बेड करें जो प्रारंभ राज्य नहीं हैं और नहीं हैं
अंतिम (मध्य राज्य)।
समूह 6: से-राज्य क्रियाएँ
जब भी कोई राज्य किसी चरित्र पर संक्रमण लेता है, तो राज्य की क्रियाओं को क्रियान्वित किया जाता है। इस
त्रुटि संक्रमण और स्वयं के लिए एक संक्रमण शामिल है।
expr >* कार्य
राज्य से क्रिया को प्रारंभ स्थिति में एम्बेड करें।
expr <* कार्य
राज्य से शुरू होने वाली कार्रवाई को छोड़कर हर राज्य में एक राज्य से कार्रवाई एम्बेड करें।
expr $* कार्य
एक राज्य से कार्रवाई को सभी राज्यों में एम्बेड करें।
expr %* कार्य
अंतिम राज्यों में राज्य से कार्रवाई एम्बेड करें।
expr @* कार्य
उन सभी राज्यों में एक राज्य से कार्रवाई एम्बेड करें जो अंतिम नहीं हैं।
expr <>* कार्य
उन सभी राज्यों में राज्य से कार्रवाई एम्बेड करें जो प्रारंभ राज्य नहीं हैं और नहीं हैं
अंतिम (मध्य राज्य)।
समूह 6: प्राथमिकता असाइनमेंट
संक्रमण के भीतर नामों को प्राथमिकता दी जाती है। केवल एक ही नाम पर प्राथमिकताएं हैं
बातचीत करने की अनुमति दी। प्राथमिकताओं के पहले रूप में नाम के नाम से चूक जाता है
मशीन परिभाषा में प्राथमिकता दी गई है। संक्रमण में डिफ़ॉल्ट नहीं है
प्राथमिकताएँ।
expr > int
प्रारंभ स्थिति को छोड़कर सभी संक्रमणों में प्राथमिकता int निर्दिष्ट करता है।
expr @ int
अंतिम स्थिति में जाने वाले सभी संक्रमणों में प्राथमिकता int निर्दिष्ट करता है।
expr $ int
सभी मौजूदा ट्रांज़िशन में प्राथमिकता इंट असाइन करता है।
expr % int
सभी लंबित ट्रांज़िशन में प्राथमिकता इंट असाइन करता है।
प्राथमिकता असाइनमेंट का दूसरा रूप प्रोग्रामर को उस नाम को निर्दिष्ट करने की अनुमति देता है जिसे
प्राथमिकता दी जाती है, जिससे मशीन की परिभाषा की सीमाओं को पार करने के लिए बातचीत की अनुमति मिलती है।
expr > (नाम, इंट)
प्रारंभ स्थिति को छोड़कर सभी संक्रमणों में नाम के लिए प्राथमिकता int निर्दिष्ट करता है।
expr @ (नाम, NS)
अंतिम स्थिति में जाने वाले सभी संक्रमणों में नाम के लिए प्राथमिकता int निर्दिष्ट करता है।
expr $ (नाम, NS)
सभी मौजूदा ट्रांज़िशन में नाम को प्राथमिकता इंट असाइन करता है।
expr % (नाम, NS)
सभी पेंडिंग आउट ट्रांज़िशन में नाम को प्राथमिकता इंट असाइन करता है।
समूह 7:
expr * एक मशीन के क्लेन स्टार का उत्पादन करता है। के शून्य या अधिक दोहराव से मेल खाता है
मशीन।
expr **
सबसे लंबा मैच क्लेन स्टार। क्लेन स्टार का यह संस्करण उच्च प्राथमिकता देता है
मशीन में इधर-उधर लपेटकर रहना और फिर से शुरू करना। यह ऑपरेटर है
के बराबर (( expr ) $0 %1 )*.
expr ? एक ऐसी मशीन का निर्माण करता है जो दी गई मशीन या नल स्ट्रिंग को स्वीकार करती है। यह ऑपरेटर
(expr | '') के बराबर है।
expr + मशीन को स्वयं के क्लेन स्टार के साथ जोड़कर तैयार करता है। एक या . से मेल खाता है
मशीन की अधिक पुनरावृत्ति। यह ऑपरेटर (expr। expr*) के बराबर है।
expr {एन}
एक ऐसी मशीन का निर्माण करता है जो एक्सप्र के बिल्कुल n दोहराव से मेल खाती है।
expr {,एन}
एक ऐसी मशीन का निर्माण करता है जो शून्य से n तक कहीं भी एक्सप्र के दोहराव से मेल खाती है।
expr {एन,}
एक ऐसी मशीन का निर्माण करता है जो एक्सप्र के n या अधिक दोहराव से मेल खाती है।
expr {एन, एम}
एक ऐसी मशीन का निर्माण करता है जो n से m expr के दोहराव से मेल खाती है।
समूह 8:
! expr एक ऐसी मशीन का निर्माण करता है जो दी गई मशीन से मेल न खाने वाली किसी भी स्ट्रिंग से मेल खाती हो। इस
ऑपरेटर (*विस्तार - expr) के बराबर है।
^ expr चरित्र-स्तर की अस्वीकृति। किसी एकल वर्ण से मेल खाता है जो एकल से मेल नहीं खाता
कैरेक्टर मशीन क्स्प.
समूह 9:
( expr )
ऑपरेटरों पर बल पूर्वता।
मान उपलब्ध IN कोड ब्लाकों
fc वर्तमान चरित्र। *पी के बराबर।
पांचवें वेतन आयोग वर्तमान चरित्र के लिए एक सूचक। पी के बराबर
fcurs वर्तमान स्थिति का प्रतिनिधित्व करने वाला एक पूर्णांक मान।
ftargs लक्ष्य स्थिति का प्रतिनिधित्व करने वाला एक पूर्णांक मान।
फ़ेंट्री ( )
प्रवेश बिंदु का प्रतिनिधित्व करने वाला एक पूर्णांक मान ।
कथन उपलब्ध IN कोड ब्लाकों
रोकना; वर्तमान चरित्र पर आगे न बढ़ें। --p के बराबर;.
FEXEC ;
वर्तमान चरित्र को किसी और चीज़ पर सेट करता है। पी के बराबर = ( )-1;
fgoto ;
द्वारा परिभाषित मशीन पर जाएं ।
fgoto * ;
द्वारा दिए गए प्रवेश बिंदु पर जाएं . व्यंजक को एक पूर्णांक का मूल्यांकन करना चाहिए
एक राज्य का प्रतिनिधित्व करने वाला मूल्य।
आगे ;
अगले राज्य को द्वारा परिभाषित प्रवेश बिंदु के रूप में सेट करें । अगला बयान
तुरंत निर्दिष्ट स्थिति में नहीं जाता है। निम्नलिखित के बाद कोई भी क्रिया कोड
कथन निष्पादित किया जाता है।
आगे * ;
अगले राज्य को द्वारा दिए गए प्रवेश बिंदु के रूप में सेट करें . अभिव्यक्ति चाहिए
एक राज्य का प्रतिनिधित्व करने वाले पूर्णांक मान का मूल्यांकन करें।
fcall ;
द्वारा परिभाषित मशीन को कॉल करें । अगला झल्लाहट लक्ष्य के लिए कूद जाएगा
संक्रमण जिस पर कार्रवाई की जाती है।
fcall * ;
द्वारा दिए गए प्रवेश बिंदु पर कॉल करें . अगला झल्लाहट लक्ष्य के लिए कूद जाएगा
संक्रमण जिस पर कार्रवाई की जाती है।
झल्लाहट; संक्रमण की लक्षित स्थिति पर वापस लौटें जिस पर अंतिम कॉल किया गया था।
टूटना;
वर्तमान स्थिति को बचाएं और तुरंत मशीन से बाहर निकलें।
क्रेडिट
रैगेल एड्रियन थर्स्टन द्वारा लिखा गया था[ईमेल संरक्षित]>. उद्देश्य-सी आउटपुट
एरिच महासागर द्वारा योगदान दिया। डी आउटपुट एलन वेस्ट द्वारा योगदान दिया। रूबी आउटपुट द्वारा योगदान दिया गया
विक्टर ह्यूगो बोरजा। सी शार्प कोड जनरेशन डैनियल टैंग द्वारा योगदान दिया गया। में योगदान
कॉलिन फ्लेमिंग द्वारा जावा कोड जनरेशन। जस्टिन ट्यूनी द्वारा योगदान दिया गया गो कोड जनरेशन।
onworks.net सेवाओं का उपयोग करके ऑनलाइन रागेल का उपयोग करें