সংকলক লিখতে কেন সি ++?


14

আমি ভাবছিলাম যে কেন একটি সংকলক লেখার জন্য সি ++ ভাল পছন্দ। অবশ্যই সি এই উদ্দেশ্যে খুব ভাল, কারণ অনেক সংকলক সি বা সি ++ এ লেখা হয় তবে আমি এবার সি ++ তে বেশি আগ্রহী। কোন ভাল কারণ? আমি ইন্টারনেটে এটি খুঁজছিলাম, তবে আমি কোনও ভাল কারণ খুঁজে পাচ্ছি না।


3
"অনেক সংকলক সি [+] তে লিখিত [...]" - কোনও রেফারেন্স? কোনটা? আপনি কী ভাবেন যে অন্যান্য জনপ্রিয় ভাষার তুলনায় সি ++ আরও প্রায়শই সংকলক নির্মাণের জন্য ব্যবহৃত হয়?
ডক ব্রাউন

6
@ ডকব্রাউন ওয়েল, ক্ল্যাং এবং এমএসভিসি বেশিরভাগ সি ++ তে লিখিত হয়েছে, জিসিসি এখন এতে বেশ কিছু সি ++ রয়েছে, জাভা জেভিএম সি ++ স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 410320/ কি- আই- জাভা-লিখন-ইন এবং সুপারউজারে লেখা আছে । com / প্রশ্নগুলি / 136136 /…
ক্লাইম

@ ডকব্রাউন ডিএমডি ডি-এর জন্য রেফারেন্স সংকলক সি ++
র‌্যাচেট ফ্রিক

3
কে বলে এটা ভাল পছন্দ ??
ফিল

1
@ ফিল আপনি কি বিকল্পধারা বিবেচনা না করেই এই পছন্দটি করেছেন বলে আপনি মনে করেন? এটি একটি "ভাল" পছন্দ নয়, এটি একটি "দক্ষ" পছন্দ।
ক্লাইম

উত্তর:


24

সি ++ এর দুটি দিক রয়েছে। এটির একটি নিম্ন-স্তরের বিকাশ রয়েছে যা কোড জেনারেশনের মতো নিম্ন স্তরের জিনিস করার জন্য এটি প্রাকৃতিক ভাষার মতো বলে মনে হচ্ছে। এটির একটি উচ্চ-স্তরের দিক (যা সি দেয় না) যা আপনাকে একটি জটিল অ্যাপ্লিকেশন (সংকলকের মতো) কাঠামোগত, অবজেক্ট ওরিয়েন্টেড পদ্ধতিতে গঠন করতে দেয়, তবুও পারফরম্যান্স বজায় রেখে। এটির নিম্ন এবং উচ্চ স্তরের উভয় দিক রয়েছে বলে এটি বড় অ্যাপ্লিকেশনের জন্য একটি ভাল পছন্দ যার জন্য নিম্ন-স্তরের বৈশিষ্ট্য বা সম্পাদনা প্রয়োজন।


11
আমি যতদূর জানি কমপাইলারের ভিতরে অনেক যুক্তি কার্যকরী প্রকৃতির (জটিল ডেটা স্ট্রাকচারকে অন্য ডেটা স্ট্রাকচারে রূপান্তর করা) তাই আমি নিশ্চিত নই যে অবজেক্ট-ভিত্তিক সুবিধাগুলি (যা বড়-বড়-প্রোগ্রামিংয়ের দিকে বেশি টার্গেটযুক্ত) , আর্কিটেকচারাল দিকগুলি) একটি ক্রিয়াকলাপের প্রোগ্রামিং স্টাইলে নির্মাণের কব্জি সংকলনের আসল সুবিধা নিয়ে আসে। শুধু আমার 2 সেন্ট।
জর্জিও

