সিনট্যাক্স এবং শব্দার্থবিজ্ঞানের মধ্যে পার্থক্য কী?


87

আমি সবসময়ই ভেবেছিলাম যে কোনও ভাষার বাক্য গঠনকে উল্লেখ করা কোনও ভাষার শব্দার্থকে বোঝার মতোই। তবে আমাকে জানিয়ে দেওয়া হয়েছে যে আপাতদৃষ্টিতে এটি তেমন নয়। পার্থক্য কি?



6
"বর্ণহীন সবুজ ধারণাগুলি প্রচণ্ডভাবে ঘুমায়" সিনথেটিকভাবে ঠিক আছে তবে কোনও শব্দার্থিক ধারণা তৈরি করে না। দেখুন en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously
CesarGon

এই প্রশ্ন জিজ্ঞাসা করার জন্য +1। আমিও তাই ভাবলাম, এর জন্য ইন্টারনেট অনুসন্ধান করতে খুব অলস ছিল এবং স্পষ্টতই কখনও জিজ্ঞাসা করিনি।
কে।

কম বেশি, আমি বলব ... শব্দার্থক হ'ল উদাহরণগুলির ধরণ, অন্যান্য দৃষ্টান্তের সাথে তাদের সম্পর্ক এবং এর মধ্যে বিদ্যমান গ্যারান্টি। সিনট্যাক্স হ'ল অক্ষরের স্ট্রিংগুলির মাধ্যমে এই জিনিসগুলি প্রকাশ করার উপায়। বেশি অথবা কম.
দেহবপ

উত্তর:


106

শব্দার্থবিজ্ঞান ~ অর্থ

সিনট্যাক্স ~ প্রতীকী উপস্থাপনা

সুতরাং বিভিন্ন ভাষায় লেখা দুটি প্রোগ্রাম একই জিনিস (শব্দার্থবিজ্ঞান) করতে পারে তবে প্রোগ্রামটি লেখার জন্য ব্যবহৃত চিহ্নগুলি আলাদা (সিনট্যাক্স) হতে পারে।

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


2
ত্রুটি পরীক্ষা করা সিনট্যাক্স এবং শব্দার্থবিজ্ঞানের মধ্যে পার্থক্য করার জন্য একটি মানদণ্ড নয়। একটি সংকলক উভয় সিনট্যাক্স ত্রুটিগুলি (নিখোঁজ সেমিকোলন এর মতো) এবং শব্দার্থত ত্রুটিগুলি সনাক্ত করতে পারে (যেমন x + yযেখানে +এই অপারেশনগুলির জন্য কোনও উপযুক্ত অপারেটর নেই )। 2 এর পরিবর্তে 1 যোগ করা যাকে আমি লজিক্যাল ত্রুটি বলি ।
কিথ থম্পসন

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

1
@ স্টিভ 314: সম্মত। তবে আপনি যদি কোনও সংকলক অবশ্যই সনাক্ত করতে পারেন না এমন ত্রুটিগুলির মধ্যে একটি তাত্পর্যপূর্ণ পার্থক্য করতে চান তবে আমি মনে করি "পার্থক্যমূলক" বনাম "যৌক্তিক" সেই পার্থক্যটি প্রকাশ করার একটি ভাল উপায়।
কিথ থম্পসন

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

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

35

আসলে দুটি স্তর নয় তিনটি রয়েছে:

  • লেক্সিকাল স্তর: ভাষার উপাদান তৈরি করতে অক্ষরগুলি কীভাবে সংযুক্ত করা হয় ( iএবং fউত্পন্ন করে if)
  • সিনট্যাক্স স্তর: কিভাবে ভাষা উপাদান ভাষা এক্সপ্রেশন উত্পাদন করতে মিলিত (করছে if, (, 42, ==, answerএবং )একটি শর্তাধীন বিবৃতি উত্পাদন করে)
  • শব্দার্থবিজ্ঞানের স্তর: ভাষা গঠনের অর্থ কীভাবে সিপিইউ নির্দেশিকায় রূপান্তরিত হয় তার অর্থ গঠনের জন্য (শর্তাধীন বিবৃতিটি বুলিয়ান এক্সপ্রেশনের ফলাফলের উপর নির্ভর করে একটি শাখা বা অন্যটি কার্যকর করতে দেয়)

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

