Payamvdn/NorthPersian_fa_wiki huggingface dataset:
یونس یک خواننده و آوازخوان معروف اهل افغانستان بود. وی یکی از نخستین آوازخوانان موسیقی آماتور در افغانستان محسوب می شود. زندگی نامه. یونس دوران ابتدایی تحصیل خود را در مکتب/مدرسه امانی در کابل گذراند و سپس برای تحصیل در رشتهٔ زمین شناسی راهی مسکو شد. یونس مدتی در کشور پاکستان زندگی می کرد و سپس به همراه خانواده به استرالیا مهاجرت نمود و ۱۷ سال پایانی زندگی اش را در شهر ملبورن گذراند. وی آوازخوانی را از ۸ سالگی آغاز نمود و موسیقی را نزد استادانی نظیر «محمدحسین سرآهنگ»، «دیش پندی» و «پروفسور چترجی» فرا گرفت. سپس در دههٔ ۵۰ خورشیدی به طور حرفه ای در رادیو افغانستان به اجرا پرداخت. آثار. یونس در حدود ۲۰۰ ترانه در رادیو و ۳۰ ترانه در تلویریون افغانستان اجرا و ضبط کرد. او چهار آلبوم از ترانه های خود را نیز به بازار موسیقی عرضه کرد. آخرین آلبوم وی، "یادگار"نام دارد که در استرالیا منتشر شد و آهنگ سازی آنرا خلیل گداز برعهده داشت. از ترانه های مشهور او می توان به "من امسال بی او بهاری ندارم" اشاره کرد.
حاج محمد دهدشتی شاهرخ ملقب به محمد علی آقا معین التجار بوشهری (زاده ۱۲۳۸ خورشیدی در بوشهر، وفات ۱۳۱۲ در تهران)، از سیاستمداران و ملاکان بزرگ ایرانی و عضو اتاق تجارت تهران بود، که در دوره نخست بعنوان نماینده تهران و دوره سوم بعنوان نماینده بوشهر در مجلس شورای ملی حضور داشت. زندگی نامه. محمد علی آقا معین التجار بوشهری (زاده ۱۲۳۸ خورشیدی در بندر بوشهر بود. خاندان معین ­التجار از خاندان های مشهور و سرشناس بندر بوشهر بودند و اصالتی دهدشتی داشتند که به لحاظ حضور در عرصه های سیاسی و اجتماعی و همچنین اقتصادی، نقشی پررنگ در ایران دوره قاجاریه و حتی بعدها در دوران پهلوی داشته اند.پدرش محمدرحیم دهدشتی شاهرخ ملقب به ملک التجار از تجار و اعیان بوشهر بود. معین التجار بوشهری پنج داماد داشت که همگی از خاندان های متنفذ و متمول زمان خود بودند. ۱- علی اکبر ناظم ­التجار ۲- میرزا محمدعلی خان ملک التجار ۳- سید حسین ­خان آصف ­الملک ۴- محمد آقا جواهری ۵-حسن امین‎ الضرب، پسرحاج حسین آقا امین­ الضرب . امتیاز کشتیرانی در کارون. معین التجار با ثروت و نفوذی که داشت توانست امتیاز کشتیرانی در کارون را از ناصرالدین شاه بگیرد. طبق این امتیاز
نامه: ـ برای این که کشتی ها در این «بندر مبارکه ناصری» لنگر اندازند و کارکنان کشتی ها «به راحت و سهولت به خشکی پیاده شوند»، معین التجار باید یک اسکله، یک کاروانسرا و «دکاکین به قدر ضرورت» بسازد. ـ کمپانی ناصری «مستلزم» بود یک «خط آهن به همراه تراموای هم بکشد»، تا کالاهای داخله و خارجه زودتر به مقصد برسد. بنابراین کمپانی ناصری در ساحل چپ کارون در نزدیکی اهواز، خط آهنی به طول سه کیلومتر کشید که کالاها را به وسیله تراموای اسبی به شوشتر حمل می کرد. ـ از «بندر ناصری تا بندر شوشتر»، امتیاز آمد و شد کشتی ها در جهت «حمل و نقل مال التجاره داخله و خارجه» به حاجی واگذار شد. اگر کشتی کم می آمد، کمپانی برعهده می گرفت که «بر عدد جهازات خود بیفزاید». یکی از کشتی‏های کمپانی به نام ناصری در قسمت جنوبی کارون و کشتی سوزا هم در قسمت شمالی کارون در رفت و آمد بودند. رشد و گسترش بازرگانی در بندر ناصری سبب شد تا در۱۳۱۰ ه ـ ق/ ۱۸۹۲ م. و حتی پیش از کشیدن جاده لینچ (شوشتر ـ اصفهان) معین التجار طبق امتیازنامه، کاروانسرایی با ۲۴ دهنه مغازه در اهواز بسازد و حتی در پی آن باشد تا بر شمار آنها بیفزاید. حسنقلی خان نظام السلطنه نیز در محلی پای
ین تر از صخره ها، که محل تخلیه بار های کشتی بود، ساختمان هایی بنا نهاد. به این ترتیب رونق بازرگانی در اهواز و نیز مشکل وجود صخره ها که کارون را به دو بخش شمالی و جنوبی تقسیم می کرد باعث شد که برای گذر از محل این صخره ها و انتقال کالاها از راه زمینی استفاده شود. استفاده از راه زمینی و جابه جایی کالاها زمینه پیدایش انبارها و کاروانسراهایی از جمله کاروانسرای معین التجار را در اهواز فراهم کرد. معین التجار با کشیدن خط آهن از کنار رودخانه تا محل مسجد سرسچه (مسجد آیت الله شفیعی کنونی) بارهایی را که از خرمشهر به وسیله کشتی به ناصری وارد می شد با واگن های اسب کش تا کاروانسرا منتقل می کرد و سپس به محل اهواز قدیم (محله عامری) حمل نموده و از آنجا پس از تخلیه به وسیله کشتی به شلیلی و مقابل درخزینه در سه فرسنگی شوشتر می رساند. اقدامات. معین التجار بوشهری به عنوان تاجری سرشناس و یکی از نمایندگان ترقی خواه مجلس در دوره قاجاریه محسوب می شد که نقش مهمی در تاسیس بانک ملی و شورای عالی تجارت و همچنین رونق مدرسه سعادت بوشهر داشت و در سرمایه گذاری برای ایجاد صنایع ملی پیشگام بود. در دوران خسارت ­بار جنگ جهانی اول که شرایط سختی بر م
ردم ایران حاکم بود، برخی سرمایه ­داران ایران درصدد برآمدند تا بخشی از سرمایه خود را در راه ایجاد صنایع ملی، سرمایه­ گذاری کنند. از جمله این افراد، معین­ التجار بوشهری بود که همانند امین الضرب که از طبقه­ سرمایه­ دار نوظهور ایران بودند در صدد برآمد تا قسمتی از سرمایه خود را در صنایع ملی سرمایه گذاری کنند. یکی دیگر از اقدامات معین التجار در اواخر عهد قاجار که نشان دهنده جایگاه سیاسی و اقتصادی اوست، این بود که او ضامن برافراشته بودن پرچم ملی ایران در نقاط جنوبی محسوب می شد. او در املاک خود که تقریباً بیشتر قسمت های جنوبی ایران از خوزستان، بندرعباس، ممسنی و بوشهر را شامل می شد، بابت جلوگیری از جایگزینی پرچم بیگانگان به جای پرچم ملی ایران، سالیانه مبلغی حدود ۱۰۰ تومان اجاره دریافت می کرد. نخستین کتابی که در مورد خلیج ­فارس نوشته شده مربوط به معین ­التجار بوشهری در سال ۱۲۸۵ هجری خورشیدی است که در این کتاب مطالب خوبی را در مورد خلیج فارس و اسنادی در این زمینه آورده است.
رترو گیمینگ () که همچنین شناخته میشود به عنوان "کلاسیک گیمینگ" و "اولد اسکول گیمینگ" به معنی اجرا یا جمع آوری بازی های قدیمی کامپیوتر، کنسول یا آرکید در زمان معاصر است. معمولاً رترو گیمنگ حول محور سیستم های نرم افزاری و سخت افزاری که منسوخ یا توقف تولید شده اند میچرخد.
گول وِیگ در اساطیر اسکاندیناوی جادوگر و پیشگویی بود که هوس و علاقه شدیدی به طلا داشت. او مخلوق و شخصیتی مؤنث بود که به نام آن تنها در دو بند شعر "ولوسپا" (به معنی ترانهٔ ولوا)، یکی از شناخته شده ترین اشعار در مجموعه ادای شاعرانه اشاره شده است. این اشعار رویداد ناشی از جنگ آسیر و ونیر را توصیف می کند، نبردی که میان دو نژاد اصلی خدایان اساطیر اسکاندیناوی یعنی آسیر و ونیر در گرفت. "گول ویگ" کسی بود که توسط آسیر توسط نیزه هایی که در بدنش فرو بردند شکنجه شد، سپس سه مرتبه در آتش سوزانده، اما در عین حال هر سه بار از نو متولد شد. نام "گول ویگ" پس از سومین تجدید حیات به هید (به معنی روشنایی آسمان) تغییر یافت و به عنوان یک ولوا ماهر و وارد بکار در نظر گرفته شد. بر طبق نظریه های گوناگون محقق ها "گول ویگ/هید" شکلی دیگر از ایزدبانوی عشق فریا به شمار می رود، زیرا او نیز در افسانه های متعددی به طلا عشق می ورزید.
در برنامه نویسی کامپیوتر، کد غیرقابل دسترسی بخشی از کد منبع یک برنامه است که هرگز نمی تواند اجرا شود، زیرا مسیر جریان کنترل به کد از طریق بقیه برنامه وجود ندارد. کد غیرقابل دسترس گاهی اوقات کد مرده نیز نامیده می شود، اگرچه کد مرده نیز ممکن است به کدی که اجرا می شود مراجعه کند اما بر خروجی یک برنامه تأثیری ندارد. به طور کلی کد غیرقابل دسترسی به دلایل مختلف نامطلوب می باشد از جمله: با این حال، کد غیرقابل دسترس می تواند برخی از کاربردهای مشروع داشته باشد، مانند ارائه یک کتابخانه از توابع برای تماس یا پرش به صورت دستی از طریق اشکال یاب در حالی که برنامه پس از نقطه توقف متوقف می شود. این به ویژه برای بررسی و چاپ وضعیت داخلی کاربرد دارد. حتی ممکن است معقول باشد که چنین کدی در نسخه نهایی که به مشتریان ارسال می شود ضمیمه شود، و یک برنامه نویس بتواند یک نسخه اشکال زدایی را به نسخه فعلی مشتری اضافه کند، در مواقعی که یک اشکال در نمونه در حال اجرا باشد. این متفاوت از توابع اشکال زدایی است که تنها در طول توسعه استفاده می شوند و فراموش می شوند که در نسخه نهایی حذف شوند. علل. وجود کد غیرقابل دسترسی می تواند به علت عوامل مخت
لفی باشد. از جمله: در پنج مورد اخیر، کد غیرقابل دسترسی به عنوان بخشی از یک میراث در برنامه باقی مانده است، یعنی کدی است که زمانی مفید بوده اما دیگر مورد استفاده یا مورد نیاز نیست. با این حال، کد غیرقابل دسترس ممکن است بخشی از اجزای پیچیده (کتابخانه، ماژول یا روال) باشد، که در آن کد در ارتباط با داده های ورودی مختلف همچنان مفید است یا در شرایطی که در محیط زمان فعلی برآورده نشده است، بنابراین کد مربوطه را غیرقابل دسترسی می کند، اما می تواند در سایر محیط های زمان اجرا، که مؤلفه آن توسعه یافته است، رخ دهد. یک مثال از چنین کدهای غیرقابل دسترسی ممکن است اجرای یک تابع printf در یک کتابخانه زمان اجرا کامپایلر باشد، که شامل کد پیچیده برای پردازش تمام آرگومان های رشته ممکن است، که فقط یک زیر مجموعه کوچک از آن در واقع در برنامه استفاده می شود. بدون کامپایل مجدد کتابخانه زمان اجرا، کامپایلرها به طور معمول نمی توانند بخش کد استفاده نشده را در زمان کامپایل حذف کنند. مثال ها. قطعه کد زیر به زبان C را در نظر بگیرید: int foo (int X, int Y) return X + Y; int Z = X * Y; تعریف int Z = X * Y هرگز به عنوان نتیجه تابع برگردانده نمی
شود؛ بنابراین، تعریف Z را می توان از بین برد. اشکال goto fail. یک نمونه از کد غیرقابل دسترسی اشکال SSL/TLS اپل که به طور رسمی با عنوان CVE-2014-1266 شناخته شده است که به دلیل عدم دسترسی به کد، حاوی نقص امنیتی بزرگی شده بود، و به طور غیررسمی با نام "اشکال goto fail" شناخته شده است. بخش کد مربوطه را در زیر مشاهده می کنید: static OSStatus SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen) OSStatus err; if ((err = SSLHashSHA1.update(&amp;hashCtx, &amp;serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&amp;hashCtx, &amp;signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&amp;hashCtx, &amp;hashOut)) != 0) goto fail; fail: SSLFreeBuffer(&amp;signedHashes); SSLFreeBuffer(&amp;hashCtx); return err; در اینجا دو فراخوان موفق codice_1 وجود دارد. در ساختار نحو زبان C دومین فراخوان بدون شرط است و از این رو همیشه بررسی نهایی(codice_2 check) را از قلم می اندازد. در نتیجه بعد از عملیات موفقیت آمیز به روزرسانی SHA1، مق
دار خطا(codice_3) مقدار موفقیت آمیز بودن عملیات را بازمی گرداند و تأیید امضا هرگز شکست را اعلام نخواهد کرد چون بررسی نهایی حذف شده است. در نتیجه، کد غیرقابل دسترسی، فراخوانی به تابع نهایی است که باید قابل دسترسی می بود. چندین روش برنامه نویسی خوب وجود دارد که می تواند از رخ دادن این اشکال جلوگیری کند، نظیر بازبینی کد، استفاده مناسب از فاصله گذاری یا آکولاد گذاری و تجزیه و تحلیل همراه با آزمون کد. با استفاده از کامپایلر کلنگ و استفاده از قابلیت codice_4 که شامل تجزیه و تحلیل کد غیرقابل دسترسی است، می توانیم از این اشکال با خبر شویم. تجزیه وتحلیل. تشخیص کدهای غیرقابل دسترسی گونه ای ازتحلیل ایستا است و شامل انجام تجزیه و تحلیل جریان کنترل برای پیدا کردن کدی است که هرگز بدون در نظر گرفتن مقادیر متغیرها و سایر شرایط در زمان اجرا، اجرا خواهد شد. در برخی از زبان ها (مثلاً جاوا) برخی از کدهای غیرقابل دسترسی صریحاً مجاز نیستند. بهینه سازی که کد غیرقابل دسترس را حذف می کند به عنوان حذف کد مرده شناخته می شود. کد ممکن است در نتیجهٔ تحولات داخلی انجام شده توسط بهینه سازی کامپایلر غیرقابل دسترس شود (به عنوان مثال از بین بر
دن عبارات مشترک). در عمل پیچیدگی تجزیه و تحلیل انجام شده تأثیر قابل توجهی بر مقدار کدهای غیرقابل دسترسی که شناسایی شده است، دارد. به عنوان مثال یک تجزیه و تحلیل ساده کد زیر نشان می دهد که کد درون گزاره شرطی زیر غیرقابل دسترسی است. int N = 2 + 1; if (N == 4) /* unreachable */ عدم دسترسی در مقابل پروفایلینگ. در بعضی موارد، رویکرد عملی ممکن است ترکیبی از معیارهای غیرقابل دستیابی ساده و استفاده از پروفایل برای رسیدگی به موارد پیچیده تر باشد. پروفایل به طور کلی نمی تواند چیزی دربارهٔ عدم دسترسی یک قطعه کد را اثبات کند، اما ممکن است یک اکتشافی خوب برای پیدا کردن کدهای غیرقابل دسترس باشد. هنگامی که قطعه کد مشکوک یافت می شود، روش های دیگری مانند ابزار قدرتمند تجزیه و تحلیل کد یا حتی تجزیه و تحلیل به صورت دستی می تواند مورد استفاده قرار گیرد تا تصمیم بگیرد کد واقعاً در دسترس نیست.
لیست های زیر رویدادهای اتفاق افتاده در طول سال ۱۹۹۰ در افغانستان است. مبارزه شدید در ابتدای سال بین نیروهای دولتی و مجاهدین بوقوع پیوست، اما در زمستان هیچ پیروزی نظامی برای هیچ کدام از طرفین جنگ کسب نشد. در مواجهه با بن بست گسترده برای پایان دادن به جنگ ۱۲ ساله، مسکو و واشینگتن توافق کردند که باید انتخاباتی برای تصمیم گیری در خصوص آینده سیاسی این کشور برگزار شود. هر دو ابرقدرت توانستند موافقت کنند که نجیب الله در دولت موقت چه نقشی می تواند داشته باشد. با این حال واشینگتن اصرار دارد که نجیب الله از کنترل ارتش و اطلاعات را رها کند، تقاضایی که نجیب الله و مسکو رد می کنند. با این وجود رئیس جمهور موافقت می کند در صورت برگزاری انتخابات جدید کنترل بر رسانه های دولتی و تعداد محدودی از نیروهای نظامی را به کمیسیون موقت واگذار کند. شوروی پس از خروج از افغانستان پس از ۹ سال، ماهیانه حدود ۵۰۰ میلیون دلار سلاح و تجهیزات به می فرستاد. ایالات متحده نیز نزدیک به ۳۰۰ میلیون دلار به مجاهدین افغانستانی در پاکستان کمک کرد. واشینگتن تلاش زیادی برای کاهش کمک به گلبدین حکمتیار که چهره بنیادگرا و ضد غربی از هفت رهبر مقاومت را داشت در
نظر گرفت. این لابی گری پس از آن صورت گرفت که گزارش ها متعددی از جنایات او که افراد غیرنظامی و مجاهدین دیگر را کشته بود صورت گرفت. نخست وزیر پاکستان، بی نظیر بوتو نیز به دنبال کاهش نقش رهبران جهادی هست اما ارتش پاکستان که طرفدار افزایش جنگ های داخلی در افغانستان مخالفت کرده و کمک ها به حکمتیار به طور چشمگیری افزایش می یابد. بی نظیر بوتو نیز در ۶ اوت با مخالفت جناح های راست اخراج شد. همزمان با تحویل تسلیحات، حملات موشکی در دو هفته اول ماه اوت در کابل صورت گرفت که منجر به کشته حدود ۶۰ تن و زخمی شدن عده دیگر شد. در اوایل ماه مارس ۱۹۹۰. وزیر دفاع ستوان ژنرال شهنواز تنی متهم به حمایت از نیروی هوایی و برخی از بخش های ارتش برای انجام کودتای ناموفق علیه دولت نجیب الله شد. ۸ ماه مه ۱۹۹۰. فضل حق خالقیار جایگزین کشتمند به عنوان نخست وزیر شد. ۲۰ ماه مارس ۱۹۹۰. وضعیت اضطراری برداشته شده. پایان ماه مه ۱۹۹۰. یک لویه جرگه در کابل برگزار شد که اصلاحاتی در قانون اساسی را پدیدآورد که تشکیل احزاب سیاسی مختلف را امکان پذیر و انحصار قدرت از حزب دموکراتیک خلق و جبهه ملی را پایان داد. ماه ژوئن ۱۹۹۰. نجیب الله حزب وطن یا حزب میهن را
به عنوان حمایت توده مردم ایجاد می کند. هرچند تلاش خوبی به نظر می رسید اما اکثر سمت های بالایی حزب در اختیار افراد سابق حزب دموکراتیک خلق بود. ماه ژوئیه ۱۹۹۰. عمده رهبران جهادی یک شورای فرماندهی را در پاکستان تشکیل می دهند. این اقدام به عنوان یک تلاش عمدی برای کنار گذاشتن دولت در تبعید که در ابتدا برای جایگزین شدن پس از دولت نجیب الله تشکیل شده بود و بنابر مسائل محرمانه منتفی شده بود به نظر می رسید. گزارش ها حاکی از آن هست که اختلافات قومی منجر به ناکامی مجاهدین تحت حمایت آمریکا برای کنار گذاشتن دولت کابل شده است. ماه اکتبر ۱۹۹۰. پس از مدتی آرامش، نیروهای مجاهدین مستقر در پاکستان حملات جدیدی را آغاز می کنند و ادعا می کنند چند پاسگاه استراتژیک در جنوب و مرکز ترین کوت و قلات در ولایات اروزگان و زابل را تصرف کرده اند. این نیروها همچنین در چهار ولایت دیگر و اطراف کابل در حال جنگیدن هستند. آخرین حمله ای که نیروهای به رهبری حکمتیار بر عهده دارد به عنوان مقدمه برای حمله به کابل قلمداد می شود اما دیگر رهبران میانه مجاهدین به علت کمبود نیرو و تجهیزات با حمله به کابل مخالفت کرده و ادعا می کنند توان غلبه بر نیرو هوایی دو
لت را ندارند. اوایل ماه اکتبر ۱۹۹۰. حدود ۴۰ تن از رهبران جهادی در شمال پاکستان ملاقات کرده و توافق می کنند که اختلافات قومی را کنار گذاشته و یک استراتژی هماهنگ برای مقابله با حکمتیار تعیین کنند. ماه نوامبر ۱۹۹۰. گزارش شده است که نیروهای مجاهدین ۲۰۰ تن از سربازان دولتی که تسلیم شده بودند را کشته اند. ورزشی. در ۲ دسامبر سال ۱۹۹۰ در مارتن بین المللی کالیفرنیا که در ساکرامنتو - کالیفرنیا برگزار شده بود، وحید کریم رکورد ملی را با ۲ ساعت و ۲۸ دقیقه و ۴۶ ثانیه در مسابقه مارتن ثبت کرد.
روشیانو (به ایتالیایی: Rosciano) یک کومونه در ایتالیا است که در استان پسکارا واقع شده است. روشیانو ۲۷ کیلومتر مربع مساحت و ۳٬۲۴۳ نفر جمعیت دارد و ۲۵۳ متر بالاتر از سطح دریا واقع شده است.
در علوم کامپیوتر، تجزیه به عملی گفته می شود که قواعد ساختاری یک متن را آشکار می کند. این گام مقدمه معنی کردن آن متن است. تجزیه پایین به بالا به یک نوع تجزیه کردن متن ورودی بر اساس ساختار گرامری از پیش تعیین شدهای گفته می شود که طی آن از پایین ترین بخش درخت تجزیه یعنی برگ های آن شروع می کنیم و با اعمال قواعد ساخت روی جمله آنقدر ادامه می دهیم تا به ریشه درخت برسیم. تجزیه پایین به بالا. درخت اشتقاق یک ابزار انتزاعی برای بیان ساختار یک گرامر مستقل از متن است. ریشه این درخت متغیر شروع گرامر و برگ های آن ثوابت این گرامر هستند. از کنار هم قرار دادن برگ های این درخت یک جمله که در زبان معادل آن گرامر وجود دارد بدست می آید. در تجزیه پایین به بالا برخلاف تجزیه بالا به پایین که در ابتدا بدون هیچ دانشی صرفاً با حدس زدن براساس اولین نشانه عمل تجزیه آغاز می شود، با نگاه کردن به برگ های درخت در واقع نسبت به اعمال اشتقاق می توان شهود گرفت. در واقع تجزیه پایین به بالا با خواندن از سمت چپ و آمدن به سمت راست معادل اشتقاق از راست ترین متغیر است که یکی از روش های اشتقاق در یک گرامر است. در تجزیه پایین به بالا با نگاه کردن به برگ ه
ای درخت اشتقاق و مقایسه کردن با قواعد ساخت درمی یابیم در هر مرحله طبق کدام قاعده بایستی عمل اشتقاق صورت می گرفته تا حاصل چنین برگی باشد. شیفت و کاهش دادن. تجزیه پایین به بالا از طریق شیفت و کاهش دادن صورت می گیرد. به این معنی که تمام ورودی ابتدا خارج از دسترس است سپس به تدریج با عمل شیفت یک نشانه در اختیار تجزیه کننده قرار می گیرد. تجزیه کننده تعیین می کند آیا قاعده اشتقاقی برای این نشانه وجود دارد یا نه. اگر قاعده ای وجود نداشت دوباره عمل شیفت دادن صورت می گیرد. انی عمل آنقدر تکرار می شود تا جمع نشانه های در دسترس از طریق قاعده ای در گرامر قابل ساخته شدن باشد. در آن صورت عمل کاهش دادن صورت می گیرد. به مجموعه نشانه هایی که باعث صورت گرفتن یک کاهش می شوند هندل(handle) گفته می شود. تجزیه LR. در این روش تجزیه برای تجزیه صحیح و استفاده نکردن از قواعد ساخت اشتباه در هر راس درخت از تجزیه LR استفاده می کنیم. تجزیه LR به این معنی است که از سمت چپ جمله ورودی شروع می کنیم و به سمت راست می رویم و پس از پیدا شدن هندل عمل کاهش را انجام می دهیم. نام LR هم واقف بر همین دو موضوع است (L برای Left to right و R برای Reduce). ای
ن روش ابتدایی با نام (LR(0 شناخته می شود که روش ناقصی است. سه نوع تجزیه گر صحیح تر که از این روش مشتق می شوند به ترتیب قدرتشان عبارتند از: (LR(1)، LALR(1 و (SLR(1. (LR(0. پیش تر اشاره شد که به تدریج نشانه ها در اختیار ما برای بررسی قرار می گیرند. برای نشان دادن این که تا کجا جلو رفته ایم در این روش از نقطه(codice_1) استفاده می شود. به این ترتیب حالات متفاوتی برای قرار داشتن نقطه وجود دارد. می توان با یک ماشین حالت متناهی حالات مختلف و نحوه رسیدن به هر حالت را مدل کرد. در تصویر متحرک روبرو نحوه ساخته شدن این ماشین حالت متناهی را برای گرامر داده شده مشاهده می کنید. پس از ساختن این ماشین حالت متناهی می توان یک رشته گرفت و با شروع از سمت چپ به تدریج هندل ها را به کمک ماشین ساخته شده پیدا کرد و عمل کاهش را انجام داد. نکته حائز اهمیت در این مرحله ساختن یک جدول است. این جدول به تعداد استیت های ماشین حالت متناهی ردیف و به تعداد نشانه ها ستون دارد. هر استیت ماشین باید بیانگر یک حرکت باشد: استیت های شیفت استیت هایی هستند که نقطه به پایان عبارت نرسیده باشد و استیت های کاهش استیت هایی هستند که نقطه به پایان عبارت تک تک ع
بارات داخل آن استیت رسیده باشد. اینجاست که ضعف (LR(0 مشخص می شود. همانگونه که در شکل روبرو دیده می شود به طور مثال وضعیت استیت های ۰، ۲ و ۴ متناقض است. در این استیت ها هم عباراتی وجود دارند که آماده کاهش هستند و هم عباراتی هستند که باید برای رسیدن به هندل مناسب برای آن ها عمل شیفت را انجام داد. به این تناقض، تناقض شیفت-کاهش می گوییم. نوع دیگری از تناقض وجود دارد که نام تناقض کاهش-کاهش است. به این ترتیب ۳ روش دیگر برای تجزیه معرفی شدند که براساس دیدن نشانه بعد از نقطه هستند: (LR(1. این روش دقیقا مشابه روش قبل است ولی در حین تجزیه علاوه بر نکاتی که تا الان به آن ها توجه می کردیم، نشانه بعد از نقطه را هم مدنظر قرار می دهیم و به این ترتیب از به وجود آمدن تناقض های گفته شده جلوگیری می کنیم. در این مرحله هم می توان ماشین حالت متناهی ساخت و مشابه قبل هر استیت شامل چند عبارت گرامری است که هر عبارت یک نشانه جلوی خود می بیند. به این نشانه اصطلاحا Lookahead Token گفته می شود و بیانگر این است که نشانه بعد از حرف غیرپایانه ای در جمله چه چیزی است. طبیعتا ساخت این ماشین حالت متناهی بخاطر در برگرفتن حالات بیشتر دشوارتر است.
در شکل روبرو یک نمونه از جدول اشتقاقی که طی این روش ساخته می شود را مشاهده می کنید. در خانه های این جدول مشخص شده با توجه به استیت ماشین حالت متناهی و نشانه پیش رو چه عملی انتخاب شود. عبارت codice_2 در یک خانه به معنی شیفت دادن و رفتن به استیت [عدد] است و codice_3 به معنی کاهش دادن طبق قاعده شماره [عدد] است. (SLR(1. این روش خود نمونه ای از روش قبلی است ولی برای جلوگیری از پیچیدگی ماشین حالت متناهی روش قبل و ساده سازی معرفی شده است. این روش با توجه به اینکه ساده شده روش (LR(1 است به قدرتمندی این روش نیست و ضعف هایی دارد. در این روش مجموعه ای از نشانه ها که طبق قواعد گرامر می توانند پس از هر حرف غیرپایانه ای بیایند برای هرکدام از این حرف ها در نظر گرفته می شود. حال به جای در نظر گرفتن تمام حالات نشانه پیش رو، تنها بررسی می کنیم نشانه پیش رو حرف غیرپایانه ای یک قاعده در مجموعه گفته شده حضور دارد یا خیر. به مجموعه گفته شده مجموعه دنبال کننده ها یا Follow set گفته می شود. همانطور که گفته شد در این روش به دلیل اعمال محدودیت برای جلوگیری از گستردگی ماشین حالت متناهی ضعف هایی وجود دارد. به طور مثال در این روش ممکن اس
ت با تناقض شیفت-کاهش روبرو شویم. (LALR(1. این روش هم برگرفته از روش (LR(1 است ولی برای جلوگیری از گسترده شدن ماشین حالت متناهی در حین ساختن استیت ها بررسی صورت می گیرد که حتی الامکان استیت جدید اضافه نشود. این به دو صورت ظاهر می شود:
آلبرت هندرسون (زاده -درگذشته ) بازیگر آمریکایی بود. از فیلم های معروف او می توان به بازی در فیلم آقای جونز و ترنسرها ۲ اشاره کرد.
راجر یوآن (زاده ) رزمی کار، بدل کار و بازیگر اهل آمریکایی است. از فیلم های معروف او می توان به بازی در فیلم گوشه قرمز، از چاندی چوک به چین اشاره کرد.
گونه سامان (سامانهٔ گونه دِهی یا سامانهٔ گونه بندی)، یا سیستمِ نوع یا تایپ سیستم (انگلیسی: Type system) مجموعه ای از قوانین است که ویژگی «گونه( ها)» را به مفاهیم مختلف یک زبان برنامه نویسی، مانند متغیرها، رویه ها و عبارات، نسبت می دهد. هر زبان برنامه نویسی دارای تعدادی «گونه» است که داده ساختارهای مختلف مورد استفاده در برنامه ها را دسته بندی می کنند. در علوم رایانه یک گونه سامان نحوهٔ ارتباط زبان برنامه نویسی را با مقادیر و عبارات تعیین می کند و تحت این روابط آن ها را دسته بندی کرده و رفتار مناسب آن ها را با یکدیگر تعیین می کند. یک نوع در داده ها به معنای یک دسته از مقادیر با ویژگی های عمومی یکسان است. البته باید در نظر داشت که ممکن است این ویژگی ها به طور واقعی در یک برنامه در حال اجرا، وجود نداشته باشد. سیستم نوع در بین زبان های برنامه نویسی مختلف به طور کلی متفاوت است. اصلی ترین تفاوت در مورد ایستا بودن یا ایجاد در زمان اجرا انواع داده در زبان های مختلف می باشد. کامپایلرها با استفاده از این گونه سامان در صدد بهینه سازی رفتار خود در زمینهٔ ذخیره سازی فضا برمی آید. عضوهای داده ای استاتیک یک کلاس، به عنوان «م
تغیرهای کلاس» شناخته می شوند، زیرا فقط یک مقدار منحصر به فرد برای همه ی اشیای آن کلاس وجود دارد. محتوای آن ها در یک شیء از آن کلاس با دیگری، متفاوت نیست . هدف سامانهٔ گونه ها. هدف اصلی «سامانهٔ گونه ها» جلوگیری از وقوع خطاهای اجرایی است. خطاهای اجرایی عموماً به صورت اشکال در روند اجرایی برنامه بروز پیدا می کنند. البته ممکن است برخی خطاهای اجرایی بدون داشتن اثر قابل مشاهده ای باعث تخریب داده شوند. زبان های برنامه نویسیِ با «گونهٔ داده» و بدون «گونهٔ داده». متغیرهای یک زبان می توانند مقدارهای مختلفی بگیرند. حد بالای این مقادیر گونه (یا نوع) نامیده می شود. برای مثال، در زبان برنامه نویسی جاوا که دارای گونهٔ دادهٔ بولی (boolean) است؛ که دو مقدار درست (True) و نادرست (False) به خود می گیرد. به زبان هایی که مقادیر یک متغیر را از طریق نسبت دادن نوع به آن محدود می کنند، زبان های «دارای گونهٔ داده» یا «گونداده دار» گفته می شود. متغیرهای زبان های «فاقد گونهٔ داده»، مفهوم «گونه» را در خود ندارند. زبان های فاقد گونداده ممکن است یک داشته باشند که همهٔ مقادیر را بپذیرد. عملیات در زبان های فاقد گونداده می توانند روی متغیرها
ی با نوع نادرست اعمال شوند. خطاهای اجرایی و ایمنی. خطاهای اجرایی به طور کلی به دو دسته تقسیم می شوند. قسمتی از برنامه که منجر به وقوع خطای غیرتوقفی نشود را امن می نامند. اگر همهٔ قسمت های برنامه های نوشته شده به یک زبان برنامه نویسی امن باشند، آن زبان را یک «زبان برنامه نویسی امن» می نامند. زبان های برنامه نویسی فاقد نوع داده از طریق بررسی برنامه در زمان اجرا از ایمنی آن اطمینان حاصل می کنند. این در حالی است که زبان های برنامه نویسی دارای نوع داده برنامه را در زمان کامپایل بررسی می کنند و در صورت ایمن نبودن برنامه، آن را اجرا نمی کنند. البته ممکن است این زبان ها در زمان اجرا نیز برنامه را بررسی کنند. ویژگی های یک سامانهٔ گونه ها. گونداده های یک زبان برنامه نویسی از لحاظ صوری بودن تعریف شان با دیگر اجزای زبان تفاوت هایی دارند. تعریف انواع داده از این دید در میان یادداشت های غیر صوری یک زبان و تعریف مشخصات جزئی تر است؛ از یادداشت های زبان صوری تر است و از مشخصات جزئی راحت تر قابل پردازش است. ویژگی های پایه ای یک سیستم انواع عبارت اند از: بررسی گونه. بررسی گونه (Type-checking) فرایندی است برای اثبات اینکه هر عمل
یاتی که در برنامه اجرا می شود قواعد گونه ای زبان را رعایت می کند. به طور کلی به این معناست که تمامی عملوندها در تمامی گزاره ها دارای گونه مناسبی هستند. بررسی کردن معنایی بر دو قسم است: بررسی گونه ای ایستا. یک زبان ایستا گونه است اگر گونه متغیرها به جای زمان اجرا در زمان کامپایل مشخص شود. از مثال های معروف از زبان های ایستا-گونه می توان به زبان های Ada, C, C++, C#, JADE, Java, Fortran, Haskell, ML, Visual Basic, Pascal, and Scala اشاره کرد. مزیت بزرگ زبان هایی که از بررسیِ گونهٔ ایستا استفاده می کنند این است که می توانند بسیاری از خطاها و اشتباهات را به سرعت در مرحله توسعه شناسایی کنند. ایستا گونگی معمولاً کدهای کامپایل شده ای را نتیجه می دهند که سریع تر اجرا می شوند زیرا زمانی که کامپایلر می داند که دقیقاً از چه گونه اطلاعاتی استفاده می کند می تواند کدهای ماشین بهینه تری تولید کند. ( کدهایی که سریع ترند یا حافظه کمتری اشغال می کنند) استفاده کنندگان از بررسی گونه ایستا تنها از اطلاعاتی که در زمان کامپایل مشخص شده است استفاده می کنند اما می توانند مطمئن باشند که برای تمامی حالات اجرا، برنامه در حالت صحیح باقی م