কোনও এসএমআইই ডকুমেন্টেশন আছে যা পরিষ্কার?


18

আমি এখন অনেকগুলি, অনেক ঘন্টা ব্যয় করেছি যে কোনও ধরণের এসএমআইই ইনডেন্টেশন রুল / ব্যাকরণ / জিনিস কাজ করার জন্য।

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

সুনির্দিষ্ট প্রশ্ন: স্মি-কনফিগারেশন-প্রদর্শন-ইনডেন্ট ব্যবহার করার সময় 90% সময় আমি সাড়া পেয়েছি ': তালিকা-পরিচয় "" -> শূন্য'। কোন অভিব্যক্তির সংজ্ঞা বা অভিব্যক্তির তালিকাকে ভিত্তি করে তালিকাভুক্তি কী? কেন এটি নিল এবং এখনও নীচের লাইনগুলি ইনডেন্ট করে? আমি কীভাবে এটি পরিবর্তন করব?

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

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

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

আমি আমার যা আছে তার কোনও উদাহরণ পোস্ট করছি না কারণ হাইলাইট করা বাদ দিয়ে আমার কাছে এমন কিছুও অস্পষ্টভাবে কাজ করে না (ফন্ট-লক-ডিফল্ট ব্যবহার করে, তাই এটি আমার অনুমান এমনকি সত্যই SMIE নয়)। আমার কিছু বাস্তব শিশুর পদক্ষেপ দরকার steps


1
এসএমআইই লেখককে ডকুমেন্টেশনের জন্য জিজ্ঞাসা করার চেষ্টা করবেন?
ড্রু

4
@ ড্র্রু তিনি প্রকাশ্যে বলে দিয়েছেন যে তিনি একজন ভাল ডকুমেন্টার্টার নন (এবং তাঁর ডকুমেন্টেশন পড়ে আমি তর্ক করতে পারি না), সুতরাং এটি অর্থহীন বলে মনে হয়।
নাগোরা

1
হ্যা আমি জানি. তিনি এমনকি বলেছেন যে কোডটি ডক হিসাবে যথেষ্ট as ওহ, আমি কি আমার পরামর্শের পরে " ;-) " রাখতে ভুলে গেছি ? ;-)
ড্রু

1
আমি কিছুক্ষণ আগে এই দিকে একবার নজর রেখেছি এবং লক্ষ্য করেছি যে এটি আরও ব্যাপকভাবে lisp/progmodes/sh-script.elব্যবহৃত হচ্ছে smie.el। তারা এটিকে তাদের ব্যবহারের নথিভুক্ত বলে মনে হয় তাই সম্ভবত এটি আরও ভাল উদাহরণ হতে পারে?
Xaldew

2
এসএমএল মোড এবং Modula2 মোড উভয়ই SMIE ব্যবহার করে। আইআইআরসি এসএমআইই মূলত এসএমএল মোড থেকে নেওয়া হয়েছিল। আমাকে অবশ্যই স্বীকার করতে হবে, আমি এটিকে বিশেষ করে কঠিনও পেয়েছি।
ocodo

উত্তর:



1

আপনি যেমন কিছু দিয়ে শুরু করতে পারেন

(defconst foo-smie-grammar
    (smie-prec2->grammar
     (smie-bnf->prec2
      '((exp ("begin" insts "end"))
        (insts (exp) (insts ";" insts))))))

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