@ এসকে-যুক্তি: অনেক ভাষায়, ভেরিয়েবলের নাম নির্ধারিত অনুমোদিত বা নিষিদ্ধ লেক্সেমির তালিকা নির্দিষ্ট করা হয়। সুতরাং বিচ্ছেদ বোঝা যায়।
mouviciel

5
@ মউভিচিল, এটি কেবলমাত্র একটি অপ্টিমাইজেশন হিসাবে উপলব্ধি করে - অন্যথায় আপনার কেবল একটি ValidIdentifierটার্মিনাল থাকবে, যা এমন কিছু হিসাবে সংজ্ঞায়িত করা যেতে পারে ![AnyKeyword] [Identifier](আমি এখানে পিইজি-জাতীয় স্বরলিপি ব্যবহার করছি)। এই জাতীয় ভাষার জন্য আপনার আলাদা লেক্সিং পাসের দরকার নেই। উদাহরণস্বরূপ, জিএলআর-ভিত্তিক সি ++ পার্সারগুলি দেখুন।
এসকে-যুক্তি

2
@ ইভানপ্ল্লেইস, আপনি কী সম্পর্কে কথা বলছেন? আমার বক্তব্যটি হল যে লেক্সিং প্রয়োজনীয় নয় (এবং প্রকৃতপক্ষে আপনার ভাষা সীমাবদ্ধ করে), পার্সিং নয় ।
এসকে-যুক্তি

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

18

আমি এটি আপনাকে ভাষায় একটি সাধারণ উদাহরণ দিয়ে ব্যাখ্যা করব ENGLISH:

The glass drank Ben

একটি সিন্টেক্সিকভাবে সঠিক বিবৃতি। এটি একটি বিশেষ্য, একটি ক্রিয়া ইত্যাদি আছে

তবে শব্দার্থগতভাবে এটি ভুল, কারণ এই বিবৃতিটির কোনও অনুমেয়যোগ্য বা সঠিক অর্থ নেই।


15

শব্দার্থবিজ্ঞান একটি প্রোগ্রামিং ভাষার যৌক্তিক সত্তা এবং তাদের মিথস্ক্রিয়াগুলি বর্ণনা করে। সিনট্যাক্স নির্ধারণ করে যে কীভাবে এগুলি অক্ষরে প্রকাশ করা হয়।

উদাহরণস্বরূপ, পয়েন্টার পাটিগণিতের ধারণা সি এর শব্দার্থবিজ্ঞানের অংশ; পয়েন্টার অপারেশনগুলি প্রকাশ করার জন্য +এবং -অপারেটরগুলি যেভাবে ব্যবহার করা যেতে পারে তার সিনট্যাক্সের অংশ।

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


সুতরাং, "দৃষ্টান্তগুলি" শব্দার্থবিজ্ঞানের সাথে সম্পর্কিত? মানে একটি দৃষ্টান্ত একটি আন্তঃসম্পর্কিত শব্দার্থবিজ্ঞানের একটি সেট?
গুলশান

1
@ গুলশান, দৃষ্টান্ত একটি শব্দার্থবিজ্ঞানের মতো আনুষ্ঠানিকর চেয়ে অনেক বেশি বিস্তৃত ধারণা। দৃষ্টান্তে শব্দার্থবিজ্ঞানের অন্তর্ভুক্ত থাকতে পারে তবে এটি একটি পদ্ধতি বা আরও বিস্তৃত একটি দর্শন।
এসকে-যুক্তি

6

সিন্ট্যাক্স হ'ল আপনি কীভাবে কোনও ভাষার টোকেনগুলি সাজান। শব্দার্থক শব্দগুলি সেই টোকেনগুলি যা বোঝায় (সাধারণত, টোকেনগুলির একটি নির্দিষ্ট বিন্যাসের অর্থ কী)।


5

আপনি কেবল প্রোগ্রামিং ভাষা বা প্রোগ্রামিংয়ে ব্যবহৃত সাধারণ ভাষাগুলির উল্লেখ করেন কিনা তা আপনি নির্দিষ্ট করেননি, সুতরাং আমার উত্তরটি ডেটা ভাষাগুলি সম্পর্কে (যেমন এক্সএমএল, আরডিএফ, ডেটা টাইপ সিস্টেম ইত্যাদি):

ব্রায়ান এল। মেক ভাষা-স্বাধীন মান (১৯৯৫) তৈরির জন্য তার সাতটি সোনার নিয়মে লিখেছেন যে "একটি ভাষার বাক্য গঠনটি অন্যের শব্দার্থক হতে পারে" । তিনি ডেটা বর্ণনায় ব্যবহৃত শব্দ "সিনট্যাক্স" এবং "শব্দার্থক" উল্লেখ করেছেন: সুতরাং আপনি যদি কিছু ডেটা ফর্ম্যাটের নির্দিষ্টকরণে এই শব্দগুলিতে হোঁচট খেয়ে থাকেন তবে আপনার অবশ্যই কাজ করা আবশ্যক তা পরিষ্কার করার জন্য আপনার উভয় শব্দের "পোট্রজেবি" দিয়ে আরও ভাল করে প্রতিস্থাপন করা উচিত clear নিজের জন্য অর্থ।

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

একটি উদাহরণ দিতে:

  • এক্সএমএল সিনট্যাক্স (এই সমস্ত বন্ধনী সহ স্টাফ) সিন্টেক্স হিসাবে এক্সএমএল ইনফোজেট (একটি বিমূর্ত গাছ) সহ শব্দার্থক।
  • সিনট্যাক্স হিসাবে একটি এক্সএমএল ইনফোসেট কিছু এক্সএমএল ডেটা ফর্ম্যাটে সিমেন্টিক হিসাবে একটি রেকর্ড প্রকাশ করতে পারে, উদাহরণস্বরূপ একটি আরডিএফ / এক্সএমএল নথি যা একটি আরডিএফ গ্রাফকে এনকোড করে।
  • সিন্ট্যাক্স হিসাবে একটি আরডিএফ গ্রাফ (ইউআরআই রেফারেন্স সহ স্টাফ) শব্দার্থক হিসাবে বিমূর্ত উত্সের গ্রাফকে এনকোড করে।
  • সিনট্যাক্স হিসাবে বিমূর্ত সংস্থানগুলির একটি গ্রাফ শব্দার্থক হিসাবে একটি ধারণামূলক মডেলকে এনকোড করে।

লোকেরা সাধারণত কোনও স্তরে থামে এবং শব্দার্থক হিসাবে গ্রহণ করে তবে শেষ পর্যন্ত কোনও চূড়ান্ত শব্দার্থবিজ্ঞান হয় না যতক্ষণ না কিছু মানুষ তার মনের মধ্যে ডেটা ব্যাখ্যা করে। ডেটা আকারে শব্দার্থক প্রকাশ করার চেষ্টা করার সাথে সাথে এটি সিনট্যাক্সে পরিণত হয়।


4

যদি এটিকে বিএনএফ (ব্যাকাস-নওর ফর্ম) বা এর অনুরূপ কিছুতে বর্ণনা করা যায় তবে এটি সিনট্যাক্স। যদি এটি না পারে তবে তা নয়।

অন্যদিকে শব্দার্থবিজ্ঞান একটি প্রোগ্রামের অর্থ (বা উত্স কোডের অন্যান্য অংশ) এর অর্থ about

এবং কখনও কখনও দুজনের মধ্যে লাইন অস্পষ্ট হতে পারে।

পার্থক্য বোঝার একটি উপায় হ'ল আপনার প্রোগ্রামের বাক্য গঠন বা শব্দার্থতত্ত্ব ভুল হলে আপনি কী ধরণের ত্রুটি পান at

একটি সিনট্যাক্স ত্রুটি ভাষা ব্যাকরণের সাথে মেলে উত্স কোডের ব্যর্থতা, উদাহরণস্বরূপ, যেখানে একটি সেমিকোলন না থাকা প্রয়োজন।

শব্দার্থত ত্রুটি হ'ল অন্য ভাষার প্রয়োজনীয়তা মেটাতে ব্যর্থতা (যাকে সি, উদাহরণস্বরূপ, "সীমাবদ্ধতা" বলে); একটি উদাহরণ লিখিত হতে পারে x + yযেখানে xএবং yবেমানান ধরনের types ভাষা ব্যাকরণ আপনাকে বলে যে একটি সংযোজন দেখতে ভাল লাগে something + somethingতবে এটি বাম এবং ডান ক্রিয়াকলাপগুলির ধরণের প্রয়োজনীয়তাগুলি প্রকাশ করার মতো শক্তিশালী নয়।

(যৌক্তিক ত্রুটিগুলি, যেমন 1 যেখানে 2 ব্যবহার করা সঠিক হবে তা সাধারণভাবে সংকলক দ্বারা সনাক্তযোগ্য নয় - যদিও কিছু ক্ষেত্রে একটি সংকলক সন্দেহজনক কোড সম্পর্কে সতর্ক করতে পারে))


0

সিনট্যাক্স হ'ল (লেক্সিকাল) প্রতীকগুলি যা বলে। শব্দার্থবিজ্ঞানগুলি তাদের অর্থ।

বিবেচনা:

সি #: condition ? true_value : false_value
ভিবি.এনইটি: If(condition, true_value, false_value)
- বিভিন্ন সিনট্যাক্স, একই শব্দার্থক।

সি #: left_value / right_value
ভিবি.এনইটি: left_value / right_value
- একই সিনট্যাক্স, বিভিন্ন শব্দার্থক (পূর্ণসংখ্যার জন্য)।


0

বাক্য বা শব্দ বিন্যাসে শব্দের ব্যাকরণগত বিন্যাস সিনট্যাক্স

(ইংরেজি) ' বিড়াল কুকুর ছেলে ' এবং (প্রোগ্রামিং) ' hi.5 ' হল না চিহ্নগুলি সিন্টেক্সের সঠিক।

(ইংরাজী) ' বিড়াল আলিঙ্গন ছেলে ' এবং (প্রোগ্রামিং) '* 3.2 * 5 *' সিন্টেক্সিকভাবে বৈধ।

স্ট্যাটিক সিমানটিকস হচ্ছে সিনথেটিকভাবে বৈধ বিবৃতিগুলির কোনও অর্থ আছে কিনা।

(ইংরাজী) ' আমি বড় ' (প্রোগ্রামিং) (পাইথন) ' 3 +' হাই ' ' সিনট্যাক্টিক্যালি সঠিক তবে স্থির শব্দার্থ ত্রুটি রয়েছে।

শব্দার্থবিজ্ঞান অর্থ স্থির শব্দার্থক ত্রুটিবিহীন চিহ্নগুলির সিনট্যাক্টিক্যালি সঠিক স্ট্রিংয়ের সাথে যুক্ত অর্থ অর্থাত বাক্যটি সিনট্যাকটিকালি এবং সিমেটিক্যালি সঠিক, তবে এর অর্থটি যা উদ্দেশ্য ছিল তা হতে পারে না।

(ইংরাজী) ' উড়ন্ত বিমানগুলি বিপজ্জনক হতে পারে ' এর দুটি অর্থ হতে পারে অর্থাৎ বিমানের উড়ান বিপজ্জনক হতে পারে বা উড়োজাহাজগুলি উড়ন্ত বিপজ্জনক হতে পারে।

(প্রোগ্রামিং) 'কম্পিউটার কোনও ত্রুটি বার্তা উত্পন্ন করবে না, তবে এটি আপনি যা করতে বলেছেন তা তা করবে না; এটি অন্য কিছু করবে। '

সূত্র : এমআইটি 6.00.1


-2
  1. সিনট্যাক্স বলতে বোঝায় কোনও ভাষায় বৈধ বিবৃতি নির্মাণের নিয়মিত আনুষ্ঠানিক নিয়ম। শব্দার্থবিজ্ঞান নিয়মের সেটকে বোঝায় যা বিবৃতিটির অর্থ দেয়।

  2. প্রোগ্রামিং ভাষার রৌলগুলি লঙ্ঘন করা বা অপব্যবহার করা হয় এমন কোনও প্রোগ্রামে সিনট্যাক্সের কারণে ত্রুটি ঘটে। শব্দাবলীর কারণে ত্রুটিগুলি একটি প্রোগ্রামে ঘটে যখন বিবৃতি অর্থবহ হয় না।

  3. ওয়ার্ড অর্ডার বাক্য গঠন এবং অর্থ প্রদানে সহায়তা করার জন্য শব্দের ক্রমের সিনট্যাক্টিক সংকেত ব্যবহার করে যা লেখা হয় তা বোঝার চেষ্টা করছেন বাক্য ক্রম। শব্দার্থবিজ্ঞান একটি ব্যক্তি তাদের পূর্ব জ্ঞানের উপর ভিত্তি করে "বাক্য" এর অর্থের নিজস্ব ব্যাখ্যা। সুতরাং এমন একটি বাক্য যা আপাতদৃষ্টিতে সিন্ট্যাক্টিক অর্থে বোঝায় না, শব্দার্থক সংকেত ব্যবহার করার সময় এর অর্থ হতে পারে।

  4. সিনট্যাক্স কেবলমাত্র ভাষাগত এবং ব্যাকরণগতভাবে সঠিক তা নিয়েই উদ্বিগ্ন। শব্দার্থবিজ্ঞানের সকলের পূর্বের জ্ঞান প্রয়োজন যা ভাষা নির্দিষ্ট এবং যা কিছু নির্দিষ্ট নয় তার বাইরে is

  5. "বেবি মিল্ক ড্রিঙ্কস" বাক্যটির একটি সিনট্যাক্টিক অর্থ নেই, তবে শব্দার্থের মাধ্যমে বেশিরভাগ লোকজন এটির অর্থ "শিশুকে দুধ পান করেন" হিসাবে ব্যাখ্যা করবেন কারণ আমাদের পূর্ববর্তী জ্ঞান আমাদের বলে যে একটি শিশু দুধ পান করে, তাই আমরা এর থেকে একটি অর্থ খুঁজে পেতে পারি মূল শব্দ।


1
শেষটি (পয়েন্ট 5) ব্যতীত অন্য কিছুর জন্য উপবিষ্ট করুন
নওফাল

-2

বাক্য গঠন এবং শব্দার্থবিদ্যা ভালো হয় রণনীতি ও রণকৌশলের বা বাম এবং ডান

এগুলি সত্যই স্বাধীন সার্বজনীন ধারণা নয়, তবে শব্দের একটি সম্পর্কিত জুড়ি যা আপনি যখন কোনও নির্দিষ্ট প্রসঙ্গে থাকেন, বিপরীত দিক নির্দেশ করে। কিন্তু একই জিনিস যা এক স্কেলে কৌশল অন্যটি কৌশল is

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


4
বিএস কি ধরণের এসোস্টেরিক? বাম এবং ডান মত? কৌশল এবং কৌশল পছন্দ? সম্ভবত এমনকি ইয়িন এবং ইয়াং, গড এবং ডেভিল, হ্যারি এবং ভলডেমর্টের মতো?
জেনসজি

-3

সিনট্যাক্স হ'ল কম্পিউটার যা বোঝে, শব্দার্থবিজ্ঞান যা মানুষ বোঝে।

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


"সিনট্যাক্স হ'ল কম্পিউটার যা বোঝে, শব্দার্থবিজ্ঞান হ'ল যা মানুষ বোঝে" একটি দুর্দান্ত ওভারসিম্প্লিফিকেশন। মানুষ বাক্য গঠনও বুঝতে পারে এবং কম্পিউটারগুলি কিছু ধরণের শব্দার্থক শব্দগুলি বুঝতে পারে।
সিজারগন

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

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

3
@ কাইলবেন, আমি নিজের সাথে বিরোধিতা করছি না, কারণ আমি কখনও বলিনি যে বাক্য গঠন এবং শব্দার্থবিজ্ঞান এমনকি সংযুক্ত রয়েছে। এবং সংকলক পার্সিং পর্যায়ে সরাসরি সিনট্যাক্সের সাথে কিছু করছে না - সংকলক শব্দার্থক প্রয়োগ করছে । স্পষ্টতই আপনার পরিভাষার ব্যাখ্যাটি ভুল। এটি একটি স্টার্টারের জন্য পড়ুন: en.wikedia.org/wiki/Denotational_semantics
এসকে-যুক্তি