5
@ জর্জিও অবজেক্টগুলি সংকলক লেখার অন্যান্য দিকগুলিতে অনেক সহায়তা করে। উদাহরণস্বরূপ, অনেক সংস্থার সংকলকটি অনুকূলিতকরণের সাথে মোকাবিলা করতে হয়েছিল এবং এই ধরণের জিনিসগুলি ওওপিকে ভাল toণ দেয়। এছাড়াও, ওওপি এবং ফাংশনাল প্রোগ্রামিং বেশ প্রশংসাসূচক হতে পারে, সুতরাং কেবল কারণ অ্যালগোরিদমগুলি বেশিরভাগ কার্যকরী হতে পারে, এর অর্থ এই নয় যে বস্তুগুলি সহায়তা করবে না।
ওলেকসি 26'12

3
@ জর্জিও এবং ওলেকসী: আমি আপনার দুজনকেই নিশ্চিত করতে পারি। আমি আসল বিশ্ব ভাষার জন্য হাস্কেলের সাথে একটি সংকলক লিখেছিলাম। এটা সত্যিই ভাল ফিট ছিল। তবে মাঝে মাঝে কিছু ওও মিস করি। যদি আমাকে অন্য সংকলক লিখতে হত তবে আমি অবশ্যই হাস্কেলকে বেছে নেব, তবে এটি সত্যিই একটি বিশেষ ক্ষেত্রে। আমি অন্যান্য ধরণের প্রকল্পের জন্য দ্বিধা ছাড়াই হাস্কেলকে বেছে নেব না।
স্কার্ফ্রিজ ২ '

27
কোড জেনারেশন করার জন্য আপনার কেন "নিম্ন-স্তরের দিকের" ভাষা থাকা দরকার? এই দুটি কীভাবে কোনওভাবে সংযুক্ত রয়েছে তা আমি দেখতে পাচ্ছি না।
ফ্যান্ট 0 মি

5
ইউনিকোড শনাক্তকারীদের যে কোনও ফাইলটিতে জাপানি পাঠ্য লিখতে সক্ষম হতে প্রয়োজন তার চেয়ে বেশি কোড জেনারেশন করার জন্য আপনার একটি "নিম্ন-স্তরের দিকের" দরকার নেই ।
dan04

17

আমার অভিজ্ঞতা এখানে আপনার ভিত্তির সাথে একমত নয়। প্রকৃতপক্ষে, উচ্চ-স্তরের সাধারণ-উদ্দেশ্যে ভাষাগুলির জন্য, সোর্স ল্যাঙ্গুয়েজ (ভাষাটি সংকলিত হচ্ছে) হিসাবে একই ভাষায় সংকলক লেখার পক্ষে একটি খুব সাধারণ অভ্যাস । উদাহরণ স্বরূপ:

  • সান এর জাভা সংকলক জাভা লেখা হয়
  • স্কালায় সংকলকটি স্কালায় রচিত
  • মনো এর সি # সংকলক সি # তে লেখা আছে
  • স্কুইকের স্মার্টটাক সংকলক ছোট্ট টাল্কে রচিত
  • ... এবং আরো অনেক

একটি ব্যতিক্রম হ'ল জিসিসি, এলএলভিএম বা পলিগ্লোটের মতো বিদ্যমান সংকলক ফ্রেমওয়ার্কগুলির জন্য লিখিত সংকলক ফ্রন্ট-এন্ডস যা ফ্রেমওয়ার্কের ভাষায় লেখা হয়, বা ইয়্যাকের মতো বিদ্যমান পার্সার জেনারেটরের উপর নির্ভরশীল সংকলক। যেহেতু জিসিসি, এলএলভিএম এবং ইয়্যাক প্রচলিত, সি এবং সি ++ তে লিখিত প্রতিষ্ঠিত সরঞ্জাম, এটি সংকলক লেখকদের তাদের ব্যবহারের জন্য উত্সাহ দেয়, যার ফলে সি এবং সি ++ সংকলক বাস্তবায়ন ভাষা বিতরণে একটি বড় অংশ পেতে পারে।


