سپاه حسین بن علی

به روایت ابومخنف تعداد سپاه حسین ۳۲ سواره نظام و ۴۰ پیاده و به روایت محمد باقر چهل و پنج سوار و صد نفر پیاده بود.

حسین زهیر بن قین را به فرماندهی جناح راست و حبیب بن مظاهر را به فرماندهی جناح چپ گماشت. میانه سپاه را نیز به برادرش عباس سپرد.






روز نبرد

بنا بر نقل سید بن طاووس، در کتاب لهوف، صبح عاشورا ابتدا حسین بریر پسر خضیر از زاهدان نامدار کوفه را جهت موعظه جانب لشکر عمر سعد فرستاد، ولی آنان اعتنا نکردند. سپس خود به نزد آنان رفت تا اتمام حجت کند. او گفت مرا بین دو چیز مخیر کرده اند. یا بجنگم و یا ذلت پذیرم و با یزید بیعت کنم، ولی ذلت از ما دور است. لذا با شما می جنگم.

سپس سپاه عمر سعد جنگ را آغاز کرد. این حمله با تیراندازی عمر سعد به طرف اردوگاه حسین بن علی آغاز شد. شمر هم به نیروهای خود دستور داد که حمله‌ای گروهی بکنند و سپاه حسین را نابود کنند. همه گردان‌های سپاه کوفه در این حمله شرکت داشتند. یاران حسین هم در مقابل این هجوم تلاش کردند که از خود دفاع کنند و نیمی از یاران او (غیر از بنی هاشم) در این حمله نخست کشته شدند. شمار کشته‌شدگان این حمله را ۴۱ تن گفته‌اند. شماری از آنان (غیر از ۱۰ نفر از غلامان حسین و دودمانش و ۲ تن از غلامان علی)، عبارت‌اند از:

نعیم بن عجلان، عمران بن کعب، حنظله، قاسط، کنانه، عمرو بن مشیعه، ضرغامه، عامربن مسلم، سیف بن مالک، عبدالرحمان درجی، مجمع عائذی، حباب بن حارث، عمرو جندعی، حلاس بن عمرو، سوار بن ابی عمیر، عمار بن ابی سلامه، نعمان بن عمر، زاهر بن‌عمر، جبلة بن علی، مسعود بن حجاج، عبدالله بن عروه، زهیر بن سلیم، عبدالله و عبیدالله پسران زید بصری.

جنگ گروهی و تن به تن تا نماز ظهر ادامه یافت. هنگام نماز حسین به زهیر بن قین و سعید بن عبدالله حنفی دستور داد با نیمی از یاران در مقابل او صف بکشند تا بتواند به نماز بایستد. دشمن در هنگام نماز آنها را تیرباران کرد. سعید بدن خود را سپر قرار داد و به شهادت رسید.

صبح روز دهم محرم، حسین لشکریانش را که ۳۰ اسب سوار و ۴۲ پیاده بودند را آماده کرد. سمت چپ سپاه را به حبیب بن مظاهر، سمت راست را به زهیر بن قین و قلب را به عباس سپرد. وی همچنین دستور داد که دور تا دور خیمه‌ها، هیزم جمع آوری کنند و هیزمها را آتش بزنند. خود نیز به خیمه‌ای که قبلاً آماده کرده بود رفت و خود را معطر به مشک نمود و صورتش را اصلاح کرد. سپس در حالی که سوار بر اسب بود و قرآنی به دست داشت، مناجاتی زیبا با خداوند نموده و با مردم کوفه نیز سخن نمود و گفت که خدا ولی اوست و دین را محافظت خواهد کرد. به مردم سخنان محمد که وی و حسن را سرور جوانان بهشت خوانده بود و جایگاه خانواده اش را یادآوری نموده و از آنان خواست تا فکر کنند که آیا کشتن وی، امری مشروع است؟ سپس مردم کوفه را به خاطر اینکه پیشتر از وی خواسته بودند تا پیششان بیاید، سرزنش نمود و درخواست کرد تا اجازه دهند وی به یکی از سرزمینهای اسلامی برود که در آنجا امنیتش تامین باشد. اما دوباره به وی گفته شد که اول از همه باید تسلیم یزید گردد. حسین در پاسخ گفت که هیچگاه خودش را همانند یک برده تسلیم نمی‌کند. حسین از اسب پیاده شد و دستور داد تا مهار اسب را ببندند به نشانهٔ اینکه هرگز از معرکه جنگ فرار نخواهد کرد.حر بن یزید بن ریاحی تحت تاثیر قرار گرفت و به سپاه حسین رفت و کوفیان را به خاطر خیانت به حسین سرزنش کرد که البته تاثیری بر روی آنان به وجود نیامد و سر انجام حر در میدان نبرد کشته شد. حسین به اتکای یارانش تا موقعی که تمامی یارانش کشته نشده بودند، وارد جنگ نشد و نمی‌جنگید.

