cpphs - ক্লাউডে অনলাইন

এটি হল cpphs কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


cpphs - হাসকেলের জন্য উদারীকৃত cpp-a-এর মতো প্রিপ্রসেসর

সাইনোপিসিস


cpphs [ফাইল ফাইল|অনুযায়ী OPTION] ...

বর্ণনাঃ


cpphs এর একটি উদারীকৃত পুনরায় বাস্তবায়ন CPP (২০১১), সি প্রাক-প্রসেসর, মধ্যে এবং জন্য
হাসকেল।

কেন সিপিপি পুনরায় বাস্তবায়ন? সঠিক বা ভুলভাবে, সি প্রি-প্রসেসর ব্যাপকভাবে হাসকেলে ব্যবহৃত হয়
সোর্স কোড. এটি বিভিন্ন কম্পাইলারের জন্য শর্তাধীন সংকলন সক্ষম করে, ভিন্ন
একই কম্পাইলারের সংস্করণ এবং বিভিন্ন OS প্ল্যাটফর্ম। এটি মাঝে মাঝে ব্যবহার করা হয়
এর ম্যাক্রো ভাষার জন্য, যা প্ল্যাটফর্ম-নির্দিষ্ট বিবরণের নির্দিষ্ট ফর্মগুলি সক্ষম করতে পারে-
ভরাট, যেমন ক্লান্তিকর বয়লারপ্লেট প্রজন্মের উদাহরণ সংজ্ঞা এবং FFI
ঘোষণা যাইহোক, সুস্পষ্ট নান্দনিকতা বাদ দিয়ে সিপিপি-তে দুটি সমস্যা রয়েছে
বেশী:

কিছু Haskell সিস্টেমের জন্য, বিশেষ করে Windows-এ Hugs, একটি সত্যিকারের cpp পাওয়া যায় না
ডিফল্ট.

এমনকি অন্যান্য Haskell সিস্টেমের জন্য, সাধারণ cpp gcc 3.x সিরিজ দ্বারা প্রদত্ত
হাস্কেলের সিনট্যাক্সের সাথে বেমানান উপায়ে সূক্ষ্মভাবে পরিবর্তন হচ্ছে। সেখানে আছে
উদাহরণ স্বরূপ, স্ট্রিং গ্যাপ এবং প্রধান অক্ষরগুলির সাথে সবসময় সমস্যা হয়
শনাক্তকারী এই সমস্যাগুলি কেবল আরও খারাপ হতে চলেছে।

সুতরাং, সিপিপি-র বিকল্প প্রদান করার চেষ্টা করা সঠিক বলে মনে হচ্ছে, উভয়ের সাথে আরও সামঞ্জস্যপূর্ণ
Haskell, এবং নিজেই Haskell এ লেখা যাতে এটি কম্পাইলারদের সাথে বিতরণ করা যায়।

cpphs বেশ-অনেক বৈশিষ্ট্য-সম্পূর্ণ, এবং এর সাথে সামঞ্জস্যপূর্ণ - ঐতিহ্যগত cpp এর শৈলী।
এটির দুটি মোড রয়েছে:

শুধুমাত্র শর্তাধীন সংকলন (--নোম্যাক্রো),

এবং সম্পূর্ণ ম্যাক্রো-সম্প্রসারণ (ডিফল্ট)।

In --নোম্যাক্রো মোড, cpphs শুধুমাত্র শর্তাধীন সংকলন কর্ম সঞ্চালন করে, যেমন # অন্তর্ভুক্তএর,
#যদিএর, এবং #ifdefএর টেক্সট-প্রতিস্থাপন সংজ্ঞা অনুযায়ী প্রক্রিয়া করা হয় (উভয় কমান্ড-
লাইন এবং অভ্যন্তরীণ), কিন্তু কোনো প্যারামিটারাইজড ম্যাক্রো সম্প্রসারণ করা হয় না। পুরাপুরি
সামঞ্জস্য মোড (ডিফল্ট), পাঠ্য প্রতিস্থাপন এবং ম্যাক্রো সম্প্রসারণও রয়েছে
নন-সিপিপি পাঠ্যের অবশিষ্ট অংশে প্রক্রিয়া করা হয়।

কাজের বৈশিষ্ট্য:

#ifdef সহজ শর্তাধীন সংকলন