2
আমি মনে করি যে লোকেরা কম্পাইলারটি ভালভাবে জেনে এবং লেখাগুলির জন্য প্রযুক্তিগত কারণে তুলনামূলকভাবে তারা যে সংকলকটি লিখছেন তার অনেক বেশি পছন্দ করার সাথে আরও অনেক কিছু করার রয়েছে।
থমাস বনিনি

1
@ ক্রিপ আমি সম্মতি দিচ্ছি যে এটি কোনও উদ্দেশ্যগত প্রযুক্তিগত কারণে নয়, তবে এটি সত্যই "পছন্দ" নয়, হয় - এটি কেবল কোনও ভাষার জন্য কিছু উত্তরণের রীতি হিসাবে বিবেচিত হয় - "এটি কি যথেষ্ট পরিমাণে তার নিজের বাস্তবায়ন ভাষা হিসাবে পরিবেশন করতে সক্ষম হবে? কম্পাইলার "।
ওক

1
: সূর্যের জাভা কম্পাইলার C ++ লেখা আছে stackoverflow.com/questions/410320/what-is-java-written-in
Klaim

12
@ ক্লেম আপনি এখানে দুটি পণ্য বিভ্রান্ত করছেন। একটি হ'ল সনের জাভা সংকলক ( javacকমান্ড-লাইন), যা জাভা বাইকোডে জাভা সংকলন করে। এটি জাভাতে লেখা হয়েছে - আমি নিজে নিজে এটি বহুবার সংশোধন করেছি এবং আপনি এর জাভা উত্সগুলি অনলাইনে ব্রাউজ করতে পারেন । অন্যটি হটস্পট জেভিএম-এ এমবেড করা -ইন-টাইম সংকলক যা জাভা বাইটকোডকে দেশীয় মেশিন কোডে সংকলন করে । বেশিরভাগ JVM এর মতো এটি সি ++ তে লেখা আছে, তবে এটি কোনও জাভা সংকলক নয় - আসলে এটি জাভা ভাষা সম্পর্কে কিছুই জানে না।
ওক

@ ওক, একেবারে সঠিক! অন্য কথায়, জেভিএম! = জাভ্যাক
পল ড্রাগার

6

কি সংকলন করতে? একটি সংকলক একটি ভাষা কোড (উত্স ভাষা) থেকে অন্য (গন্তব্য ভাষা) এ রূপান্তর করে, যা গন্তব্য ভাষার নিম্ন-স্তরেরতা সম্পর্কে কিছুই নির্দেশ করে না।

  • কফিস্ক্রিপ্ট জাভাস্ক্রিপ্টে সংকলিত হয়, সংকলক কফিস্ক্রিপ্টে লেখা হচ্ছে।
  • স্ক্রিপ্ট # সি-কে জাভাস্ক্রিপ্টে কম্পাইল করে, সংকলকটি লেখা হচ্ছে, যদি আমার ভাল মনে থাকে তবে সি #।
  • প্রভৃতি

সংকলক লেখার জন্য আপনি যে ভাষাটি বেছে নিয়েছেন তা প্রসঙ্গে নির্ভর করে। উদাহরণস্বরূপ, এমন একটি প্রকল্পে কাজ করা যা পিএইচপি থেকে নেটিভ পিএইচপি কোডে বর্ণিত একটি ভাষা সংকলন করে, আমি সংস্থারটি লেখার জন্য পিএইচপি এবং সি # এর মিশ্রণটি ব্যবহার করেছি, কারণ এটি আমার দক্ষতা প্রদত্তের জন্য আমার পক্ষে সবচেয়ে বেশি অর্থবোধ তৈরি করেছে। অন্য কোনও ব্যক্তি পাইথন বা জাভা এবং পিএইচপি বা সি ++ বা কিছুটা জাভাস্ক্রিপ্ট বা যা কিছু বেছে নিতে পারে।

সংকলক সম্পর্কিত সরঞ্জামগুলির সমর্থন (টেলাস্টিনের উত্তর দেখুন) এবং এই দুটি ভাষা আপনাকে সত্যিকারের নেটিভ যেতে দেয় বলে সি বা সি ++ একটি জনপ্রিয় পছন্দ। তবে অন্য ভাষা বেছে নেওয়ার ক্ষেত্রে কোনও ভুল নেই।