زهیر بن قین از مردم کوفه خواست که به حرف حسین گوش داده و وی را نکشند. اما آنها با دشنام و تهدید پاسخ وی را دادند و شروع به تیراندازی نمودند. جنگ شروع شد. بال راست سپاه کوفه به فرماندهی عمرو بن حجاج حمله برد اما با مقاومت لشکر حسین مواجه شده و عقب نشست. عمرو دستور داد که لشکرش تن به نبردهای تن به تن درنداده و تنها از دور اقدام به تیر اندازی کنند. بال راست سپاه کوفه به رهبری شمر بن ذی الجوشن حمله و محاصره‌ای بی نتیجه انجام داد و فرمانده سواران سپاه، از ابن سعد خواست که پیاده نظام و کمانداران را به کمک وی بفرستد. شبث بن ربیع که قبلاً از حامیان علی بود، حال در لشکر کوفه و تحت امر پیاده نظام ابن زیاد بود. وقتی به وی فرمان حمله داده شد، آشکارا گفت که هیچ میلی به انجام این کار ندارد و سواره نظام و ۵۰۰ کماندار این کار را انجام دادند. سواران لشکر حسین که پاهای اسبانشان قطع شده بود مجبور به پیاده جنگیدن شدند. حسین و هاشمیان تنها از جلو می‌توانستند پیش روی داشته باشند و ابن سعد دستور داد که لشکریانش از همه جهات به سمت خیمه‌های حسین رفته تا آنها را خلع سلاح کنند. اما برخی از حامیان حسین که در خیمه‌ها خوابیده بودند با آنها سرسختانه جنگیده و مقاومت کردند. ابن سعد دستور داد که خیمه‌ها را آتش بزنند. قبلاً حسین دستور داده بود که دور تا دور خیمه‌ها آتش زده شود تا از ورود سپاهیان عمر بن سعد جلوگیری شود. شمر به سمت خیمه‌های زنان حسین پیش روی نمود و می‌خواست خیمه‌ها را بسوزاند که همراهانش وی را سرزنش نمودند که شرمگین شد و از این کار منصرف گردید. در یک حمله، سپاهیان ابن زیاد، خیمه های حسین را آتش زدند که این آتش مانع از پیش روی سپاهیان ابن زیاد گردید.

در ظهر، حسین و یارانش نماز ظهر را به صورت نماز خوف به جا آوردند. بعد از ظهر، سپاهیان حسین، به شدت تحت محاصره قرار گرفتند. سربازان حسین پیش رویش کشته می‌شدند و کشتار هاشمیان که تا به حال راهشان برای ترک میدان جنگ باز بود نیز شروع گردید. اولین هاشمی ای که کشته شد علی اکبر پسر حسین بود. سپس پسران مسلم بن عقیل، پسران عبدالله بن جعفر، پسران عقیل و قاسم بن حسن کشته شدند. قاسم جوان و زیبا بود و به شدت زخمی شده و از عمویش حسین درخواست یاری کرد. حسین خشمگینانه برجست و با شمشیرش ضارب قاسم را ضربتی زد. آن شخص زیر سم اسبهای سپاهیان ابن زیاد افتاده و لگد مال شد. وقتی گرد و غبار ناشی از سم اسبها کنار رفت، حسین پدیدار شد در حالی که بدن قاسم را در آغوش داشت و به قاتلینش لعنت می‌فرستاد. حسین جسم بی جان قاسم را به خیمه‌هایش برد و در کنار دیگر قربانیان قرار داد.

جزئیات کشته شدن عباس در طبری و بلاذری نیامده‌است. تنها به این اشاره شده که حسین که تشنگی بر وی غالب گردیده بود، از عباس خواست تا به فرات رفته و آب بیاورد. عباس با ممانعت لشکریان ابن زیاد روبرو گردید و از خداوند درخواست کرد که لشکریان ابن زیاد را که مانع از رساندن آب به وی می‌شوند را از تشنگی بمیراند و دعایش مستجاب گردید. عباس از ناحیه دهان و فک ضربت خورد. او خونی که از این دو ناحیه جاری شد را در کف دستانش جمع کرد و به آسمان پاشید و به درگاه خداوند به خاطر مصائبی که بر حسین فرود آمده بود، شکایت کرد. باید روایات دقیقی در مورد کشته شدن عباس در کربلا وجود داشته باشد که شیخ مفید به آنها اشاره کرده و می‌گوید که حسین و عباس در کنار هم در کنار رودخانه فرات پیش روی نموده اما عباس از حسین جدا شده و توسط دشمن محاصره گردیده و شجاعانه جنگید و در مکانی که امروز مزارش در آنجا است کشته شد.

در این هنگام سپاهیان ابن زیاد به حسین بسیار نزدیک شده بودند اما کسی جرات نمی‌کرد به سوی حسین دست دراز کند. تا اینکه مالک بن نسیر کندی ضربتی به سر حسین زد و کلاه‌خودش از خون سرش پر گردید. حسین کلاه خودش را عوض نموده و سرش را با عمامه بست. مرد کندی کلاه دریده را غارت نمود. اما این سودی به حالش نکرد. چرا که بعد از آن پیوسته فقیر بود و با خواری زندگی می‌کرد. بخش حزن انگیز دیگر این لحظات، کشته شدن طفلی است که حسین وی را بر زانوانش قرار داده بود. بر طبق یعقوبی، این طفل، نوزاد بود. تیری گردن طفل را درید و حسین خون طفل را در کف دستانش جمع نمود و به آسمان پاشید و خشم خدا را از قوم پیرو شیطان خواستار گردید.