#যদি সংজ্ঞায়িত(), &&, ||, ==, ইত্যাদির সম্পূর্ণ বুলিয়ান ভাষা।

#এলিফ শৃঙ্খলিত শর্তাবলী

# define
ইন-লাইন সংজ্ঞা (টেক্সট প্রতিস্থাপন এবং ম্যাক্রো)

#শেষ সংজ্ঞার ইন-লাইন প্রত্যাহার

# অন্তর্ভুক্ত
ফাইল অন্তর্ভুক্তি

# লাইন লাইন নম্বর নির্দেশিকা

\n সমস্ত # নির্দেশের মধ্যে লাইনের ধারাবাহিকতা

/ ** / একটি ম্যাক্রো সংজ্ঞার মধ্যে টোকেন ক্যাটেনেশন

## ANSI-শৈলী টোকেন ক্যাটেনেশন

# ANSI-শৈলী টোকেন স্ট্রিংাইজেশন

__ফাইল__
DIY ত্রুটি বার্তাগুলির জন্য বিশেষ পাঠ প্রতিস্থাপন

__LINE__
DIY ত্রুটি বার্তাগুলির জন্য বিশেষ পাঠ প্রতিস্থাপন

__তারিখ__
বিশেষ টেক্সট প্রতিস্থাপন

__TIME__
বিশেষ টেক্সট প্রতিস্থাপন