নোট করুন যে আরও কৌতুকপূর্ণ হওয়ার জন্য , আপনি নিজেই সংকলকটি লিখতে উত্স ভাষা বেছে নিতে পারেন। কফিস্ক্রিপ্ট সংকলক এবং অন্যান্য অনেক সংকলকগুলির ক্ষেত্রে এটি ঘটেছিল। এটি আইডিইগুলির সাথেও জনপ্রিয়: প্রথম ভিজ্যুয়াল স্টুডিওগুলির মধ্যে একটি একই ভিজ্যুয়াল স্টুডিও ব্যবহার করে নির্মিত হয়েছিল।


5
স্ব-হোস্টিং গিরিযুক্ত নয়, এটি একটি সংকলক পোর্ট করার জন্য একটি গুরুত্বপূর্ণ সম্পত্তি।

5
কারণটি হ'ল, এটি অবিলম্বে সংকলকটিকে একটি পরীক্ষামূলক প্রোগ্রাম হিসাবে সক্ষম করে। এটি সম্ভবত বেশ কিছু সময়ের জন্য সেই সংকলকের জন্য বৃহত্তম প্রোগ্রামও হবে।

6

আমি এখানে প্রাথমিক ভিত্তি প্রশ্ন করতে ঝোঁক। সি এবং সি ++ কম্পাইলার লেখার জন্য পুরোপুরি ভালভাবে কাজ করার সময়, বেশ কয়েকটি অন্যান্য ভাষাও টাস্কের জন্য পুরোপুরি ভালভাবে কাজ করে বলে মনে হচ্ছে।

আপনি যে ভাষাটি সংকলন করছেন তার উপর কিছুটা নির্ভর করে। ছোট, সাধারণ ভাষার জন্য, সি এবং পাস্কাল বেশ সুন্দরভাবে কাজ করে। যদি আপনি বড় এবং জটিল কিছু সংকলন করতে চলেছেন তবে আপনার সংকলকটি আরও বড় এবং জটিল হয়ে উঠবে - সেক্ষেত্রে বৃহত্তর প্রোগ্রামগুলি সংগঠিত এবং কাজ করার জন্য সি ++ এর অতিরিক্ত বৈশিষ্ট্যগুলি অবশ্যই কার্যকর হবে। এটি যদিও সংকলনের জন্য খুব সুনির্দিষ্ট নয়, কেবলমাত্র সাধারণভাবে বড় প্রোগ্রামগুলির জন্য দরকারী useful

আমি মনে করি এটি অন্য একটি বিষয় উল্লেখ করাও মূল্যবান। প্রারম্ভিকরা (মনে হয়) সংকলকগুলি বেশিরভাগই পাঠ্য ম্যানিপুলেশন করছেন বলে মনে করেন, তাই তারা মনে করেন পার্লের মতো কিছু সংকলক লেখার ক্ষেত্রে বিশাল সহায়তা হবে। বাস্তবে, সংকলনের বেশ কয়েকটি আকর্ষণীয় অংশগুলি আপনার এএসটি তৈরির পরে সত্যই শুরু হয় না। যদিও আমি নিশ্চিত যে পার্ল কাজটি পুরোপুরি ভালভাবে করতে পারে, এর পাঠ্য ম্যানিপুলেশন সামর্থ্য সত্যিই এটির কোনও বিশাল সুবিধা দেয় না (পাঠ্য ম্যানিপুলেশন বেশিরভাগ লেক্সারে থাকে এবং সি এর মতো বিষয়গুলির জন্য লেক্সার জেনারেটর যাইহোক সমর্থন করে)।


2
এএসটি = বিমূর্ত সিনট্যাক্স ট্রি, আরই = নিয়মিত এক্সপ্রেশন
বিশৃঙ্খল

5