شمر با سپاهی به سمت حسین رفت، اما جرات ننمود به وی حمله کند و تنها درگیری لفظی بین آن دو شکل گرفت. حسین آماده جنگ شد. باید توجه داشت که حسین در آن زمان ۵۵ سال سن داشت و به اقتضای سنش نمی‌توانست مداوم بجنگد. به نقل از بسیاری از روایات ، عبدالله بن حسن بن علی (برادر زاده حسین) خود را سر راه حسین قرار داد و هر چه حسین و زینب به وی می‌گفتند که به خیمه‌ها برگردد، گوش نمی‌کرد. عاقبت دست عبدالله بر اثر ضربت شمشیر قطع شد و حسین به وی وعده بهشت داد و سعی در تسکین درد برادرزاده اش داشت. از یاران حسین، ۳ یا ۴ تن بیشتر نمانده بودند و حسین به سپاهیان ابن زیاد حمله برد. حسین چون بیم داشت که پس از مرگش عریان در صحرا رها شود، چندین جامه درخشان مرغوب پوشیده بود. اما بعد از کشته شدنش تمامی آن لباس‌ها را غارت نموده و بدنش عریان در صحرای کربلا رها شد. ابن سعد ظاهر گردید و زینب به او گفت: حسین دارد کشته می‌شود و تو تنها تماشا می‌کنی. ابن سعد اشکهایش با شنیدن این سخن جاری گشت. حسین شجاعانه می‌جنگید و یعقوبی و چند منبع شیعی دیگر می‌گویند که دهها تن را کشت. اما برخی منابع دیگر حاکی از آن هستند که سربازان ابن زیاد اگر می‌خواستند می‌توانستند حسین را در جا بکشند. حسین وقتی به طرف فرات می رفت تا آب بنوشد، تیری به چانه اش یا گلویش خورد. سرانجام حسین از ناحیه سر و بازو آسیب دیده و بر صورت به زمین افتاد. به خولی بن یزید اصبحی دستور داده شد که سر حسین را از بدن جدا کند، اما وی متزلزل شد و نتوانست این کار را بکند. از همین رو، سنان بن انس عمرو نخعی بعد از اینکه ضربتی دیگر به حسین زد، سر وی را از بدن جدا نمود. سنان سر حسین را به خولی داده و خولی سر را پیش ابن زیاد برد.

نبرد به پایان رسید و سربازان ابن زیاد رو به غارت آوردند. لباس‌های حسین، شمشیر و اثاثیه اش، کفشها و روپوش یمانی اش همگی غارت گردیدند. همچنین زیورآلات و چادر زنان نیز غارت گردید. زین العابدین علی بن حسین که بیمار بود در یکی از خیمه‌ها بود و شمر می‌خواست او را بکشد. اما ابن سعد مانع شد و اجازه نداد کسی به خیمهٔ وی وارد شود. صفوف عزاداران حسین به خاطر وجود علی بن حسین است و نام «شهدای کربلا و طف» با نام وی عجین شده‌است. ۷۲ تن یاران حسین که ۱۷ تن از آنان هاشمی بودند و بر طبق محسن الامین، از لشکریان ابن زیاد ۸۸ تن کشته شدند. حر بن زیاد ریاحی، ۴۰ نفر و بریر بن خضیر ۳۰ نفر، نافع ۱۲ یا ۱۳ نفر و حسین تعداد زیادی از لشکریان ابن زیاد را کشتند.
کشته‌شدن حسین بن علی

عمر بن سعد دستور داد تا حسین بن علی و همراهانش را محاصره کنند و آب را به روی آنان ببندند. سرانجام حسین بن علی در روز عاشورا، ۱۰ محرم سال ۶۱ در کربلا کشته شد و همهٔ خیمه‌های خانواده و یارانش رابه آتش کشیدند.سپس بعد از کشته شدن تمامی یاران حسین بن علی تمامی سر های آنان به جز علی اصغر و حر را از بدنشان جدا کردند و بر نیزه کردند و به شام فرستادند زن ها و بچه ها را به اسارت در آمدند و تمامی اجساد را در صحرای کربلا رها کردند تا پس از سه روز توسط قبیله بنی اسد دفن شدند






پس از نبرد

پس از کشته‌شدن یاران و خانواده حسین بن علی در واقعه کربلا، عمر بن سعد دستور داد تا سرهای آنان را ببرند. پس از آن، سرها را بین قبایل قسمت نمود تا آنان بدین وسیله به ابن زیاد نزدیک‌تر شوند. قبیله کنده به ریاست قیس بن اشعث کندی ۱۳ سر، قبیله هوازن به ریاست شمر بن ذی الجوشن ۱۲ سر، تمیم ۷ سر و بنی اسد ۱۶ سر بر نیزه کردند و در مجموع با ۷۱ سر بریده وارد کوفه شدند.

هنگام طلوع آفتاب سرهای کشته‌شدگان و کاروان اسیران از باب‌الساعات وارد مسجد اموی شد. آنگاه به دستور یزید، تمامی سرها تا ۳ روز بر دروازه‌های شهر و مسجد اموی آویزان گردید. علی پسر حسین پس از گذشت چهل روز (در روز اربعین) موافقت یزید را گرفت تا سرها را به بدن‌ها ملحق کند و سر حسین و دیگر کشته‌شدگان را به کربلا برد و به اجسادشان ملحق کرد.







