windows विंडोज पर लेक्स/YACC फ़ाइलों को कैसे संकलित करें?




bison lex (8)

यह भी ध्यान देने योग्य है कि WinFlexBison को Chocolatey पैकेज मैनेजर के लिए packaged किया गया है। स्थापित करें और फिर जाएं:

choco install winflexbison

... जो लिखने के समय में बाइसन 2.7 और फ्लेक्स 2.6.3 शामिल हैं।

वहाँ भी winflexbison3 (जो लिखने के समय) में Bison 3.0.4 और Flex 2.6.3 है।

मैं अपनी फ़ाइलों ( .l फ़ाइल और .y फ़ाइल) को पार्स करने के लिए Lex और .l फाइल कर रहा हूं।

उन फ़ाइलों को कैसे संकलित करें और विंडोज़ प्लेटफ़ॉर्म में उनके लिए बराबर .c फ़ाइल कैसे बनाएं?



यहाँ खिड़कियों के लिए फ्लेक्स और बाइसन के पोर्ट हैं: http://gnuwin32.sourceforge.net/

flex-2.5.4a-1.exe लेक्स का मुफ्त कार्यान्वयन है। bison-2.4.1-setup.exe याक का मुफ्त कार्यान्वयन है।



आप (शायद चाहते हैं) फ्लेक्स 2.5.4 हैं (कुछ लोग अब इसे "बनाए रख रहे हैं" और नए संस्करणों का उत्पादन कर रहे हैं, लेकिन आईएमओ उन्होंने इसे किसी भी वास्तविक कमियों को ठीक करने के लिए और अधिक करने के लिए किया है) और 1.9 1.9 (इसी तरह)। (2017-11-17 को संपादित करें: फ्लेक्स 2.5.4 किसी और स्रोत पर उपलब्ध नहीं है, और फ्लेक्स जीथब रिपॉजिटरी केवल 2.5.5 पर वापस जाती है। लेकिन आप जाहिरा तौर पर अभी भी इसे FTP पर एक Gnu ftp सर्वर से प्राप्त कर सकते हैं ftp://ftp.gnu.org/old-gnu/gnu-0.2/src/flex-2.5.4.tar.gz ।)

चूंकि यह अनिवार्य रूप से अनुशंसित होगा, इसलिए मैं बाइसन का उपयोग करने के खिलाफ चेतावनी दूंगा। बाइसन मूल रूप से रॉबर्ट कॉर्बेट द्वारा लिखा गया था, वही लड़का जिसने बाद में बायकाक लिखा था, और वह खुले तौर पर बताता है कि उस समय वह वास्तव में नहीं जानता था या समझ नहीं पा रहा था कि वह क्या कर रहा है। दुर्भाग्य से, युवा और मूर्ख होने के नाते, उन्होंने इसे जीपीएल के तहत जारी किया और अब जीपीएल प्रशंसकों ने इसे जीवन की बीमारियों के जवाब के रूप में धकेल दिया, हालांकि इसके खुद के लेखक का कहना है कि इसे मूल रूप से बीटा टेस्ट उत्पाद के रूप में सोचा जाना चाहिए - लेकिन दृढ़ जीपीएल प्रशंसकों के तर्क, बायकाक के लाइसेंस में "निशुल्क" के रूप में अर्हता प्राप्त करने के लिए पर्याप्त प्रतिबंध नहीं हैं!


सबसे आसान तरीका यह है कि इंस्टॉल करने के दौरान साइबरविन डाउनलोड करें और जीसीसी और फ्लेक्स पैकेज डाउनलोड करें। फिर उदाहरण के लिए एक lex फ़ाइल चलाने के लिए। abc.l

हम लिखते हैं

फ्लेक्स abc.l

gcc lex.yy.c -o abc.exe

./abc.exe


वहाँ हमेशा Cygwin


मैं एक ही समस्या थी, यह एक बहुत ही सरल समाधान है।
'लेक्स' प्रोग्राम को निष्पादित करने के लिए कदम:

  1. उपकरण -> 'लेक्स फाइल कंपाइलर'
  2. उपकरण -> 'लेक्स बिल्ड'
  3. उपकरण -> 'खुला CMD'
  4. फिर कमांड प्रॉम्प्ट में टाइप करें 'name_of_file.exe' उदाहरण -> '1..exe'
  5. फिर पूरे इनपुट में प्रवेश करते हुए Ctrl + Z दबाएं और Enter दबाएं।

Example







flex-lexer