সংকলকগুলি যে কোনও আধুনিক ভাষায় প্রয়োগ করা যেতে পারে। যাইহোক, একটি সংকলক থেকে সবচেয়ে গুরুত্বপূর্ণ প্রয়োজনীয়তাগুলির একটি দ্রুত হওয়া উচিত।

সি ++ এর এখানে একটি স্পষ্ট সুবিধা রয়েছে। সি ++ এ অনুকূলিতকরণ সস্তা হয় না come তবে, এই ভাষার নিম্ন-স্তরের প্রকৃতির কারণে, অন্য যে কোনও ভাষার তুলনায় ম্যানুয়ালি সি ++ কোডটি আরও অনুকূল করা সম্ভব (এসেম্বলি ব্যতীত যা বহনযোগ্য নয়)।


11
কোডটি উত্পন্ন করার জন্য আর একটি গুরুত্বপূর্ণ প্রয়োজন হ'ল - ভুল কোড উত্পন্ন করে এমন একটি দ্রুত সংস্থার চেয়ে আমি বিশ্বাস করতে পারি ধীর সংকলক আমার have

2
যদিও এটি সম্ভবত খুব বেশি ভারী অনুকূলভাবে সি ++ অনুকূল করা সম্ভব হয়েছে, সেখানে প্রচুর… ভাল ... সর্বোত্তম সি ++ কোডের চেয়ে কম।
ডোনাল ফেলো

2
@ ডোনালফেলো এটিকে অন্যদিকে ঘুরিয়ে দিন: যে কোনও ভাষায় অনুকূল কোডের চেয়ে কম লেখা সম্ভব, তবে এমন অপ্টিমাইজেশন রয়েছে যা সি ++ (এসেমব্লার ব্যতীত অন্য ভাষা ছাড়া) অন্যান্য ভাষায় সক্ষম করা অসম্ভব। আমি অভাবের কারণে সি অন্তর্ভুক্ত করি না শক্তিশালী অন্তর্নিহিত অনুমতি দেয় উচ্চ স্তরের কাঠামোর) of
ক্লাইম

@ ব্যবহারকারী 1249 - সি ++ কোডের গতি এটিকে কোনও আকরিক বগী করে দেবে এমন কোনও কারণ নেই। আমি বরং ধীর, সঠিক সংকলকটির চেয়ে একটি দ্রুত, সঠিক সংকলক চাই।
gnasher729

3

আমি সন্দেহ করি যে তাদের ব্যবহারের প্রধান প্রেরণা হ'ল লে / সি / ইয়্যাক / বাইসন আউটপুট (প্রাথমিকভাবে) সি-তে রয়েছে যেহেতু এত দিন ধরে এটি আদর্শ ছিল, এটির গতি রয়েছে has

এগুলি বিশেষত ভাল কারণ নয় ...


আসলে এটি আমাকে সন্তুষ্ট করে না, তবে চেষ্টা করার জন্য ধন্যবাদ।
কোবরা

এটি "সংকলক নির্মাণের জন্য সি +++ এর চেয়ে বেশি কেন নির্বাচন করবেন" এই প্রশ্নের উত্তর দেয় না।
ডক ব্রাউন

3
এটি মোটেই ভাল কারণ নয়। লেক্স এবং ইয়্যাকের আনুষাঙ্গিক সরঞ্জামগুলি অনেক প্ল্যাটফর্মের জন্য বিদ্যমান। উদাহরণস্বরূপ PLY এবং ANTLR।
user16764

তদুপরি, সর্বাধিক জনপ্রিয় রিয়েল-ওয়ার্ল্ড সংকলক (উদাহরণস্বরূপ আমি ক্ল্যাং এবং জিসিসির বেশ কিছুটা আবশ্যক) হাতের লিখিত পার্সার ব্যবহার করি।

@ ডেলানন: হ্যাঁ তবে তারা সম্ভবত জমি থেকে জিনিস পেতে কোনও উত্পন্ন একটি ব্যবহার শুরু করেছিল। পার্সারের হ্যান্ড জেনারেশন হ'ল একটি অপ্টিমাইজেশন পদক্ষেপ যা আপনি সত্যিই করতে চান না যতক্ষণ না আপনি অন্য জিনিসগুলি কাজ করছে তা প্রমাণ করতে পারে।
মার্টিন ইয়র্ক