در عین حال چند سر را در باب‌الصغیر به خاک سپردند، که عبارت‌اند از:

سر ابوالفضل العباس
سر علی‌اکبر
سر حبیب بن مظاهر







فهرست کشته‌شدگان سپاه حسین در رویداد کربلا
واقعه کربلا یکی از نام‌هایی است که اشاره به نبردی دارد که در روز دهم محرم سال ۶۱ هجری قمری بین سپاه حسین ابن علی و سپاه یزید ابن معاویه اتفاق افتاد.






بنی هاشم
فرزندان علی بن ابیطالب

حسین بن علی
عباس بن علی (ابوالفضل)
جعفر بن علی (علی بن ابیطالب)
عبدالله بن علی
عثمان بن علی
عمر بن علی







فرزندان حسن بن علی

ابوبکر بن حسن
بشر بن حسن
عبدالله بن حسن
قاسم بن حسن
عمر بن حسن







فرزندان حسین بن علی

علی اکبر بن حسین
علی اصغر بن حسین







فرزندان عبدالله بن جعفر و زینب بنت علی

عون بن عبدالله بن جعفر
محمدبن عبدالله بن جعفر







فرزندان عقیل ابن ابیطالب

مسلم بن عقیل (محل قتل در کوفه)
عبدالرحمان بن عقیل
عبدالله الاکبر بن عقیل
عبدالله بن مسلم بن عقیل
عون بن مسلم بن عقیل
محمد بن مسلم بن عقیل
جعفر بن عقیل
جعفر بن محمد بن عقیل
احمد بن محمد بن الهاشمی







یاران حسین بن علی

ابراهیم بن الحضین الاسدی
ابوالحتوف بن الحارث الانصاری
ابو عامر النهشی
اسلم الترکی مولی امام (خدمتگزار امام)
ادهم بن امیه العبدی
امیه سعد الطاعی
انس بن الحارث الکاهلی
انیس بن معقل الاصبحی
بریربن خضیرالهمدانی
بشر بن عبدالله الحضرمی
بکربن حی التیمی
جابر بن الحجاج التیمی
حبله بن الشیبانی
جناده بن الحارث الهمدانی
جناده بن کعب الانصاری
جندب بن حجیر الخولانی
جون بن جوی
جوین بن مالک التیمی
حارث بن امری القیس کندی الکندی
الحارث بن بنهان
الحباب بن الحارث
الحباب بن عامر الشعبی
حبشی بن قیس النهمی
حبیب بن مظاهر(یا مظهر)
الحجاج بن بدر السعدی
حجاج بن مسروق جعفی
حر بن یزید ریاحی
حلاس بن عمرو راسبی
حنظله بن اسعد شامی
حنظله بن عمرو شیبانی
رافع مولی مسلم الازدی
زاهر بن عمرو الکندی
زهیر بن بشر الخثعمی
زهیر بن سلیم الازدی
زهیر بن القین البجلی
زیاد بن عریب الصادی
سالم مولی بنی المدینه الکلبی
سالم مولی عامر العبدی
سعد بن الحارث الانصاری
سعد مولی علی بن ابی طالب
سعد مولی عمرو بن خالد
سعید بن عبدالله حنفی
سلمان بن مظارب الجبلی
سلیمان مولی الحسین
سوار بن منعم النعمی
سوید بن عمرو بن ابی المطاع
سیف بن الحارث الجابری
شوذب مولی بنی شاکر
الضرغامه بن مالک
عائذ بن مجمع العائذی
عابس بن ابی شبیب الشاکری
عابر بن حساس بن شریح
عامر بن مسلم العبدی
عباد بن المهاجر الجهنی
عبدالاعلی بن یزید الکلبی
عبدالرحمن الارحبی
عبدالرحمن بن عبد ربه الانصاری
عبدالرحمن بن عروه الغفاری
عبدالرحمن بن مسعود التیمی
عبدالله بن ابی بکر
عبدالله بن بشر الخثمی
عبدالله بن عروه الغفاری
عبدالله بن عمیر بن حباب الکلبی
عبدالله بن یزید الکلبی
عبیدالله بن یزید الکلبی
عقبه بن سمعان
عقبه بن الصلت الجهنی
عماره بن صلخب الازدی
عمران بن کعب بن حارثه الاشجی
عمار بن حسان الطائی
عمار بن السلامه الدالانی
عمرو بن خالد عبدالله الجندعی
عمرو بن خالد الازدی
عمرو بن خالد الصیداوی
عمرو بن قرظه الانصاری
عمرو بن مطاع الجفی
عمرو بن جناده الانصاری
عمرو بن ضبیعه الضعبی
عمرو بن کعب، ابو ثمامه الصائدی
قارب مولی حسین
قاسط بن زهیر التغلبی
القاسم بن حبیب الازدی
کردوس لتغلبی
کنانه بن عتیق التغلبی
مالک بن دودان
مالک بن عبدالله بن سریع الجابری
مجمع الجهنی
مجمع بن عبدالله العائذی
محمد بن البشیر الحضرمی
مسعود بن الحجاج التیمی
مسلم بن عوسجه الاسدی
محمد بن کثیر الازدی
مقسط بن زهیر التغلبی (احتمالآ مقسط بن عبدالله بن زهیر)
منجح مولی الحسین
الموقع بن ثمامه الاسدی
نافع بن هلال الجملی
نصر
النعمان بن عمرو الراسبی
نعیم بن عجلان الانصاری
واضح الرومی مولی الحارث السلمانی
وهب بن حباب الکلبی
یزید بن ثبیط عبسقی
یزید بن زیاد بن مهاصر الکندی
یزید بن مغفل الجعف
هفهاف بن مهند راسبی

اگر افراد بنی هاشم را به این عدد بیفزاییم، شمار کشته‌شدگان کربلا به ۱۳۶ نفر خواهد رسید. و با ذکر نام قیس بن مسهر صیداوی، عبدالله بن بقطر و هانی پسر عروه که قبل از واقعه کربلا و در کوفه کشته شدند، شمار آنان از آغاز ماجرا تا پایان ۱۳۹ نفر خواهد بود.







توضیح

این فهرست شامل ۱۴۰ نفر می‌باشد که بیشترین تعداد برآورد شده‌است و منابع دیگر تعداد کمتری در حدود ۱۰۸ نفر یا بیشتر را نقل کرده‌اند.







حرم امام حسین

حرم امام حسین یا حرم حسینی در کربلا، مدفن ابی عبدالله حسین بن علی، مشهور به سیدالشهداء پیشوای سوم شیعیان است که در زمان خلافت یزید بن معاویه، در مخالفت با وی جنگید و روز عاشورا، ۱۰ محرم سال ۶۱ هجری قمری برابر با سه‌شنبه، ۲۰ مهر ۵۹ هجری خورشیدی (۹ اکتبر ۶۸۰ میلادی) در بیابانِ نینوا (کربلای کنونی در کشور عراق) کشته شد و پس از چند روز همان‌جا به خاک سپرده شد. امروزه آرامگاهش تبدیل به محلی برای زیارت شیعیان شده‌است.

در این حرم، حسین، به همراه علی اکبر در پایین پا و علی اصغر بر سینه در ضریح دفن اند. همچنین بیشتر شهدای کربلا کمی آن‌سوتر در حرم به خاک سپرده شده‌اند.






موقعیت

حرم حسین بن علی در میانه کربلا، شهری در هشتاد کیلومتری نجف و صد کیلومتری بغداد است. موقعیت جغرافیایی این شهر ۳۲ درجه و ۴۰ دقیقه عرض شمالی و ۴۳ درجه و ۵۰ دقیقه طول شرقی است.
تاریخچه حرم

پس از به شهادت رسیدن حسین بن علی (علیه السلام) و اصحاب وی در سرزمین کربلا، قبیله بنی‌اسد پیکر او و اصحابش را دفن نمودند. بنی‌اسد برای قبر حسین (علیه السلام) نشانه‌ای در نظر گرفتند و درخت سدره‌ای را علامت آن ساختند. در زمان بنی‌امیه شیعیان به زیارت قبر وی می‌آمدند و قبر مشخص بود.






بناهای پیشین

نخستین ساخت بنای آرامگاه حسین بن علی را به مختار بن ابی‌عبیده ثقفی، (پس از قیامش) و بعضی به بنی اسد نسبت می‌دهند که مصالح آن از گچ و آجر بوده و در نزدیکی آن مسجدی بوده‌است که این آرامگاه در عهد بنی عباس بدستور هارون الرشید ویران شد و خانه‌های شیعیان همجوار آن خراب گشته و قبر را شخم زدند و درخت سدره‌ای که بنی‌اسد جهت علامت قبر کاشته‌بودند را بریدند. پس از آن در زمان مامون که برای راضی کردن شیعیان خراسان، تصمیم گرفت خلافت را به علی بن موسی الرضا واگذارد، شیعیان فرصت یافتند بر روی قبر حسین بن علی آرامگاهی بنا کنند که بنای این آرامگاه هم در سال ۲۳۲ قمری به دستور متوکل عباسی همراه با خانه‌های اطراف آن ویران شد و زمین آن شخم زده‌شد و در آن کشت صورت گرفت. همانگونه که حمدالله مستوفی آورده‌است:

«آن‌را مشهدی حائری خوانند جهت آن‌که به عهد متوکلِ خلیفه آب در او بستند تا خراب شود، آب حیرت آورد و زمین گور خشک ماند».

متوکل به دست فرزندش منتصر، در سال ۲۴۷ قمری به قتل رسید. منتصر نیز همانند مامون، برخلاف پدرش، به شیعیان امنیت و رفاه داد و باز آرامگاه حسینی را بنا نمود و در کنار آن گل‌دستهٔ بلندی بنا نهاد. حدود ۲۸۰ ق داعی‌الصغیر فرمانروای طبرستان و از نوادگان زید بن علی بن حسین به بازسازی و گسترش آن پرداخت.






بنای کنونی

