বিপরীত পলিশ স্বরলিপিটির তাৎপর্য কী?


21

আমি 18 বছরের বাচ্চাদের কম্পিউটিং শেখায়। তাদের বিপরীত পলিশ স্বরলিপি দেওয়ার পরে একজন জিজ্ঞাসা করলেন কেন পাবলিক পরীক্ষায় অংশ নেওয়া যথেষ্ট তাৎপর্যপূর্ণ is আমি 70 এর দশকের ক্যালকুলেটরগুলির historicalতিহাসিক তাত্পর্য বর্ণনা করেছি তবে এটি সত্যিই সমস্যাটি সমাধান করতে ব্যর্থ হয়েছে। আরপিএন এর একই সাথে ব্যবহারিক বা তাত্ত্বিক প্রয়োগ রয়েছে।


3
আমি প্রায় দশ বছর ধরে প্রোগ্রামিং করছি এবং সিএসে স্নাতকোত্তর শেষ করেছি তবে আমি মনে করি না যে আমি কখনও কোনও গুরুতর প্রসঙ্গে বিপরীত পোলিশ দেখেছি বা ব্যবহার করেছি। আপনি কি নিশ্চিত যে এটি প্রাসঙ্গিক, বিশেষত শিক্ষার্থীদের পড়াতে?
রাফেল

এখানে একটি নিয়মিত এক্সপ্রেশন ইঞ্জিনের প্রয়োগ রয়েছে যা পোস্টফিক্স স্বরলিপি ব্যবহার করে: swtch.com/~rsc/regexp/regexp1.html#thompson । কেন থম্পসন তার প্রথম প্রয়োগে এটি ব্যবহার করেছিলেন। এছাড়াও, রান-টাইমে এক্সপ্রেশনগুলি মূল্যায়নের জন্য এটি একটি জনপ্রিয় কৌশল (যদি আপনি কোনও সংকলক তৈরি করে থাকেন)।
সাদাতাম

আরপিএন-তে আপনি বন্ধনী ব্যবহার না করে কোনও অভিব্যক্তি লিখে রাখতে পারেন।
সেগ ফল্ট

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

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

উত্তর:


9

আমি দ্রুত প্রোটোটাইপিংয়ের জন্য বেশ কয়েকবার আরপিএন ব্যবহার করেছি, উদাহরণস্বরূপ এমন একটি প্রোগ্রাম যা ব্যবহারকারীর সরবরাহিত গাণিতিক এক্সপ্রেশনটি পড়তে এবং ব্যাখ্যা করতে হয়।

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

এটি সাধারণত দ্রুত প্রোটোটাইপিং এবং সুবিধার জন্য। আমি কখনই ধরে নিব না যে কোনও ব্যবহারকারী আরপিএন বুঝতে পারে বা করতে চায়।


8

কেবল পূর্ববর্তী উত্তর / মন্তব্যগুলি প্রসারিত করার জন্য: ভুলে যাবেন না যে আরপিএন জীবিত এবং দুর্দান্ত ফর্মে রয়েছে ... প্রকৃতপক্ষে এটি বর্তমানে জাভা ভার্চুয়াল মেশিনের মতো স্ট্যাক মেশিনে ব্যবহৃত হয় ।

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

এই ধরনের পদ্ধতির সুবিধা / অসুবিধাগুলি উইকিপিডিয়া নিবন্ধেও বর্ণিত হয়েছে


এইচএম, বাইটোকোডের দিকে তাকিয়ে আপনি আর পিপিএন দেখতে পাচ্ছেন না; অবশ্যই নির্দেশাবলী "পোস্ট-ফিক্স" ক্রমে দেখানো হয়েছে তবে এটি পাটিগণিতগুলিতে আরপিএন এর মতো দেখাচ্ছে না এবং এর কারণটি বরং স্পষ্ট। রেজিস্টার মেশিনগুলিকে একই পদ্ধতিতে এগিয়ে যেতে হবে: মানগুলি লোড করুন, তারপরে একত্র করুন।
রাফেল

5

ফোরথ এবং পোস্টস্ক্রিপ্ট (এবং এভাবে পিআইডি যা আইআইআরসি পোস্টস্ক্রিপ্টের একটি সাবসেটের বাইনারি এনকোডিং হিসাবে শুরু হয়েছিল) আরও পরিচিত পোস্টফিক্স ভাষা যা এইচপি পকেট ক্যালকুলেটর একটি।

তারপরে এটি সাধারণ সংকলকগুলির মধ্যে অন্তর্বর্তী প্রতিনিধিত্ব হিসাবে তুলনামূলকভাবে সাধারণ পছন্দ।

সহজ ভিএম এর একটি পোস্টফিক্স "মেশিন" ভাষাও রয়েছে।