1

এই বিষয়টি নিয়ে আমার অভিজ্ঞতা আছে। আমি সি এবং সি ++ তে লিখিত সংকলক লিখেছি। সি এবং সি ++ এর মধ্যে মূল পার্থক্যটি হ'ল সিটির স্বয়ংক্রিয় উপায়ে গতিশীল মেমরি পরিচালনা নেই। সি এর সমস্ত মেমরি পরিচালনা স্পষ্টভাবে সম্পন্ন করতে হবে। সংকলক লেখা স্ট্রিং প্রসেসিং এবং অ্যারে পরিচালনার সাথে অনেক কিছু সরবরাহ করে। সি-তে আপনি প্রতিটি স্ট্রিংয়ের আকার এবং আপনি যে অ্যারে ঘোষণা করেন তার আকার সম্পর্কে চিন্তা করতে বাধ্য হন এবং আপনি যখন সেই জিনিসগুলিতে অ্যাক্সেস করেন তখন সূচিগুলিও পরীক্ষা করে (যদি আপনি চান যে আপনার কোডটি সুরক্ষিত এবং স্থিতিশীল হোক)। সিতে আপনার অবশ্যই গতিশীল মেমরি পরিচালনা থাকতে পারে তবে কিছুই স্বয়ংক্রিয় নয়। ম্যালোক () এবং ফ্রি () ব্যবহার করে আপনাকে স্পষ্টভাবে বরাদ্দ এবং ফ্রি মেমোরি দিতে হবে, আপনার গতিশীল অবজেক্টের আকারটি আলাদা ভেরিয়েবেলে রাখা উচিত যাতে আপনি এগুলি সীমানার বাইরে না পৌঁছে।

সি ++ তে আপনার একই ব্যবস্থা থাকতে পারে তবে এটি সত্যিকারের বিকাশের সময় দক্ষ কারণ আপনার সমস্ত মেমরি পরিচালনা কনস্ট্রাক্টর এবং ডেস্ট্রাক্টরের মধ্যে আবশ্যক যা আপনাকে স্পষ্টভাবে কল করতে হবে না। সুতরাং সংকলকটি আপনার জন্য সংস্থানগুলি বরাদ্দ এবং নিখরচায় করছে। আপনি যদি নিজের ক্লাস তৈরি করেন তবে আপনার ডায়নামিক অবজেক্টের আকারও এনক্যাপসুলেটেড হতে পারে এবং ওভারলোডিং অপারেটরের মাধ্যমে সীমানা অ্যাক্সেসের জন্য সূচীগুলি পরীক্ষা করা যেতে পারে []। এই বিমূর্ততাগুলি আপনার কোডটিকে আরও পরিষ্কার, বুঝতে সহজতর এবং ডিবাগ করতে সহায়তা করে এবং স্পষ্টভাবে বিকাশ দ্রুততর করে তোলে।

আপনি যদি সিতে একটি সংকলক তৈরি করেন তবে এটি নিশ্চিত হওয়ার জন্য আপনাকে আরও বেশি সময় লাগবে। সি ++ আপনাকে কম সময়ে আপনার প্রকল্প শেষ করবে। সি এবং সি ++ এর সমান পারফরম্যান্স রয়েছে তবে সি ++ এর অনেক সুবিধা রয়েছে যা সি এর নেই।


0

CompCert প্রকল্পের একটি গবেষণা সি কম্পাইলার যা সি বা C ++ লেখা হয়, কিন্তু Ocaml এবং Coq বেশি।