ম্যাক্রো সম্প্রসারণ পুনরাবৃত্তিমূলক। একটি ম্যাক্রো নামের পুনঃসংজ্ঞা একটি সতর্কতা তৈরি করে না।
ম্যাক্রো কমান্ড-লাইনে সংজ্ঞায়িত করা যেতে পারে -D ঠিক পাঠ্য প্রতিস্থাপনের মত। ম্যাক্রো
নামগুলিকে হাসকেল শনাক্তকারী হতে অনুমতি দেওয়া হয়েছে যেমন প্রাইম ` এবং ব্যাকটিক ´ সহ
অক্ষর, যা C-এর তুলনায় সামান্য শিথিল, কিন্তু তারা এখনও অপারেটর অন্তর্ভুক্ত নাও করতে পারে
প্রতীক।

আউটপুটে লাইনের সংখ্যা সংরক্ষিত থাকে যাতে পরবর্তী যেকোনো প্রসেসর দিতে পারে
অর্থপূর্ণ ত্রুটি বার্তা। যখন একটি ফাইল হয় # অন্তর্ভুক্ত'd, cpphs টিপে # লাইন জন্য নির্দেশাবলী
একই কারণ। লাইনের ধারাবাহিকতার উপস্থিতিতেও সংখ্যায়ন সঠিক হওয়া উচিত।
আপনি যদি না চান # লাইন চূড়ান্ত আউটপুটে নির্দেশাবলী, ব্যবহার করুন --নোলিন বিকল্প।

সিপিপি নির্দেশাবলীতে যেকোন সিনট্যাক্স ত্রুটি stderr কে একটি বার্তা দেয় এবং প্রোগ্রামটি বন্ধ করে দেয়।
একটি #include'd ফাইল খুঁজে পেতে ব্যর্থতা stderr-এ একটি সতর্কতা তৈরি করে, কিন্তু প্রক্রিয়াকরণ অব্যাহত থাকে।

আপনি কমান্ড লাইনে যে কোনো ফাইলের নাম দিতে পারেন। ফলাফলের উপর তালিকাভুক্ত করা হয়
স্ট্যান্ডার্ড আউটপুট।

-Dসিম একটি পাঠ্য প্রতিস্থাপন সংজ্ঞায়িত করুন (ডিফল্ট মান হল 1)

-Dsym=Val
একটি নির্দিষ্ট মান দিয়ে একটি পাঠ্য প্রতিস্থাপন সংজ্ঞায়িত করুন

-Iপথ #include এর জন্য অনুসন্ধানের পথে একটি ডিরেক্টরি যোগ করুন

-Oফাইল আউটপুটের জন্য একটি ফাইল নির্দিষ্ট করুন (ডিফল্ট হল stdout)

--নোম্যাক্রো
শুধুমাত্র প্রক্রিয়া #ifdef এবং #include এর,
ম্যাক্রো প্রসারিত করবেন না

--নোলিন
আউটপুট থেকে # লাইন ড্রপিংগুলি সরান

-- ফালা
সি-স্টাইলের মন্তব্যগুলিকে হোয়াইটস্পেসে রূপান্তর করুন, এমনকি বাইরেও
সিপিপি নির্দেশাবলী

--হ্যাশ
ANSI # স্ট্রিংাইজ অপারেটর চিনুন এবং ## এর জন্য
টোকেন ক্যাটেনেশন, ম্যাক্রোর মধ্যে

--পাঠ্য ইনপুটটিকে প্লেইন টেক্সট হিসাবে বিবেচনা করুন, Haskell কোড নয়

-- লেআউট
ম্যাক্রো সম্প্রসারণের মধ্যে নতুন লাইন সংরক্ষণ করুন

--আলো
সাক্ষর-শৈলী মন্তব্য মুছে ফেলুন

--সংস্করণ
রিপোর্ট সংস্করণ সংখ্যা cpphs এবং স্টপ

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

পার্থক্য থেকে সিপিপি


সাধারণভাবে, cpphs এর উপর ভিত্তি করে - ঐতিহ্যগত আচরণ, ANSI C নয়, এবং আছে
স্ট্যান্ডার্ড সিপিপি থেকে প্রধান পার্থক্য অনুসরণ করে।

সাধারণ

সার্জারির # যে কোনো সিপিপি নির্দেশিকা একটি লাইনের প্রথম কলামে থাকতে হবে (যদিও
ANSI এর আগে হোয়াইটস্পেস অনুমতি দেয় # ).

উৎপন্ন করে # লাইন n "ফাইলের নামসিনট্যাক্স, নয় # n "ফাইলের নাম" বৈকল্পিক

সি মন্তব্য শুধুমাত্র cpp নির্দেশাবলী মধ্যে থেকে সরানো হয়. তারা অন্য থেকে ছিনতাই করা হয় না
পাঠ্য উদাহরণস্বরূপ বিবেচনা করুন যে Haskell-এ, নিম্নলিখিত সবগুলি বৈধ অপারেটর
প্রতীক: /* */ **/* যাইহোক, আপনি সি-কমেন্ট অপসারণ চালু করতে পারেন -- ফালা বিকল্প।

ম্যাক্রো ভাষা

গ্রহণ / ** / ম্যাক্রো সংজ্ঞায় টোকেন-পেস্ট করার জন্য। যাহোক, /* */ (যেকোনো টেক্সট সহ
খোলা/বন্ধ মন্তব্যের মধ্যে) সাদা স্থান সন্নিবেশ করায়।

এএনএসআই ## টোকেন-পেস্টিং অপারেটর এর সাথে উপলব্ধ --হ্যাশ পতাকা এই এড়াতে হয়
একই নামের কোনো বৈধ হাসকেল অপারেটরের ভুল ব্যাখ্যা করা।

একটি ম্যাক্রো ফর্মাল প্যারামিটারকে বাস্তবের সাথে প্রতিস্থাপন করে, এমনকি একটি স্ট্রিংয়ের ভিতরেও (ডবল বা একক
উদ্ধৃত)। এটি -প্রথাগত আচরণ, ANSI তে সমর্থিত নয়৷

স্বীকৃতি দেয় # ম্যাক্রো সংজ্ঞায় স্ট্রিংাইজেশন অপারেটর শুধুমাত্র যদি আপনি ব্যবহার করেন --হ্যাশ
বিকল্প (এটি একটি ANSI সংযোজন, শুধুমাত্র প্রয়োজন কারণ উদ্ধৃত স্ট্রিংাইজেশন (উপরে)
ANSI দ্বারা নিষিদ্ধ।)

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

একটি ম্যাক্রো সংজ্ঞার মধ্যে সাদা স্থান সংরক্ষণ করে (এবং এটিকে অনুসরণ করে) ঠিক (মডিউল
newlines), কিন্তু অগ্রণী স্থান বাদ দেওয়া হয়েছে।

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

সঙ্গে সঙ্গে -- লেআউট বিকল্প, একটি পাঠ্য প্রতিস্থাপন বা ম্যাক্রো সংজ্ঞায় লাইন ধারাবাহিকতা
ম্যাক্রো কলে লাইন-ব্রেক হিসেবে সংরক্ষিত থাকে। (লেআউট-সংবেদনশীল কোডের জন্য দরকারী
হাস্কেল।)

onworks.net পরিষেবা ব্যবহার করে অনলাইনে cpphs ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম