XML এবং JSON কোন আনুষ্ঠানিক ভাষার ক্লাসটি অনন্য কী সহ?


12

আমি এই প্রশ্নটি স্ট্যাকওভারফ্লো থেকে সরিয়েছি যেখানে আইডির কোনও উত্তর নেই। আমাদের অনুরূপ প্রশ্ন ছিল জেএসএন নিয়মিত :

জেএসএন এবং এক্সএমএল উভয়ই প্রায়শই প্রসঙ্গ-মুক্ত ভাষা হিসাবে ডাকা হয় - এগুলি উভয়ই প্রধানত EBNF- এ একটি আনুষ্ঠানিক ব্যাকরণ দ্বারা নির্দিষ্ট করা হয়। তবে এটি কেবল জেএসএনের ক্ষেত্রেই ঠিক ঠিক যেমন আরএফসি 4329, বিভাগ ২.২ এ সংজ্ঞায়িত হয়েছে যার জন্য অবজেক্ট কীগুলির স্বতন্ত্রতার প্রয়োজন নেই (অনেকেই জানেন না but "ক": 1, "এ": 2} বৈধ জেএসওএন!)। তবে আপনার যদি জেএসএনে অনন্য কী বা এক্সএমএলে স্বতন্ত্র বৈশিষ্ট্যের নাম প্রয়োজন তবে এটি প্রসঙ্গমুক্ত ব্যাকরণ দ্বারা প্রকাশ করা যায় না। তবে অনন্য কীগুলির সাথে এবং সুগঠিত এক্সএমএল (যা অনন্য বৈশিষ্ট্যের নাম বোঝায়?) এর জন্য জেএসএনের ভাষা শ্রেণিটি কোনটি?

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

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

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

x := a+ x := a | x a ) । এখন আমি কম্পিউটেশানাল শক্তির কি লাভ করবেন যদি আমি একটি "অনন্য দৃষ্টান্ত সঙ্গে পুনরাবৃত্তি" অপারেটর পরিচয় করিয়ে ^, তাই a^একটি ক্রম aটার্মিনাল একটি ভিন্ন ক্রমানুসারে যেখানে প্রতিটি উপাদান ফলাফল?


পুনরাবৃত্তিযোগ্য অবজেক্ট কীগুলির সাথে জেএসএন প্রসঙ্গমুক্ত (জেএসএন ব্যাকরণ দেখুন) তবে আপনি কীভাবে একটি সাধারণ ব্যাকরণ বা অটোমেটনে অনন্য কী বাধা প্রকাশ করবেন? বা: কোন জটিলতা শ্রেণিটি কোনও এক্সএমএল পার্সারের অন্তর্ভুক্ত, যদি এটি সমস্ত সুগঠিত এক্সএমএল নথিগুলির সেট সনাক্ত করতে পারে (সুগঠিত উপাদানটিতে প্রতি উপাদান অনন্য বৈশিষ্ট্যর নাম বোঝায়)।
জাকব

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

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

@ জাকব, আমি এই আলোচনাকে (সংক্ষেপে) প্রশ্নে ভাঁজ করলাম যাতে আপনি ঠিক কী জিজ্ঞাসা করছেন তা পরিষ্কার
সুরেশ ভেঙ্কট

একটি এলবিএ যথেষ্ট হওয়া উচিত যেহেতু আপনার পাঠ্যে অক্ষর রয়েছে তার চেয়ে বেশি আপনাকে সনাক্তকারী কখনই সঞ্চয় করতে হবে না। আমি সিএফএল এবং সিএসএল এর মধ্যে ক্লাস সম্পর্কে সাহায্য করতে পারে তা সম্পর্কে যথেষ্ট জানি না।
রাফেল

উত্তর:


6

আপনার অনন্য-পুনরাবৃত্তি অপারেটর সঙ্গে বিএনএফ ব্যবহার করে, x := S^বলছেন যে একটি xএকটি দৃষ্টান্ত হল aপ্রতীকের S, ঐচ্ছিকরূপে একটি দৃষ্টান্ত অনুসরণ bসেটের S - a, নিজেই ঐচ্ছিকভাবে একটি দৃষ্টান্ত অনুসরণ cসেটের S - a - bতাই ঘোষণা, এবং। যদি |S|সম্ভব সংখ্যাটি হয় Sএবং সীমাবদ্ধ 2 ^ |S|! - 1হয় তবে সম্ভাব্য সংখ্যাটি S^

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

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

এই নির্দিষ্ট এক্সটেনশনের সর্বাধিক দরকারী অ্যাপ্লিকেশনটি সম্ভবত অনন্য-কী সীমাবদ্ধতাগুলি উপস্থাপনের দক্ষতা, তবে এটি আপনাকে এমন আকর্ষণীয় সেটগুলি বর্ণনা করতে দেয় x := [0-7]^যা কোনও 8 বা তারও কম সংখ্যক অ-পুনরাবৃত্ত অঙ্কগুলির সাথে মেলে। এর জটিলতা হিসাবে, সেটটির কোনও উপাদান দেখা গেছে কিনা তা নির্ধারণ করা লগারিদমিকের চেয়ে খারাপ নয়, এবং পরীক্ষার ফ্রিকোয়েন্সি ^ম্যাচের উপাদানগুলির সংখ্যার ক্ষেত্রে লিনিয়ার , সুতরাং অপারেটরটি সত্যই সবচেয়ে খারাপ ক্ষেত্রে লিনিয়ারীথমিক সময়ে নির্ধারিত হয়।


উত্তরের জন্য এবং একটি সাবসেটের ক্রমবিন্যাসে চিন্তা করার ইঙ্গিতটির জন্য ধন্যবাদ। যদিও অনন্য-পুনরাবৃত্তি অপারেটর অনন্য কীগুলির সাথে কী-মানযুক্ত জোড়গুলি ধরে না তবে জটিলতার ক্ষেত্রে এই ক্ষেত্রে একই হওয়া উচিত। তবে, আমি যদি স্বেচ্ছাচারী কাঠামোগুলিতে অপারেটরটি প্রয়োগ করতে শুরু করি তবে ক্লাস S^যেখানে Sকিছু সিএফএল রয়েছে তা অনুপস্থিত-মুক্ত হতে পারে কারণ সিএফএলগুলি পার্থক্যের অধীনে বন্ধ হয়নি closed এটি যদি Sনিয়মিত ভাষা হয় তবে তা করা উচিত , তবে দুর্ভাগ্যক্রমে আপনি প্রদত্ত সিএফএল নিয়মিত কিনা তা সিদ্ধান্ত নিতে পারবেন না। এটি আমি আর একটি প্রশ্ন উত্থাপন করব কারণ এটি JSON এবং XML এর সীমাবদ্ধতার বাইরে।
Jakob
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.