آخرین بازسازی ساختمان حرم حسین بن علی در سال ۳۷۱ قمری توسط عضدالدوله دیلمی از آل بویه به سرانجام رسید. وی دستور ساخت همه عتبات را صادر کرد. بنای حرم حسین بن علی در سال ۳۶۷ قمری شروع شد و در سال ۳۷۱ قمری به پایان رسید. این آرامگاه دارای گنبدی بر بالای قبر حسین بن علی است. ساختمان اصلی آن همچنان باقی‌مانده و در آتش‌سوزی سال ۴۰۷ قمری براثر افتادن شمع، تنها تزیینات داخلی آن از بین رفت ولی چون در ساختمان اصلی آرامگاه و ستون‌ها چوب بکار نرفته بود، برپا ماند. در حقیقت بنای اصلی آرامگاه حسین بن علی از آثار معماری آل بویه می‌باشد که بعدها از تعرض مغولان نیز در امان ماند.






تعمیرات بنا تاکنون

پس از آن تا به امروز در آرامگاه حسین بن علی تعمیرات و تزیینات زیادی صورت گرفته‌است. پس از سقوط ایلخانیان، در دولت جلایریان (ایلکانیان) و به دست آن‌ها تعمیراتی آغاز شد که تا سال ۷۸۶ قمری آنرا ادامه دادند و ایوان طلا را بنا نمودند. پادشاهان صفویه ضمن انجام تعمیرات و نصب تزئینات متعدد از جمله صندوق و ضریح فولادی، آرامگاه را نیز توسعه دادند. بعضی تعمیرات و ساخت یک کاروانسرا در کنار حرم توسط عثمانی‌ها نیز تا سال ۱۱۲۹ ادامه یافت. سپس نادر شاه در سال ۱۱۳۵ قمری نیز دست به تعمیراتی وسیع و نصب تزئیناتی در حرم زد.

در دوره قاجار، روابطی بهتر از صفویه با عثمانیان داشتند. آغا محمد خان قاجار، نخستین شاه این دودمان، در سال ۱۲۰۵ دستور نوسازی گنبد و تذهیب و تزیین آن را با پوشش طلا صادر کرد. در ۱۸ ذیحجه سال ۱۲۱۶ قمری سعود بن عبدالعزیز وهابی در رأس لشکری بزرگ به کربلا حمله کرد و کشتار بی‌رحمانه‌ای به راه انداخت و آرامگاه حسینی را ویران و اموال آن را غارت کرده، تمام قندیل‌های طلا و نقرهٔ صفویه و فرش‌های گران‌قیمت را به تاراج برد.

پس از آن فتحعلی شاه قاجار دستور تعمیر خرابی‌های وهابیان داد و ضریح تازه‌ای در سال ۱۲۱۸ قمری برای حرم نصب گردید. همسر فتحعلی شاه ایوان مقابل قبر و مناره‌های حرم حسینی را طلاکاری کرد. گنبد و صحن در دوره محمد شاه تجدید بنا شد. در سال ۱۲۷۳ قمری ناصرالدین شاه تعمیراتی در حرم انجام داد و برای سومین بار در دوره قاجاریه گنبد آستانه تجدید طلاکاری شد. تعمیرات حرم در دوره قاجار همچنان ادامه داشت.

در تمام نقاط حرم حسینی –بسان دیگر مراکز زیارتی عراق– نام سلاطین صفوی، قاجار، امیران این دو سلسله بر روی کتیبه‌ها دیده می‌شد که همگی آنها در دوره صدام نابود گردید، تا آثار ایرانی در عتبات به طور کامل محو شود. امروزه این نام‌ها تنها در کتاب‌ها، برخی تصاویر و به‌احتمال اسنادی که در آرشیوهای عثمانی برجای مانده، قابل رؤیت است.

به نظر می‌رسد از آخرین تعمیرات اساسی حرم، تعمیر ایوان طلا و نصب ستون‌های مرمر بجای ستون‌های چوبی برای آن بوسیله یکی از تجار و معدن‌داران ایرانی (حاج قنبر رحیمی) در سال ۱۳۸۹ قمری (۱۳۴۸ خورشیدی) می‌باشد.






ضریح جدید

ضریح جدید حسینی که در آن حدود ۱۱۸ کیلوگرم طلا به همراه نقره و چوب درخت ساج بکار گرفته شده در ایران (شهر قم) ساخته شد و پس از عبور از شهرهای مسیر از مرز مهران به عراق منتقل و در حرم نصب گردید و در ۱۵ اسفند ۱۳۹۱ (۲۲ ربیع‌الثانی) از آن رونمایی گردید. این ضریح از نظر شکل هندسی مانند ضریح قدیم ولی از نظر ارتفاع کمی بلندتر و مساحت آن حدود ۳۴ متر مربع و تعداد پنجره‌های آن ۲۰ باب است. در ساخت ضریح جدید شش‌گوشه حسینی یک‌صد و هیجده کیلو طلا و چهار هزار کیلو نقره ۲ تن مس و هزار و سیصد کیلو برنج، ۵تن چوب ساج جنگلی از برمه به‌کار رفته است. وزن ضریح ۱۲ هزار کیلو است. ضریح‌های قبلی نیز توسط هنرمندان ایرانی ساخته شده و در دوران صفویه و قاجار اماکن مقدس در عراق توسط پادشاهان مختلف ساخته و مرتب تعمیر و تکمیل شده است.






وضعیت کنونی حرم حسینی

