Payamvdn/NorthPersian_fa_wiki huggingface dataset:
تاریخ نظامی عراق () به دوران پس از اشغال عراق توسط بریتانیا در ۱۹۱۴ و ورود آن ها به بغداد اشاره دارد. در این سال اشغال اشغالگران انگلیسی تحت فشار زیادی که از طرف مردم عراق وارد می شد وعده ایجاد یک دولت عراقی را به مردم عراق دادند. در سال ۱۹۲۰، دولت عراق تأسیس شد، که به نوبه خود به دنبال ایجاد یک ارتش ملی عراقی بود. این در سال ۱۹۲۱ در ۶ ژانویه تحت رهبری وزیر دفاع، جعفر العسکری در دوران نخست وزیری عبدالرحمان النقیب انجام شد. دانشکده نظامی. دانشکده نظامی تابع وزارت دفاع در سال ۱۹۲۴ تأسیس شد و هدف، آموزش دانش آموزان مناسب برای خدمت به عنوان افسران ارتشی که در کار و فرهنگ نظامی شایستگی دارند بود. مدت تحصیلات آن ها سه سال است و فارغ التحصیلان پس از اتمام دوره تحصیلی، درجه افسری را دریافت می کنند. ارتش عراق در دوران حکومت پادشاهی. پس از آنکه شاه فیصل پادشاه عراق شد، نخستین گردان عراقی، بنام گردان موسی الکاظم تأسیس شد. شمار زیادی از افسرانی که قبل از انقلاب بزرگ عرب وارد ارتش عثمانی شده بودند به آن پیوستند و سپس دو نیروی هوایی و دریایی تأسیس شدند که متشکل از چهار لشکر بود، لشکرهای اول و سوم در بغداد بودند در حالی که
لشکر دوم در کرکوک و چهارم نیز در یک قرارگاه در دیوانیه بود. جنگ ها. نیروهای جدید در جنگ علیه اشغالگری اسرائیل در سال ۱۹۴۸ در فلسطین وارد جنگ شدند. کودتاهای نظامی. در سال ۱۹۳۶ ارتش در اولین کودتای نظامی به رهبری سر لشکر بکر صدقی فرمانده لشکر دوم شرکت کرد و دولت جدیدی را به رهبری حکمت سلیمان تشکیل داد. ارتش و کودتای۱۹۵۸. ارتش عراق در روز چهاردهم ژوئیه سال ۱۹۵۸ تحت فرماندهی افسر عبدالکریم قاسم و افسر عبدالسلام عارف در کودتا برای بار دوم شرکت کرد. مقام سلطنت سرنگون شد و فیصل دوم و خانواده اش در کاخ الرحاب کشته شدند. ترور عبدالکریم قاسم. ارتش عراق در فوریه سال ۱۹۶۳ در کودتایی شرکت کرد که در آن عبدالکریم قاسم و تعدادی از افسران دیگر و نفر همراه وی در ساختمان رادیو ترور شدند. حزب بعث قدرت را بدست گرفت، اولین رئیس جمهور از حزب بعث حسن البکر و سپس صدام حسین بود. جنگ خلیج فارس. روابط بین عراق و ایران پس از انقلاب اسلامی ایران در سال ۱۹۷۹ به تخاصم کشید. حمله عراق به خاک ایران آغاز جنگی هشت ساله بود که طولانی ترین جنگ قرن بیستم محسوب می شود. جنگ کویت. پس از اختلافات صدام حسین با کشورهای خلیج فارس، صدام در پاسخ به عربستان
سعودی تصمیم به حمله به خلیج فارس گرفت. وی ادعا کرد که کویت بخشی از عراق است. اما شورای امنیت به درخواست کویت به نیروهای عراقی مهلت داد تا کویت را ترک کنند، اما صدام آن را نپذیرفت که منجر به شروع جنگ طوفان صحرا شد. تصمیم انحلال ارتش و بازسازی آن. پس از اشغال عراق توسط آمریکا، پل برنر، حاکم غیر نظامی ایالات متحده، تصمیم گرفت ارتش عراق را که از چهارصد هزار سرباز تشکیل شده بود منحل کند. سپس تصمیم گرفت ارتش را بازسازی کند. ارتش عراق بعد از اشغال. وضعیت ارتش عراق پس از اشغال ایالات متحده به شکل تثبیت شده ای درآمد، اما با برخی مشکلات مانند مبارزه با تروریسم مواجه شد. آنچه تا کنون جریان دارد این است که ارتش عراق از استان های عراق محافظت می کند و در شهرها مشغول به کار است؛ و فرماندهی نیروهای مسلح را نخست وزیر بر عهده دارد. فرماندهی کل نیروهای مسلح. قانون اساسی عراق به نخست وزیر لقب فرمانده کل نیروهای مسلح را داد که این لقب را نفرات زیر تا کنون داشته اند:
معادل های ماشین تورینگ (به انگلیسی ) می تواند توسط یک فرایند تک مرحله ای به ماشین تورینگ تبدیل شود. به صورت مخفف به آن معادل تورینگ نیز گفته می شود. یک زبان یا ابزار می تواند در تئوری یک زبان یا ابزار دیگر را شبیه سازی کند. توانایی معادل های تورینگ ماشین با خود ماشین تورینگ برابر است و بیشتر نیست اما می توانند در زمان و حافظهٔ کمتر یا بیشتری انجام شوند. از معروف ترین معادل های ماشین تورینگ می توان به ماشین تورینگ دارای چند نوار اشاره کرد. ماشین های تورینگ معادل انواع بسیار زیادی دارند که در ادامه به بررسی اجمالی آن ها می پردازیم. طیف وسیعی از آن ها را ماشین های تورینگ با حالت های مختلف برای نوار در بر می گیرند برای مثال می توان از ماشین وانگ نام برد. طیف دیگری از ماشین های تورینگ معادل ماشین های دارای رجیستر تشکیل می دهند که به جای نوار از رجیستر استفاده می کنند و انواع مختلفی دارند اولین آن ها ماشین شمارنده است. طیف دیگر آن ها نیز ماشین هایی با نوارهای ورودی و خروجی هستند. حتی ابزارها و الگوریتم هایی معادل ماشین تورینگ وجود دارد، برای مثال مدل محاسباتی جبر لاندا را می توان معادل یک تورینگ ماشین در نظر گرفت.
اثبات معادل بودن. ماشین تورینگ و معادل های آن توان محاسباتی یکسانی دارند یعنی زبان هایی که قابلیت شناسایی دارند برابر است و فقط ممکن است در زمان یا حافظهٔ کمتری محاسبات را انجام دهند و در نتیجه با آن ها می توان مسائل را راحت تر حل نمود. برای این که نشان دهیم ماشین تورینگ معادل است باید بتوانیم توسط ماشین تورینگ آن را شبیه سازی کنیم. برای مثال اگر بخواهیم ماشین تورینگی که تابع انتقالش به جز امکان چپ و راست رفتن دارای امکان ماندن در خانه را دارد را با ماشین تورینگ شبیه سازی می کنیم. هر گاه در این ماشین از این امکان استفاده شد در ماشین تورینگ یک بار به سمت چپ و سپس یک بار به سمت راست می رویم پس این ماشین در واقع معادل ماشین تورینگ است. (اثبات کامل نیست) و یا اگر بخواهیم نحوهٔ تبدیل ماشین چندنواره تورینگ را به ماشین تک نواره تورینگ نشان می دهیم. در این ماشین هر نوار دارای هِد جداگانه برای نوشتن و خواندن است و تابع انتقال قابلیت خواندن، نوشتن و حرکت دادن هد را بر روی تمامی نوارها به صورت همزمان می دهد. باید نشان دهیم که با ماشین تک نواره می توانیم ماشین چندنواره را شبیه سازی کنیم، برای این کار نشان می دهیم که ماشی
ن تک نواره می تواند تأثیر چندین نوار را بر روی یک نوار ذخیره سازی کند. برای ماشین تک نواره نماد # را تعریف می کنیم که به عنوان جداکنندهٔ محتوای نوارهاست. برای این که بدانیم محل هر هد در نوارها کجاست یک نقطه بر روی هر خانه که هد روی آن قرار دارد قرار می دهیم؛ و با استفاده از این نمادها اثبات را کامل می کنیم. طیف های ماشین های معادل تورینگ. ماشین های تورینگ دارای نوار. ماشین تورینگ غیرقطعی. از مهم ترین معادل های ماشین تورینگ ماشین تورینگ غیرقطعی است. در ماشین تورینگ قطعی، مجموعهٔ قوانین به ازای هر وضعیت داده شده، حداکثر یک حرکت را مجاز می کند. ماشین تورینگ غیرقطعی برخلاف ماشین تورینگ قطعی، دارای مجموعه قوانینی است که به ازای هر وضعیت، بیشتر از یک حرکت را مجاز می کند. برای مثال، ماشین تورینگ غیرقطعی ممکن است هر دو قوانین «اگر در وضعیت ۳ هستید و نماد ‘D’ دیدید، آن را به ‘B’ تغییر دهید و به چپ بروید.» و «اگر در وضعیت ۳ هستید و نماد ‘D’ دیدید، آن را به ‘C’ تغییر دهید و به راست بروید» را در مجموعه قوانینش داشته باشد. برای این که بدانیم این ماشین رشتهٔ ورودی را پذیرش می کند یا نه در هر مرحله که چند حرکت ممکن ماشین به
چند کپی از خودش تقسیم می شود و هرکدام یکی از حرکت های ممکن را دنبال می کند. اگر حداقل یکی از شاخه های درخت به وضعیت پذیرش برود، می گوییم ماشین تورینگ غیرقطعی ورودی را پذیرفته است. برای شبیه سازی این ماشین توسط ماشین تورینگ قطعی می توان هر حالت را معادل چند حالت ممکن در ماشین غیرقطعی در نظر گرفت. ماشین ونگ. در این ماشین فقط اعداد ۰ و ۱ روی نوار قابل نوشتن هستند و قوانین آن محدودند به １)نوشتن ۰ ２)نوشتن ۱ ３)رفتن به راست. ４)رفتن به چپ ５)با دیدن ۰ رفتن به قانون i ６)با دیدن ۱ رفتن به قانون j در این ماشین به جای نوار از یک طرف بینهایت از نوار بینهایت از دو طرف استفاده شده که قابل شبیه سازی با نوار یک طرفه است. ماشین های دارای رجیستر. در این ماشین ها به جای نوار از رجیسترها استفاده می شود؛ و در هر کدام تعداد معینی رجیستر و قواعد وجود دارد. به ماشین های دارای رجیستر ماشین های شمارنده یا ماشین های برنامه نیز گفته می شود. در ساده ترین این ماشین ها ماشین های شمارنده ای هستند که تعدادی قواعد محدودی دارند برای مثال دارای ۳ قاعدهٔ افزایش (عدد رجیستر را ۱ واحد افزایش می دهد) قاعدهٔ کاهش (عدد رجیستر را ۱ واحد کاهش می دهد) و
قاعدهٔ پرش صفر (اگر رجیستر ۰ بود به قاعدهٔ مشخص شده برو و اگر نبود به قاعدهٔ بعدی برو. از مدل های دیگر این ماشین ها ماشین های دارای پوینتر ماشین های دسترسی تصادفی و ماشین های دسترسی تصادفی با برنامهٔ ذخیره شده هستند. در ماشین های دسترسی تصادفی آدرس دهی غیرمستقیم به رجیسترها را داریم و در ماشین های دسترسی تصادفی با برنامهٔ ذخیره شده برنامه را در رجیسترها به صورت ذخیره شده داریم. ماشین های دارای نوار ورودی و خروجی. در این ماشین ها به جای نوارهایی که قابلیت نوشتن و خواندن دارند نوارهایی داریم که فقط می توانیم از آن ها بخوانیم و نوارهایی داریم که فقط می توانیم روی آن ها بنویسیم. می توان اثبات نمود که این ماشین ها نیز معادل تورینگند. ابزارهای معادل. جبر لاندا که توسط آلونزو چرچ مطرح شده است معادل با ماشین تورینگ است. الگوریتم مارکو که سیستمی برای جایگزینی نمادها با رشته هاست نمونه ای دیگر از ابزارهای معادل ماشین تورینگ است. ماشین تورینگ چند بعدی نیز از ابزارهای معادل است که برای هر خانهٔ یک ماشین nبعدی nعدد را در نظر می گیریم که خانه های مجاور فقط در یک عدد با هم تفاوت یک واحدی دارند.
کامپایل جلوتر از زمان (به انگلیسی ) مانند یک کامپایلر عادی کد بهینه شده برای ماشین را تولید می کند با این تفاوت که در کامپایل جلوتر از زمان بایت کد که مجموعه ای از دستورالعمل ها برای اجرای مفسر است از ماشین مجازی به کد ماشین تبدیل می شود که باعث می شود بخش قابل توجهی از محیط زمان اجرا کم شود. یک کامپایلر عادی متنی از زبان برنامه نویسی سطح بالا (زبان مبدأ) را به زبانی سطح پایین (زبان مقصد)، مثل اسمبلی یا زبان سطح ماشین یا بین دو زبان برنامه نویسی هم سطح تبدیل می کند. خروجی این برنامه ممکن است برای پردازش شدن توسط برنامه دیگری مثل پیونددهنده مناسب باشد یا فایل متنی باشد که انسان نیز بتواند آنرا بخواند. به این علت فرودبر نامگذاری شده است که کد با زبان سطح بالا را به کد زبان سطح پایین تبدیل می کند بدون این که در رفتار کد تغییری حاصل شود. در کامپایل جلوتر از زمان کامپایل زبان های برنامه نویسی سطح بالا یا داده ساختار یا کدی که کامپایلر برای نشان دادن سورس کد استفاده می کند را به کد ماشین تبدیل می شود تا فایل باینری بتواند در محل اجرا شود. در کامپایل جلوتر از زمان می توان بهینه سازی های پیچیده تری را اجرا کرد در حال
ی که در در بعضی بهینه سازی ها مانند کامپایل پویا نمی تواند به خوبی عمل کند. مقایسه با کامپایل پویا. کامپایل پویا یا کامپایل درجا روشی برای اجرای کد است که کامپایل را به جای قبل از اجرا در حین اجرای یک برنامه انجام می دهد. از برتری های این روش نسبت به کامپایل جلوتر از زمان می توان به برخی بهینه سازی ها در زمان اجرا اشاره کرد که نمی تواند زودتر از زمان اجرا انجام شود. پیاده سازی هایی از جاوا موجود است که کامپایل جلوتر از زمان و کامپایل پویا را ترکیب می کنند. پیاده سازی کامپایل پویا شامل کامپایل کد منبع یا کد بایت به کد ماشین و اجرای آن است که به صورت مستقیم در حافظه معمولاً انجام می شود - کامپایلر پویا به طور مستقیم کد را به حافظه منتقل می کند و بلافاصله آن را اجرا می کند، برخلاف کامپایل جلوتر از زمان که کد ماشین را به صورت خروجی به دیسک منتقل می کند و سپس به صورت برنامهٔ جداگانه آن را فراخوانی می کند. در یک برنامه ممکن است تمامی قسمت ها استفاده نشود کامپایلر پویا تنها قسمت هایی که کاربر لازم دارد را ترجمه می کند اما کامپایل جلوتر از زمان همهٔ قسمت ها را ترجمه می کند که باعث می شود در زمان شروع زمان و حافظهٔ بی
شتری مصرف شود. اما برخی بهینه سازی ها در کامپایل جلوتر از زمان وجود دارند که در کامپایل پویا بسیار هزینه بر هستند. در کامپایلرهای پویا برخی بهینه سازی ها را با تخمین زدن انجام می دهد که ممکن است بعداً با غلط بودن تخمین زده شده مجبور به برگرداندن تغییرات داده شده شود و باعث شود که زمان زیادی هزینه شود ولی در کامپایل جلوتر از زمان چنین تخمین هایی زده نمی شود پس امکان خطا در آن نیز وجود ندارد. کاهش هزینه زمان اجرا. در بیشتر مواقع با کامپایل جلوتر از زمان می توان قسمت بزرگی از محیط اجرا را کاهش داد و فضای دیسک، حافظه، باتری و زمان آغاز را کاهش داد و کامپایل کد میانی به کد ماشین برای اجرای محلی وقتی که کد میانی در حال انجام است را در کامپایل جلوتر از زمان نیز نداریم که باعث می شود سریعتر بشود. مثال از کامپایل جلوتر از زمان. در angular2 کامپایل جلوتر از زمان وجود دارد که نسبت به کامپایلر پویا که باید کامپایلر را منتقل کند و سپس کامپایل شروع می شود بسته های انتقالی کوچکتر می شوند و زمان بارگیری سریع تر می شود. با این کامپایلر مرورگر کد قابل اجرا را بلافاصله بارگذاری می کند بدون این که لازم باشد به کامپایل برنامه نیا
ز داشته باشد. درخواست های ناهم زمان را کمتر می کند و اگر برنامه از قبل کامپایل شده باشد نیازی به دانلود کامپایلر angular وجود ندارد. خطاهای الگو زودتر تشخیص و گزارش داده می شوند و امکان حمله به برنامه کمتر می شود.
کامپایلر تک گذره (one-pass compiler) کامپایلری است که بخش های کامپایل شونده را فقط یک بار می خواند که در این خوانش فورا هر بخش از کد را به زبان ماشین ترجمه می کند. این نوع کامپایلر در مقابل کامپایلر های چندگذره قرار می گیرد. کامپایر های چندگذره قبل از تبدیل نهایی کد به زبان ماشین ، آن را به چند نمایش میانی تبدیل میکنند و در هر کدام از این تبدیل ها از همه بخش های کامپایل شونده استفاده می کنند. توضیحاتی که درباره کامپایلر تک گذره داده شد به منطق عملکرد این نوع کامپایلر برمی گردد نه اینکه در عالم واقع فقط یک بار از سورس کد گذر کند. برای مثال ممکن است سورس کد یکبار از حافظه موقت خوانده شود ولی کپی بدست آمده بارها اسکن شود. به عنوان مثال، زبان پاسکال با کامپایلر تک گذره ترجمه می شود اما زبان های پیشرفته تر مانند جاوا، تنها با کامپایلر چندگذره قابل ترجمه هستند. به همین دلیل، به کامپایلرها تک گذره، کامپایلر محدود و به کامپایلرهای چندگذری، کامپایلر نامحدود می گویند. کامپایلرهای تک گذره، به دلیل سادگی، بسیار رایج تر هستند و طراحی آن ها برای برنامه نویسان راحت تر است. ویژگی ها. کامپایلر های تک گذره کوچکتر و سریعتر از ک
امپایلر های چندگذره هستند. کامپایلر تک گذره به دلیل حوزه محدود اطلاعاتی که در اختیار دارد توانایی تولید کردن برنامه های کارا به مانند کامپایلر چندگذره را ندارد. بسیاری از بهینه سازی های کامپایلر نیازمند عبور چندباره از روی بلوک پایه،حلقه(به ویژه حلقه های تودرتو)،زیرروال و کل ماژول هستند حتی بعضی از این بهینه سازی ها نیازمند گذر از کل برنامه هستند. بعضی از زبان های برنامه نویسی به دلیل طراحی خاصشان امکان کامپایل شدن در یک گذر را ندارند. برای مثال PL/I امکان تعریف داده را در هرجای کد به برنامه نویس می دهد. بطور مشخص تر،می توان قبل از تعریف یک داده چند ارجاع به نام آن داد و سپس خود داده را تعریف کرد که به این سبب هیچ کد ماشینی تا قبل از پایان کامل اسکن نمی تواند تولید شود. همچنین تعریف زبان دارای عبارات پیش پردازشی است که به سورس کد توان کامپایل شدن می دهند. کامپایلرهای چندگذره قطعی و مطمئن هستند ولی در مقابل زبان های برنامه نویسی زیادی به گونه ای طراحی شده اند که به وسیله کامپایلر های تک گذره کامپایل شوند و دارای ساختار های خاصی هستند تا اجازه کامپایل تک گذره را به آنها بدهند. مشکلات و سختی ها. مشکل پایه ای، ار
جاعات پسین هستند(در بخش ویژگی ها به یکی از این مشکلات در PL/I اشاره شد.). برداشت درست از یک نماد در هرجایی از سورس کد ممکن است وابسته به حضور یا غیاب سایر نماد ها در ادامه سورس کد باشد و تا زمان مواجه شدن با اینچنین اتفاقی امکان تولید کد زبان ماشین درست وجود ندارد. این یکی از مشکلات وابستگی به متن است. فاصله ای که در بالا بحث از آن شد ممکن است هرجایی از کد باشد حتی در بین دو نماد مجاور یا خطوط بسیار زیادی از متن اصلی برنامه. متن محلی. برای مثال، فرض کنید نماد &gt;بجای بزرگتر از نشان دهنده کوچکتر از باشد. به دلیل محدودیت در کد کردن کاراکتر ها، ممکن است نماد =&gt; در یک سیستم کدگذار استاندارد وجود نداشته باشد; به همین دلیل به صورت نمایش ترکیبی مجار است. درست است که این نمایش به وسیله نماد بعدی تعیین می شود منتها وقتی که ما به نماد &gt; برمی خوریم نمادهای بعدی ناشناخته هستند. بطور مشابه نماد = همیشه نشانگر برابری نیست مانند زمانی که در یک نماد پیچیده به کار برده می شوند. نماد های پیچیده دیگر ممکن است دربردارنده ی ".lt." باشند برای زمانی که نماد &gt; ناشناخته است. با این وجود احتمال دیگر برای زمانی که نماد ¬("نفی
") ناموجود باشد، استفاده از &lt;&gt; بجای ¬= ("نابرابری") است(در بعضی از سیستم ها از ! یا ~ بجای ¬ در نسخه های بعد استفاده شد.). یک روش ادامه دادن اسکن بعد از مشاهده &gt; و برخورد کردن با = است که نام این روش، روش پس گرد است. که این طبیعتا به این معناست که از آن قسمت از متن سورس کد دوبار رد خواهیم شد که کاری نهی شده است. متن داخل عبارت ها. زبانهایی که اصطلاحات حسابی را مجاز می دانند، معمولاً از نحو نماد گذاری پیوند با قوانین تقدم پیروی می کنند. این بدان معناست که تولید کد برای ارزیابی عبارت به راحتی انجام نمی شود زیرا نشانه های عبارت از متن منبع استخراج می شوند. برای مثال عبارت x+ y*(u - v) منجر به معادل " x را بار کن، y را اضافه کن" نمی شود، زیرا x به y اضافه نمی شود. اگر از طرح پشته ای برای حساب استفاده شده باشد، کد ممکن است با بار کردن x شروع شود اما کدی که با توکن + در ادامه مطابقت دارد، دنبال نمی شود. در عوض، کد (u - v) تولید می شود و به دنبال آن ضرب در y می شود و فقط x اضافه می شود. تجزیه کننده ی عبارات در طول تجزیه و تحلیل خود در طول منبع حرکت نمی کند. آن یک دسته محلی از عملیات به تعویق انداخته را که ت
وسط قوانین تقدم هدایت می شوند به کار می گیرد. با استفاده از عبارات حسابی که در نشانه گذاری لهستانی معکوس یا موارد مشابه ارائه شده، می توان از این رقص جلوگیری کرد. برای مثال فوق چیزی مانند + u v - y * x که کاملاً چپ به راست اسکن می شود. یک کامپایلر بهینه ساز ممکن است شکل یک عبارت محاسباتی را تجزیه و تحلیل کند ، تا تکرار را شناسایی و حذف کند یا سایر پیشرفت های بالقوه را انجام دهد. عبارت زیر را در نظر بگیرید&lt;syntaxhighlight&gt; a*sin(x) + b*sin(x)a*sin(x) &lt;/syntaxhighlight&gt;بعضی از زبانها، مانند Algol، واگذاری ها را در یک عبارت حسابی مجاز می دانند، بنابراین برنامه نویس می تواند چیزی مانند&lt;syntaxhighlight&gt; a*(t:=sin(x)) + b*t &lt;/syntaxhighlight&gt;نوشته باشد. اما جدای از تلاش لازم برای انجام این کار، فرم عبارت حاصل از آن نامرتب است و دیگر به راحتی با عبارت ریاضی کد شده قابل مقایسه نیست و به راحتی اشتباه پیش می آید. در عوض، کامپایلر می تواند شکل کل عبارت را نشان دهد (معمولاً با استفاده از یک ساختار درختی) ، آن ساختار را تجزیه و تحلیل و اصلاح کند و سپس کد مربوط به فرم بهبود یافته را منتشر می کند. یک
گسترش واضح برای عبارات انتساب متوالی وجود خواهد داشت. این شامل عبور دوم از متن منبع نیست. متن محدوده میانی. اگرچه تحلیل گر واژگان جریان ورودی را به جریانی از نشانه ها تقسیم کرده است (و هرگونه تفسیر را کنار گذاشته است) ، اما تفسیر این نشانه ها با توجه به نحو زبان هنوز ممکن است به زمینه بستگی داشته باشد. عبارات زیر را در شبه کد fortran در نظر بگیرید if (expression) = etc. if (expression) label1,label2,label3 if (expression) then اولین مورد اختصاص مقدار برخی از عبارات حسابی (و غیره) به عنصری از آرایه یک بعدی به نام "if" است. Fortran از آن جهت غیرمعمول است که کلمات اختصاصی ندارد، بنابراین نشانه "write" لزوماً به معنی اینکه نوشتن در دست انجام است، نیست. گزاره های دیگر در واقع عبارت های شرطی هستند - جمله دوم شرطی-محاسباتی است که علامت نتیجه عبارت را بررسی می کند و بر اساس منفی بودن ، صفر یا مثبت بودن آن به برچسب 1 ، 2 یا 3 می پرد. مورد سوم منطقی-شرطی است ، و مستلزم آن است که نتیجه بیان آن بولین باشد - بنابراین ، تفسیر صحیح نشانه "if" که از تحلیلگر لغوی ظاهر می شود ، نمی تواند تا پس از اسکن کردن عبارت و دنبال کردن
براکت بسته شود در اینجا یا یک علامت تساوی وجود دارد، یا یک رقم (متن label1 است: fortran فقط از اعداد صحیح به عنوان برچسب استفاده می کند، گرچه اگر حروف مجاز بودند ، اسکن باید به پیدا کردن ویرگول ها متکی باشد) یا چیزی که با یک حرف شروع می شود (که باید "then" باشد)، و به همین صورت، متن مقدار دلخواهی از متن منبع را شامل می شود زیرا این عبارت دلخواه است. با این حال ، در هر سه مورد ، کامپایلر می تواند کدی را برای ارزیابی عبارت با پیشرفت اسکن آن تولید کند. بنابراین، تحلیل لغوی به دلیل مبهم بودن نحو مجاز همیشه نمی تواند معنای نشانه هایی را که به تازگی مشخص کرده است، تعیین کند. و بنابراین در صورت جلوگیری از عقبگرد ، تجزیه و تحلیل نحو باید یک برتری از حالت های احتمالی را حفظ کند. با وجود تجزیه و تحلیل نحو در مه شرایطی که در بالا ذکر شد، در صورت بروز خطا (یعنی نشانه ای یافت شود که نتوان آن را در هر قالب نحوی معتبر جای داد) تولید پیام مفید می تواند دشوار باشد. به عنوان مثال، کامپایلر B6700 Algol به دلیل پیام های خطایی مانند "نقطه ویرگول مورد انتظار" همراه با لیست خط منبع به همراه یک نشانگر نشان دهنده محل مشکل، مشهور است
که اغلب یک نقطه ویرگول را علامت گذاری می کند. در صورت عدم وجود علامت ویرگول، اگر یکی در واقع همانطور که توضیح داده شد قرار داده می شد، در هنگام دوباره کامپایل می تواند پیامی با عنوان "نقطه ویرگول غیر منتظره" برای آن بوجود آورد. غالباً فقط اولین پیام خطا از طرف یک کامپایلر ارزش بازدید را دارد ، زیرا پیام های بعدی خراب بودند. لغو تفسیر فعلی و سپس از سرگیری اسکن در ابتدای عبارت بعدی در هنگام خطای فایل منبع دشوار است و بنابراین پیام های بعدی کمکی نمی کنند. البته تولید کد بیشتر کنار گذاشته می شود. منابع. [1]Hand-Written One-Pass Compilers, Jan Midtgaard, Michael I. Schwartzbach What-is-Single-Pass-Compiler-and-its-example [2]What is the difference between a single pass and multipass compiler?
لئونارد سارکیسف (؛ ؛ – ) یک بازیگر اهل ارمنستان بود. وی بین سال های ۱۹۷۴ تا ۱۹۹۸ میلادی فعالیت می کرد. گزیده فیلم شناسی. از فیلم ها یا برنامه های تلویزیونی که وی در آن نقش داشته است می توان به گیکور (فیلم ۱۹۸۲)، آخرین یکشنبه، حیاط ما، اشاره کرد.
تامار هراچیایی هوهانیسیان (؛ ; – ) یک بازیگر، کارگردان فیلم و فیلم نامه نویس اهل ارمنستان بود. زندگی نامه. هوهانیسیان در دپارتمان بازیگری انستیتو دولتی سینما و تئاتر ایروان تحصیل نموده است. وی بین سال های ۱۹۷۷ تا ۱۹۹۲ میلادی فعالیت می کرد. گزیده فیلمشناسی. از فیلم ها یا برنامه های تلویزیونی که وی در آن نقش داشته است می توان به "رفیق پانجونی" (۱۹۹۲) اشاره کرد.
نونا ایوانی پطروسیان (؛ – ) یک بازیگر اهل ارمنستان بود. زندگی نامه. وی در ۲۹ سپتامبر ۱۹۳۷ در باکو به دنیا آمد و از فرهنگستان دولتی تئاتر سوندوکیان فارغ التحصیل شد. وی همچنین برندهٔ جوایزی همچون هنرمند مردمی ارمنستان شوروی شده است. وی در ۳ دسامبر ۱۹۹۳ در سن ۵۶ سالگی در ایروان به علت بیماری سرطان پستان درگذشت. گزیده فیلمشناسی. از فیلم ها یا برنامه های تلویزیونی که وی در آن نقش داشته است می توان به آثار زیر اشاره کرد.
رازمیک آرویان (؛ ؛ – ) یک بازیگر اهل ارمنستان بود. وی بین سال های ۱۹۷۷ تا ۱۹۹۵ میلادی فعالیت می کرد. زندگی نامه. وی در ۱۵ اکتبر ۱۹۴۷ در تهران به دنیا آمد وی در فرهنگستان دولتی تئاتر سوندوکیان فعالیت می کرد. وی در ۸ سپتامبر ۲۰۱۰ در سن ۶۲ سالگی در ایروان درگذشت. گزیده فیلمشناسی. از فیلم ها یا برنامه های تلویزیونی که وی در آن نقش داشته است می توان به "دزوری میرو"، "وروگایت" اشاره کرد.
مندی سلارس (؛ زادهٔ ) زنی است که از یک نوع جهش ژنی نادر رنج می برد که سبب شده تا او دچارِ رشد غیرطبیعی و شدید پاهایش گردد. در سال ۲۰۰۶ میلادی پزشکان دریافتند که او مبتلا به سندرم پروتئوس است، نوعی اختلال ژنتیکی بسیار نادر که فقط ۱۲۰ نفر در سرتاسر دنیا به آن مبتلا هستند. اما پژوهش های اخیر، علتِ بیماری وی را جهش در ژن PIK3CA می دانند. با آنکه برخی پژوهش ها همچنان حاکی از آن هستند که او مبتلا به نوعی نادر از سندرم پروتئوس است، اما وی خودش این تشخیص را زیر سؤال برده است. مشکل او تا کنون در چنید برنامهٔ تلویزیونی مطرح و نمایش داده شده است. سلارس به شوخی در اینباره می گوید که او یک «ستارهٔ تلویزیونی گاه به گاه» است. او در سال ۲۰۰۹ میلادی و در سن ۲۱ سالگی، ۱۳۳ کیلوگرم وزن داشت: ۳۸ کیلوگرم از آن مربوط به بالاتنه و ۹۵ کیلوگرم باقی مربوط به پائین تنهٔ اوست. پزشکان او تا سالیان متمادی نمی دانستند علت این عارضه چیست تا آنکه در مه ۲۰۰۶ به این نتیجه رسیدند که عاملش، سندرم پروتئوس است. این بیماری درمان قطعی ندارد. پاهای او از بدو تولد بزرگ بود. مندی از ۱۸ ماهگی قادر به راه رفتن بود. در سن ۷ سالگی، پزشکان به مادرش گفتند بهت
ر است هر دو پای او قطع شود، اما مادرش نپذیرفت. در سن ۱۹ سالگی، مندی تصمیم گرفت که مستقل شده و به تنهایی زندگی کند. او در رشتهٔ روان شناسی تحصیل کرد و از دانشگاه مرکزی لانکاشر لیسانس گرفت و بدون هیچ گونه کمکی از دیگران، خودش به تنهایی زندگی می کرد. در ۲۸ سالگی، مندی مبتلا به ترومبوز سیاهرگی عمقی شد که موجب شد به مدت ۸–۶ ماه، از کمر به پائین فلج باشد. پس از آن دوباره یاد گرفت که چگونه راه برود. سه سال بعد، مندی دچار عفونت خونی و نارسایی کلیه ها شد و مبتلا به استافیلوکوک اورئوس مقاوم به متی سیلین گشت. در نهایت پای چپ وی را از زانو به پائین در سال ۲۰۱۰ قطع کردند. ۲۲ ماه پس از این قطع عضو، پایش مجدداً با سرعت زیادی، شروع به رشد و افزایش قطر نمود. بخش قطع شدهٔ پا آنچنان قطور شد که دیگر قادر به جایگیری در «پای مصنوعی» نبود به نحوی که وزنش به ۱۹ کیلوگرم و قطرش به ۱ متر رسید. در سال ۲۰۱۷ میلادی با بررسی های ژنتیکی، مشخص شد که علت این بیماری او، جهش در ژن PIK3CA است و بدین ترتیب پزشکان دریافتند که بیماری او سندرم پروتئوس نیست. بر پایهٔ اطلاعاتی که از بررسی ژن های او بدست آمد، به وی داروی سیرولیموس تجویز شد که باعث شد پ
س از حدود ۹۰ روز، تا اندازه ای اندازهٔ پاهای وی کوچک تر شوند.
محمدعلی قدمی (زادهٔ ۱۳۲۷ در کرمانشاه) ردیف دان آواز ایران، خواننده، آهنگساز و توانمند در اجرای سه فرم موسیقی سنتی، عرفانی و فولکلور و سرپرست گروه موسیقی ساقی خواننده موسیقی سنتی ایران است. زندگی نامه. محمدعلی قدمی ردیف آوازی و مرکب خوانی را به مدت هشت سال نزد «محمود کریمی» در دانشکده عالی موسیقی و مرکز حفظ و اشاعه موسیقی تکمیل نمود و موفق به دریافت دست خط تأییدیه وی شد. بعد از آن مشغول نوشتن طرح تفصیلی برای موسیقی سنتی رشته آواز و تدریس به دانشجویان شد که به عنوان کارشناس و مدرس ردیف آواز ایران در مراکز هنری و مرکز تربیت معلم هنر، از طرف محمود کریمی انتخاب شد. اجرای برنامه های مختلف با گروه دانشجویان هنر در طی سال های جنگ که از وی به عنوان یکی از تأثیر گذاران موسیقی دفاع مقدس یاد شده است از جمله فعالیت های هنری اوست. همچنین ساخت بیست قطعه آهنگ مورد تأیید شورای عالی موسیقی، که در دورهٔ خود از شهرت به سزایی برخوردار بوده و ساخت قطعه «سوز دل» برای ارکسترسمفونیک (به مدت چهار سال) و عضویت در هیئت داوران اردوی هنری سراسر کشور در رامسر، از جمله فعالیت های وی به شمار می آید.
پرواز ناتمام () یک فیلم درام است محصول سال ۲۰۱۵ کشور ارمنستان، به کارگردانی یلنا آرشاکیان و نویسندگی آناهیت مخیتاریان و تهیه کنندگی کارن قازاریان، آرمن گریگوریان و واهان آزاتیان داستان فیلم. این فیلم بر اساس وقایع واقعی ساخته شده است و به یادبود قربانیان سانحه ناگوار سقوط هواپیمایی A-320 از مقصد ایروان به سوچی در روز ۳ مه ۲۰۰۶ اتفاق افتاد، تقدیم شده است.