লক্ষ্য করুন যে সি ++ সিতে অনুবাদ করা হত ( সিফ্রন্টে )। এখন আপনি জিমিসিতে জিসিসির ফ্রন্ট-এন্ড ব্যবহার করতে পারেন , তারপরে জিম্পলটিকে কিছু ডাটাবেসে ফেলে ফেলুন, তারপরে আপনার এসেম্বলার অনুবাদককে একটি জিম্পল লিখুন। তবে আইনী কারণগুলির ( জিসিসি রানটাইম লাইব্রেরি ব্যতিক্রম ) এর জন্য ওপেন সোর্স হওয়ার জন্য এই ধরনের সংকলক প্রয়োজন। আপনার আইনজীবীকে বিশদে জিজ্ঞাসা করুন, আমি আইনজীবী নই। জিসিসির পুরানো রূপগুলি সি (+ কয়েকটি ডোমেন নির্দিষ্ট ভাষায়) সি ++ এর কিছু বৈকল্পিকের জন্য একটি ফ্রন্ট-এন্ড সহ লেখা হয়েছে। ওপেনট্যাটকম সি-র লিখিত একটি সি ++ সংকলক হতে পারে (আমি আপনাকে এটি পরীক্ষা করে ছাড়ছি )।

প্রতিযোগিতার উত্সটি একাডেমিক এবং গবেষণার উদ্দেশ্যে অবাধে উপলব্ধ for আপনি যদি এটি শিল্প (এবং আইনগতভাবে) ব্যবহার করতে চান তবে আপনাকে অ্যাবসিন্টের কাছ থেকে কিছু লাইসেন্স নেওয়া দরকার।

আরও দেখুন এই এবং যে দুই সংশ্লিষ্ট প্রশ্নের উত্তর।

যদি আমি 2020 সালে tasked ছিল একটি সি (অথবা সি ++) গোড়া থেকে কম্পাইলার লিখতে (লিনাক্সের, হয়তো কিছু চলমান ক্রস কম্পাইলার ) আমি সম্ভবত সি লিখতে হবে না ++,। আমি ওকামল , গো , বা জং ব্যবহার করে এটি লেখার বিষয়ে বিবেচনা করব । এবং যদি অনুমতি দেওয়া হয় তবে আমি এটি ফ্রেম-সিতে ভিত্তি করতে পারি । সি বা সি ++ তে কোডিংয়ের প্রয়োজন হলে আমি প্রথমে এর জন্য কোনও আবর্জনা সংগ্রাহক লাইব্রেরি কোড করব , সম্ভবত কিছু অধ্যবসায় স্তর- পুরো প্রোগ্রামের অপ্টিমাইজেশনের জন্য দরকারী - এবং তারপরে আমি একটি রূপক পদ্ধতির বিবেচনা করব (বেশিরভাগ সি বা সি ++ কোড উত্পন্ন করে আমার অ্যাড-হক সরঞ্জামগুলির সংকলক, সম্ভবত বিসমন বা রেফার্পিসিস যদি তাই অনুমোদিত)।

আপনি সাধারণ লিপ্পে বা পাইথনগুলিতে কোডযুক্ত কিছু (কম বা কম ওপেন সোর্স) সি সংকলকগুলি দেখতে পেলেন (যেমন: শিবাইক বা এনকিউসিসি ) cc মধ্যে এছাড়াও দেখুন ZetaC

লক্ষ করুন যে জিসিসির সাম্প্রতিক সংস্করণগুলি প্রযুক্তিগতভাবে খাঁটি সি ++ তে কোডড নয়, তারা জিসিসিতে জড়িত এক ডজন ডোমেন সুনির্দিষ্ট ভাষা (যার বেশিরভাগ টুরিং-সম্পূর্ণ )। আমার পুরানো জিসিসি মেল্ট প্রকল্পটিও দেখুন।

ভবিষ্যতে জিসিসির সংস্করণগুলিতে কিছু পাইথন বা গাইলি ইন্টারপ্রেটার তাদের মধ্যে এম্বেড করা থাকলে (উদাহরণস্বরূপ, জিসিসির পাস ম্যানেজারের প্রতিস্থাপন হিসাবে) আমি অবাক হব না ।

মধ্যে এছাড়াও দেখুন মাইল নির্দেশক স্তম্ভ জিসিসি প্রকল্পের।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.