حرم حسینی که یکی از شاهکارهای معماری دوره آل بویه است، در قلب شهر کربلا واقع و دارای ده در ورودی به داخل صحن شامل: دو در قسمت جنوبی (درب القبله و درب الرحمه) سه در قسمت غربی (درب زینبیه و درب راس الحسین و درب السلطانیه) دو در قسمت شمالی (درب السدره و درب الاسلام) سه در قسمت شرق صحن (درب الکرامه و درب الشهدا و درب قاضی‌الحاجات) می‌باشد. همچنین دارای ۶۵ حجره‌است که در مقابل هر یک از حجره‌ها یک ایوان قرار دارد. یک مسجد بزرگ هم در قسمت شرقی صحن بین درب قاضی‌الحاجات و درب الشهدا و درب الکرامه و در قسمت جنوب صحن تکیه یا خانقاه بکتاشیه احداث شده‌است.

در صحن حسینی، چندین محل جهت انبار فرش‌های حرم و دیگر وسائل آن و در قسمت جنوب شرقی صحن قبر میرزای دوم شیرازی و در قسمت شمال غرب، قبر شیخ عبدالحسین (شیخ العراقین) از مشایخ اجازات و وصی امیرکبیر و در اطرف صحن، جمعی کثیر از علمای امامیه و سلاطین شیعه مدفونند. خود صحن از دو طبقه تشکیل شده‌است که تمامی دیوارهای آن با کاشی مزین است و هیات شکوهمندی دارد. در وسط صحن، آستانه‌ای قرار دارد که از چهار طرف آن درهای متعددی جهت ورود به رواق‌ها دارد، ولی در اصلی و بزرگ آن در جنوبی حرم است.

در مقابل در حرم ایوان بزرگی واقع است که به ایوان طلا شهرت دارد و دو طرف ایوان چهار کفش‌کن است. دو طرف ایوان دو مناره بلند از طلا است. ایوان دارای سه در ورودی است که به رواق جنوبی حرم منتهی می‌گردد، در وسط از آن دو در دیگر بزرگ تر می‌باشد و از طلا بوده که در اصفهان ساخته شده‌است. رواق جنوبی حرم را رواق حبیب بن مظاهر اسدی می‌نامند. چون قبر حبیب، شهید کربلا درآن واقع است و بنی اسد او را در مقبره دسته جمعی شهدای کربلا دفن نکرده، قبر جداگانه‌ای برای وی ساختند زیرا از بزرگان قبیله بنی اسد بود.

در داخل حرم صندوق‌های گرانبهایی بر روی قبر قرار دارد که برروی آن ضریح نقره نصب است و بالای ضریح اشعاری با طلا ثبت است. کف و دیوارهای حرم و رواق‌ها تا حدود دو متر از بهترین سنگ مرمر ایران است. حرم و رواق‌ها را با کاشیکاری آیات قرانی زینت داده‌اند. تمامی سقف‌های حرم و رواق‌ها به دست هنرمندان ایرانی آینه کاری شده‌است. در قسمت شرقی قبر حسین بن علی، قبر دسته جمهی شهدای عاشورا واقع است و قبر حضرت علی اکبر جداگانه در ضریح حسین بن علی می‌باشد.

از قبور علمای بزرگ امامیه، در رواق جنوبی قبر میرزا مهدی شهرستانی و در رواق شرقی قبر آقا باقر بهبهانی (که بر روی آن صندوق نفیسی نصب است) و مقبره صدر اعظم میرزا محمدتقی خان امیرکبیر و در رواق شمالی حرم، قبر جمعی از سلاطین قاجاریه از جمله احمد شاه و قبر سید ابراهیم مجاب که دارای ضریح خاصی است و در رواق غربی جنب پنجره بالاسر سیدالشهداء قبر ملا محمدصادق برغانی و برادر وی ملا علی برغانی قرار دارد، در منتهی‌الیه رواق جنوبی محلی است که به قتل‌گاه معروف است و این اثر از قدیم باقی است، اینجا محلی است که ابی عبدالله الحسین از اسب خویش بر زمین افتاد و در این مکان بود که شمر سر او را از بدنش جدا کرد.






عناوین جزئیات حرم

آرامگاه‌ها:

آرامگاه حسین، علی اکبر و علی‌اصغر
آرامگاه بیشتر کشته‌شدگان کربلا
آرامگاه حبیب مظاهر
قتلگاه
آرامگاه ابراهیم مجاب
3:30 am
کاربرد

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده‌ها، و عملیات یا تبدیل‌هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می‌کند. یک برنامه نویس از انتزاعات آماده در زبان استفاده می‌کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده‌ترین عناصر موجود بیان می‌شوند(مفاهیم ابتدایی نامیده می‌شوند).





زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

محدوده برنامه‌ها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستم‌های بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویس‌ها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفه‌ای‌هایی که با پیچیدگی قابل توجهی کنار می‌آیند.
برنامه‌ها باید سرعت، اندازه و سادگی را بسته به سیستم‌ها از ریزپردازندها تا ابر رایانه‌ها متناسب نگه دارند.
برنامه‌ها ممکن است یک بار نوشته شوند و تا نسل‌ها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویس‌ها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.



المان‌ها
تمام زبان‌های بزنامه نویسی تعدادی بلوک‌های ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف می‌شوند که ساختار و معنای مربوطه را توضیح می‌دهند.
دستور(
syntax)