ঘটনাচক্রে, "সরল ভিএম" বাক্যাংশে জেভিএম অন্তর্ভুক্ত রয়েছে। আরপিএন সম্পর্কে আকর্ষণীয় হ'ল এটি হ'ল এটি সহজতম দরকারী স্ট্যাক মেশিন। স্ট্যাক মেশিনগুলি হ'ল সত্যই আকর্ষণীয় এবং দরকারী এবং প্রাসঙ্গিক।
ছদ্মনাম 3

4

ক্যালকুলেটরগুলির সাথে: দেখুন আরপিএন কী?

  • উপকারিতা: আরপিএন সময় এবং কীস্ট্রোক সাশ্রয় করে। গণনা করার সময় আপনি প্রথম বন্ধনীর ব্যবহার এবং ট্র্যাক রাখা এড়াতে পারেন। প্রক্রিয়াটি আপনি কাগজে গণিত শিখার মতোই।

  • আপনি কেবলমাত্র উত্তর শেষ না করে নিজের গণনা সম্পাদন করায় মধ্যস্থতাকারী ফলাফলগুলি দেখতে পাবেন। এটি যুক্তি শেখার জন্য অত্যন্ত সহায়ক। গণিত শিক্ষকরা এই বৈশিষ্ট্যটি গণিত সম্পর্কে শিক্ষার্থীদের বোঝার উন্নতির জন্য ব্যবহার করছেন।

  • মধ্যবর্তী ফলাফল ব্যবহারকারীকে উত্তরটি পরীক্ষা করতে এবং ত্রুটিগুলি আরও সহজে সংশোধন করতে দেয়। গণনার স্ট্রিম অনুসরণ করা আরও সহজ। ব্যবহারকারী অপারেটরদের অগ্রাধিকার নির্ধারণ করে।

  • আরপিএন যৌক্তিক কারণ ব্যবহারকারী প্রথমে নম্বরটি দেয় এবং তারপরে কী করতে হবে তা জানায়।


3

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

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

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

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

তবে আমি অবাক হয়েছি যে এই প্রশ্ন এবং এর উত্তরগুলি কেবল আরপিএন বিবেচনা করছে এবং কেউই সরাসরি পোলিশ স্বরলিপি বিবেচনা করে না।

এটি অবশ্যই দুর্দান্ত যে শিক্ষার্থীরা জিজ্ঞাসা করে। তবে এই জাতীয় প্রশ্নের উত্তর দেওয়ার ক্ষেত্রে সর্বদা বিভিন্ন দিক রয়েছে has এটি কি জ্ঞানের জন্যই কার্যকর? আমি ভাবছি এটাই সেটা. এটি কি পাঠ্যক্রমিক অনুশীলন হিসাবে দরকারী? আমি মনে করি এটি হ'ল তবে এটি লক্ষ্যভ্রষ্ট শ্রোতাদের উপর অনেক নির্ভর করে এবং এটি কেবল বুঝতে সক্ষম যা মূল্যায়ন করতে পারে কেবলমাত্র শিক্ষক assess কিছু ধারণাগত বিষয় বোঝা কি দরকারী? আমি এটি মনে করি, তবে এটি আবার তাদের শিক্ষার্থীদের কী ধারণাগুলি ব্যাখ্যা করা যায় তা শিক্ষকের মূল্যায়নের উপর নির্ভর করে।


2

আপনার ছাত্র একেবারে ঠিক ছিল। বিপরীত পোলিশ স্বরলিপি কম্পিউটার সায়েন্সে এটির জন্য খুব সীমিত ক্লাস সময় ব্যয় করার পক্ষে যথেষ্ট তাৎপর্যপূর্ণ নয়। পরিবর্তে, আরও অনেক বিস্ময়কর ধারণা ধারণাগুলি রয়েছে যা আপনি গভীর বৌদ্ধিক ধারণাগুলির সাথে শিখিয়ে নিতে পারতেন: স্থিতিশীল বিবাহ, কেক কাটিয়া, তির্যককরণ এবং থামানো সমস্যার অনস্বীকার্যতা, ইন্টারেক্টিভ প্রমাণ এবং শূন্য-জ্ঞান প্রমাণ ইত্যাদি etc. ইত্যাদি। হ্যাঁ, এগুলির সবগুলিই 18-বছরের বাচ্চাদের অ্যাক্সেসযোগ্য করা যেতে পারে।

এবং, আমি আশা করি আপনি প্রশ্ন জিজ্ঞাসার জন্য যথেষ্ট সাহসী হওয়ার জন্য আপনার ছাত্রটির প্রশংসা করেছেন! তাদের এ বিষয়টি উত্থাপন করার জন্য তাদের এক ধারে দাঁড়াতে হয়েছিল। এটি আপনার শিক্ষার স্টাইলের পক্ষে ভাল কথা বলে যে তারা আপনাকে এই প্রশ্নটি জিজ্ঞাসা করতে স্বাচ্ছন্দ্য বোধ করেছে।


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

"কম্পিউটার বিজ্ঞানে যথেষ্ট তাত্পর্যপূর্ণ নয়" - অবিশ্বাস্যরূপে মতামত
দিমিত্রি জয়েটসেভ

1

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


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