3
আপনি এমন একটি প্রোগ্রামের অর্থের কথা বলছেন যা একটি "শব্দার্থবিজ্ঞান" যেমন এটি একজন ভাষাবিদ দ্বারা সংজ্ঞায়িত করা হত। কিন্তু কম্পিউটার বিজ্ঞানে শব্দার্থবিজ্ঞান একটি বিশেষ প্রোগ্রাম নয়, একটি ভাষার অর্থ ।
এসকে-যুক্তি

-3

"প্লেইন সি" সহ খুব সংক্ষিপ্ত উদাহরণ:

void main()
{
  int a = 10;
  int x = a - 1;
  int y = - 1;

  printf("x = %i", x);
  printf("y = %i", y);
    getch();
}

এই উদাহরণে, "-" টোকেনের সিনট্যাক্সটি একই, তবে এটির একটি পৃথক অর্থ রয়েছে ("শব্দার্থিক), যেখানে এটি ব্যবহৃত হয় তার উপর নির্ভর করে।

"এক্স" অ্যাসাইনমেন্টে, "-" এর অর্থ "সাবস্ট্রাকশন" অপারেশন, "y" অ্যাসাইনমেন্টে "-" অর্থ "নেতিবাচক চিহ্ন" অপারেশন।


3
ত্রুটিপূর্ণ. দুটি -অপারেটর একই টোকেন , তবে তারা সিন্টেক্সিকভাবে আলাদা, কারণ তারা বিভিন্ন প্রসঙ্গে ব্যবহৃত হয়। 0 - 1সিনট্যাক্স নিয়মের additive-expression: additive-expression - multiplicative-expressionসাথে - 1মেলে , যখন সিনট্যাক্স নিয়মের সাথে মেলে unary-expression: unary-operator cast-expression(রেফারেন্স: C99 মান))
কিথ থম্পসন

@ কিথ থম্পসন: আপনি বিষয়টিটি মিস করেছেন। কোনও শব্দার্থবিজ্ঞান বা বাক্য গঠন প্রশ্ন, কোনও সি স্ট্যান্ডার্ড প্রশ্ন নয়। স্ট্যান্ডার্ডটি সঠিক, তবে, আমার উত্তরটি একটি ধারণাকে ব্যাখ্যা করার জন্য পরিচালিত হয়েছিল, আক্ষরিকভাবে, কোনও মানদণ্ড অনুসরণ করে নয়। এটি একটি "ক্যাপ্টেন কার্ক" বনাম "ডাঃ স্পোক" প্রশ্নের মতো। চিয়ার্স ;-)
umlcat

আমি একমত না দুটি -ওপ্রেটারের মধ্যে পার্থক্যটি সিনট্যাকটিক, কেবল শব্দার্থক নয় (যদিও তাদের বিভিন্ন শব্দার্থবিজ্ঞানও রয়েছে)। সিনট্যাক্স ভাষা ব্যাকরণ দ্বারা সংজ্ঞায়িত করা হয়, এবং দুটি অপারেটর ব্যাকরণের বিভিন্ন বিভাগে নির্দিষ্ট করা হয়। এন 1570 খসড়াটি , অ্যানারি অপারেটরগুলির জন্য 6.5.3 এবং অ্যাডিটিভ অপারেটরগুলির জন্য 6.5.3 বিভাগটি দেখুন । (বিটিডাব্লু, আপনি যদি সি উদাহরণ ব্যবহার করতে চান তবে এটি সম্ভবত সঠিক void main()হওয়া উচিত ; হওয়া উচিত int main(void), এবং আপনি অনুপস্থিত #include <stdio.h>এবং যা কিছু শিরোলেখ ঘোষণা করেgetch
কিথ থমসন

বিষয়টি পরিষ্কার করার জন্য, বাক্য গঠনটি কেবল টোকেনের ক্রম সম্পর্কে নয়, those টোকেনগুলি কীভাবে আরও বড় কনস্ট্রাক্ট তৈরি করে তা সম্পর্কে। একটি সংকলক সাধারণত একটি লেজিকাল বিশ্লেষক (টোকেনাইজার) এবং স্বতন্ত্র উপাদান হিসাবে একটি পার্সার থাকে; উভয়ই সিনট্যাক্স নিয়ে কাজ করে।
কিথ থম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.