فرم سطحی یک زبان برنامه نویسی دستور آن نامیده می‌شود. غالب زبان‌های برنامه نویسی کاملاً متنی اند؛ و از دنبالهٔ متون شامل کلمات، اعداد، نشانگذاری، بسیار شبیه زبان نوشتاری طبیعی استفاده می‌کنند. از طرف دیگر، برنامه‌هایی نیز وجود دارند که بیشتر گرافیکی اند، و از روابط بصری بین سمبل‌ها برای مشخص کردن برنامه استفاده می‌کنند. دستور یک زبان ترکیبات ممکن سمبل‌ها برای ایجاد یک برنامهٔ درست را از نظر دستوری مشخص می‌کند. معنایی که به یک ترکیب سمبل‌ها داده می‌شود با معناشناسی اداره می‌شود(قراردادی یا نوشته شده در پیاده سازی منبع). از آنجا که اغلب زبان‌ها متنی هستند، این مقاله دستور متنی را مورد بحث قرار می‌دهد.

دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف می‌شوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص می‌کند:

یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکسته‌ای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی می‌تواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) می‌آید.
یک لیست تعدادی پرانتز است که می‌تواند صفر یا چند عبارت در خود داشته باشد.

"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثال‌هایی هستند از دنباله‌های خوش فرم در این گرامر.

همه برنامه‌هایی که از لحاظ دستوری درست هستند، از نظر معنا درست نیستند. بسیاری از برنامه‌های درست دستوری، بد فرم اند، با توجه به قوانین زبان؛ و ممکن است (بسته به خصوصیات زبان و درست بودن پیاده سازی) به خطای ترجمه و یا استثنا(exception) منتج شود. در برخی موارد، چنین برنامه‌هایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی اگر یک برنامه در یک زبان به خوبی بیان شده باشد، ممکن است دقیقاً مطلوب نویسنده آن نبوده باشد.

به عنوان مثال در زبان طبیعی، ممکن نیست به برخی از جملات درست از لحاظ گرامری، معنای خاصی اطلاق کرد و یا ممکن است جمله نادرست باشد:

"ایده‌های بی رنگ سبز با خشم می‌خوابند."از نظر دستوری خوش فرم است ولی معنای مورد قبولی ندارد.
"جان یک مجرد متاهل است." از نظر دستوری درست است، ولی معنایی را بیان می‌کند که نمی‌تواند درست باشد.

این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام می‌دهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);

گرامر مورد نیاز برای مشخص کردن یک زبان برنامه نویسی می‌تواند با جایگاهش در "سلسله مراتب چامسکی" طبقه بندی شود. دستور اغلب زبان‌های برنامه نویسی می‌تواند بوسیله یک گرامر نوع ۲ مشخص گردد، برای مثال، گرامرهای مستقل از متن.




معناشناسی ایستا
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیت‌ها به وسیله سیستم نوع گذاری انجام می‌شود.


سیستم نوع گذاری
یک سیستم نوع گذاری مشخص می‌کند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی می‌کند، چگونه می‌تواند آن نوع‌ها را تغییر دهد و رفتار متقابل آن‌ها چگونه‌است. این کارعموما توضیح داده ساختارهایی که می‌توانند در آن زبان ایجاد شوند را شامل می‌شود. طراحی و مطالعه سیستم‌های نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبان‌های نوع گذاری شده و بدون نوع گذاری

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.




نوع گذاری ایستا و متحرک

در نوع گذاری ایستا تمام عبارات نوع‌های خود را قبل از اجرای برنامه تعیین می‌کنند(معمولاً در زمان کامپایل). برای مثال، ۱ و (۲+۲) عبارات عددی هستند؛ آنها نمی‌توانند به تابعی که نیاز به یک رشته دارد داده شوند، یا در متغیری که تعریف شده تا تاریخ را نگه دارد، ذخیره شوند.





زبان‌های نوع گذاری شده ایستا می‌توانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوع‌ها را در جایگاه‌های منتنی مشخص می‌نویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریف‌ها را بر اساس متن استنباط می‌کند. غالب زبان‌های مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری می‌شوند



نوع گذاری قوی و ضعیف

نوع گذاری ضعیف این امکان را ایجاد می‌کند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.

نوع گذاری قوی مانع رخ دادن مشکل فوق می‌شود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا می‌شود. زبان‌هایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته می‌شوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبان‌ها اشاره می‌کند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را می‌دهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل می‌کند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشته‌ای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان می‌کنند.

قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض می‌شوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار می‌برند و منظورشان قوی، ایستایی نوع گذاری شده‌است، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شده‌است. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



معناشناسی اجرا

وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیات‌ها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین می‌کند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.

برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی می‌شوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا می‌کنند.


کتابخانه هسته
اغلب زبان‌های برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده می‌شوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازی‌های زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتم‌ها، داده ساختارها و مکانیزم‌های ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار می‌کنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هسته‌ای را مشخص می‌کنند که باید در تمام پیاده سازی‌ها موجود باشند، و در زبان‌های استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبان‌ها به گونه‌ای تعریف شده‌اند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونه‌ای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونه‌ای از کلاس BlockContext کتابخانه می‌سازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان می‌باشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمی‌کنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.
ساعت : 3:30 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
بامداد نویس | next page | next page