Payamvdn/NorthPersian_fa_wiki huggingface dataset:
لیه فیلم. سید محمود رضوی، تهیه کننده فیلم، با انتشار توییتی اعلام کرد ایده اولیه این فیلم را محمدحسین مهدویان پس از شنیدن ترانهٔ «مسلخ» از محسن چاوشی گرفته است که موضوعش تجارت و قاچاق دختران ایرانی به دبی است. اکران و فروش. این فیلم در تاریخ ۲۳ اسفند ۱۳۹۶ در سینماهای ایران اکران شده است؛ و پرمخاطب ترین فیلم سی و ششمین دوره جشنواره فیلم فجر و تاریخ جشنواره فیلم فجر است. "لاتاری" پر مخاطب ترین فیلم اکران نوروزی ۱۳۹۷ می باشد. این فیلم به دلیل موضوعش ماه ها در انتظار گرفتن پروانه ساخت بود. پس از پخش نسخهٔ نمایش خانگی لاتاری، این فیلم عنوان پر فروش ترین فیلم شبکه نمایش خانگی سال ۱۳۹۷ را بدست آورد. بازخورد. مصیب داوری در ایسنا فیلم نامه "لاتاری " را مورد انتقاد قرار داد. منتقدی دیگر به نام مصطفی ذاکری در ایسنا به «کلیشه ای» بودن شخصیت ها، داستان و دیالوگ اشاره کرد.
معناشناسی زایشی نام یک نظریه زبان شناسی است که توسط دو دانشجوی نوام چامسکی آغاز شد. معناشناسی زایشی به همراه نظریه معیار (Standard Theory)، نظریه معیار بسط یافته (Extended Standard Theory) و نظریه معیار بسط و تجدیدیافته (Revised Extended Standard Theory) جملگی نسخه های مختلفی از دستور گشتاری (Transformational Grammar) به شمار می روند. قواعد زایشی. قواعد مولد نظریه ای است که نوام چامسکی در اواسط قرن ۲۰ ارائه داد. این نظریه بیان می دارد که گرامر زبان در واقع نظامی از قواعد است که ترکیب آن ها دقیقاً یک جمله از زبان را به ما می دهد. در واقع اینکه یک نفر با داشتن قواعد یک زبان می تواند جملات خوش - شکل (well-formed) را بسازد و جملات دارای دستور زبان غلط را مشخص کند ناظر بر زایا بودن دستور زبان است. در یک زبان بی شمار جمله وجود دارد که الزاماً یک نفر که به آن زبان آشنایی دارد تمام آن جملات را نشنیده است. در واقع با داشتن گرامر زبان می توان هر چقدر که بخواهیم جمله درست بسازیم. این ویژگی را نوام چامسکی خلاقیت (creativity) نامید. "زبان صرفاً با تقلید ساخته نمی شود بلکه این قواعد هستند که زبان را شکل می دهند." این یکی ا
ز عوامل بی شمار بودن تعداد جملات یک زبان است. دلیل دیگر خاصیت بازگشتی زبان است به این معنی که می توان با استفاده از حروف ربط آن زبان عبارات را تا هر جا که بخواهیم طولانی کنیم. به طور مثال: codice_1 اما با وجود بی شمار بودن تعداد جملات زبان همه این جملات قابل قبول نیستند. این عدم مورد قبول واقع شدن یا ناشی از مشکلات معنایی جمله است یا ناشی از مشکلات ساختار قواعدی آن (syntactic - semantic). هسته سازنده گرامر زایشی شامل دو چیز است: این دو مفهوم با هم تعامل دارند. هدف ساختار عبارت توصیف ساختاری تمام جملات قابل قبول یک زبان است. نیل به این هدف نیازمند داشتن یک سیستم قاعده برای زبان است. واژگان اطلاعات واژگان زبان را نگه می دارد (اطلاعات از جنبه های معنایی، قاعده ای، مورفولوژیکی و ...). دستور گشتاری. دستور گشتاری در واقع نسخه اولیه نظریه گرامر مولد است. نوام چامسکی بیان کرد هر جمله یک زبان دو نمایش دارد: ساختار عمیق و ساختار سطحی. ساختار عمیق و ساختار سطحی. ساختار عمیق در این بررسی چامسکی یک سازه انتزاعی است که تلاش می کند چند ساختار مرتبط به هم را یکی کند. این بررسی بیشتر در سطح syntax مطرح می شود. بیان دیگر ساختا
ر عمیق این است که یک معنی را می توان به طـُرق مختلف در زبان بیان کرد. به این معنی ساختار عمیق گفته می شود. ساده ترین مثال این موضوع بیان یک جمله یکی به صورت معلوم و دیگری به صورت مجهول است. ساختار سطحی دقیقاً برعکس مورد قبل است. به این معنی که چند معنی مختلف می توانند توسط یک جمله بیان شوند. در واقع این ساختار به ابهام و کژتابی های زبان اشاره دارد. یک مثال این ساختار جمله codice_2 است. تفاوت نحو و معنا. نحو به گرامر اشاره دارد، یعنی قواعد ساخت جمله. به طور مثال در نحو زیان ریاضی عبارت codice_3 به لحاظ نحوی غلط است چون حتماً باید در هر دو طرف نامساوی عبارت عددی دیده شود. اما ممکن است جمله ای به لحاظ نحوی درست باشد یعنی طبق قواعد زبان شناسی بتوان چنین جمله ای ساخت ولی این جمله معنی درستی نداشته باشد. مثل جمله codice_4 این جمله اگر چه ساختار زیان فارسی را رعایت کرده است (ابتدا فاعل در جمله دیده می شود و سپس فعل) ولی نمی تواند معنی درستی داشته باشد چون فیل نمی تواند پرواز کند. درگیری بین زبان شناسان روی این مسئله است که آیا جمله ای که به لحاظ نحوی غلط است می تواند معنی درستی داشته باشد یا نه. برخی می گویند پیش نی
از درست بودن معنی یک جمله درست بودن آن جمله از لحاظ نحوی است و در غیراینصورت جمله ای برای فهمیدن وجود ندارد که بتوان معنای آن را دریافت ولی در جبهه مقابل زبان شناسانی هستند که می گویند این دو مفهوم کاملاً از هم جدا هستند. مثلاً جمله codice_5 جمله ای است که به لحاظ نحوی درست نیست (فاعل آن با وجه فعل همخوانی ندارد) ولی در عمل شخصی که مخاطب این جمله است می تواند مقصود گوینده را بفهمد. معناشناسی زایشی. معناشناسی زایشی خود نسخه دیگری از دستور گشتاری است. دستور گشتاری هم در واقع یک نوع از انواع زبان شناسی زایشی است که طی دهه های 1950 تا 1980 میلادی نظریه غالب در حیطه زبان شناسی ساختارگرا به شمار می رفت. در زبان شناسی ساختارگرا دستور زبانی که تنها جملات دستوری همان زبان را تولید کند باید تلاشی باشد تا به بالاترین سطح کارآیی دستوری دست یابد به این معنی که چنین دستوری باید توضیح دهد که چرا زبان مربوط به شکل فعلی خود فراگرفته می شود. معانی مولد از مفهوم ساختار عمیق چامسکی کمک می گیرد و فرض می کند این ساختار عمیق تنها ورودی به مفسر معنایی است. در معانی مولد یک گرامر توصیفی با یک ساختار عمیق که خود معنایی است و از چندین
ساختار عمیق کوچک تر درست شده شروع می کند. این ساختارهای عمیق کوچک در نهایت تبدیل می شوند تا ساختارهای سطحی را به وجود بیاورند. معناشناسی زایشی و معناشناسی تفسیری. بعد از مطرح شدن مفاهیم دقیق نوام چامسکی در زمینه زبان شناسی دو روش مختلف برای رسیدن از جمله به معنا مطرح شد. در روش اول که در آن سعی شده بود بیشترین سازگاری با نظریه دستور گشتاری وجود داشته باشد بحث معانی تفسیری بود که طی آن نحو به کلی از معنا جدا بود. نوام چامسکی خود این طرح را بیشتر می پسندید. در مقابل معانی مولد وجود داشت که می گفت تفسیرها مستقیماً حاصل گرامر هستند و در نهایت به جملات بامعنی تبدیل می شوند. روش دوم نسبت به روش اول پیچیدگی بیشتری در خود داشت و در نتیجه تبدیل های پیچیده تری در سطح گرامر می طلبید ولی در عین حال مزیت های خاص خودش را هم داشت. به طور مثال این روش مکانیزم قدرتمندی برای توضیح ترادف در زبان ارائه می کرد.
پادشکنندگی یک ویژگی در سامانه ها است که اگر در معرض تنش و ضربه یا هر نوع ناملایمت قرار بگیرد، به موقعیتی بهتر از قبل خواهد رفت و در برابر آن عامل، مقاوم تر خواهد شد. مفهوم پادشکنندگی فراتر از قابلیت ارتجاع و استحکام ساختاری است چرا که سامانه را در موقعیت بهتری از وضعیت پیشین قرار می دهد. این مفهوم ابتدا توسط نسیم نقولا طالب ارائه شده است.
ماشین امگا (formula_1)(انگلیسی: Omega-Automaton) گونه ای از ماشین حالات متناهی است که ورودی آن رشته های نامتناهی به جای رشته های متناهی می باشد. از آنجایی که رشته های ورودی نامتناهی می باشند، ماشین های امگا به جای مجموعه وضعیت های قبول، شرایط قبول دارند. با توجه به ورودی ماشین های امگا که نامتناهی است، می توان از آن ها برای توصیف وضعیت سامانه هایی از قبیل سخت افزارها، سیستم های عامل، سیستم های کنترلی، تصدیق سیستم ها و محاسبات استفاده کرد. ماشین های امگا همانند ماشین های حالت متناهی به دو گونهٔ قطعی و غیرقطعی تقسیم می شوند. انواع گوناگون ماشین های امگا عبارتند از: ماشین بوخی، ماشین رابین، ماشین زوجیت، ماشین مولر و … تمامی این ماشین ها به هر دو صورت قطعی و غیرقطعی وجود دارند و تفاوت آن ها در شرایط قبولی می باشد. به غیر از ماشین بوخی قطعی که از تمامی مدل های دیگر ضعیف تر است، تمامی این مدل ها زبان های منظم امگا را تشخیص می دهند. معرفی و مقدمه. مجموعه اعداد صحیح نامنفی را با formula_2 نشان می دهیم، یعنی formula_3. الفبای ورودی متناهی را نیز با formula_4 نمایش می دهیم. در حالی که formula_5 مجموعهٔ تمام کلمات متناه
ی بر روی الفبای formula_4 است، formula_7 مجموعهٔ تمام کلمات نامتناهی بر روی الفبای مذکور می باشد. زبان formula_8 را یک formula_2-زبان گوییم هرگاه کلمات آن زیرمجموعه ای از formula_5 باشند، یعنی formula_11. ماشین امگا قطعی. یک ماشین امگا قطعی formula_12 یک چندتایی به صورت formula_13 است. در ادامه به تبیین هر کدام از مؤلفه ها می پردازیم: ماشین امگا غیرقطعی. یک ماشین امگا غیرقطعی formula_12 یک چندتایی به صورت formula_29 است. در ادامه به تبیین هر کدام از مؤلفه ها می پردازیم: در اینجا بر خلاف ماشین امگا قطعی برای انتقال بین وضعیت های مختلف به جای یک تابع از یک رابطه استفاده می کنیم. در این حالت وضعیت بعدی لزوماً به صورت یکتا تعیین نمی شود بلکه می تواند حالات گوناگونی داشته باشد و به صورت غیرقطعی وارد تمامی آن ها می شود. یک ورودی به ماشین غیرقطعی formula_12 مثل formula_21 به صورت رشته ای نامتناهی formula_22 است. اجرای formula_12 بر روی formula_21 برابر با دنباله ای نامتناهی از وضعیت ها مثل formula_25 و به صورت مقابل است: شرایط قبول. در ماشین های حالات متناهی، اجرای هر ماشین بر روی رشتهٔ ورودی در یک وضعیت خاص پایان م
ی یابد و بنا بر آنکه آن وضعیت عضوی از مجموعه وضعیت های قابل قبول باشد، رشته ورودی تأیید یا رد می شود. در ماشین های امگا، بر خلاف ماشین های حالت متناهی، باید به اجرای ماشین بر روی رشته توجه کرد و با توجه به وضعیت هایی که اجرا به خود می بیند تصمیم به تأیید یا رد رشته گرفت. یک رشته دلخواه مورد قبول ماشین قرار می گیرد هرگاه خروجی وضعیت های اجرای مربوط به آن درون formula_18 باشد. زبان ماشین امگای formula_12 برابر است با تمامی کلماتی که توسط این ماشین قبول می شوند و با formula_47 نشان داده می شود. برای هر اجرا مانند formula_25 مجموعهٔ formula_49 را برابر با وضعیت هایی از ماشین در نظر می گیریم که هر کدام نامتناهی بار در اجرا ظاهر می شوند، یعنی formula_50. حال با استفاده از این تعریف به بیان انواع گوناگون ماشین های امگا می پردازیم. ماشین بوخی. در این ماشین مجموعه formula_18 برابر با زیرمجموعه ای از وضعیت ها مانند formula_52 است و در آن اجرای formula_25 قبول می شود هرگاه شرط formula_54 برقرار باشد. به تعبیری دیگر یک وضعیت مورد قبول باشد که در اجرای formula_25 بینهایت بار ظاهر شود. ماشین رابین. در این ماشین مجموعه form
ula_18 برابر است با formula_57. در این ماشین اجراهایی مورد قبول واقع می شوند که در آن ها عضوی از formula_58 مانند formula_59 وجود داشته باشد که formula_60 و formula_61. ماشین زوجیت. در این ماشین مجموعه وضعیت ها را به صورت formula_62 در نظر می گیریم و شرط قبول شدن اجرای formula_25 آن است که formula_64. ماشین مولر. در این ماشین مجموعه formula_18 برابر با زیرمجموعه ای از مجموعه توانی وضعیت ها مانند formula_66 است و در آن اجرای formula_25 قبول می شود هرگاه شرط formula_68 برقرار باشد. به تعبیری دیگر تمام وضعیت هایی که بینهایت بار تکرار می شوند مجموعه ای را تشکیل دهند که در formula_69 آمده باشد. مثال. در اینجا مثالی از ماشین امگای قطعی بوخی آورده ایم. توصیف این ماشین به صورت مقابل است: زبان این ماشین برابر است با تمام کلمات امگایی که در آن ها بینهایت بار حرف formula_78 آمده باشد. حال اگر داشته باشیم formula_79 آنگاه زبان ماشین برابر است با تمام کلمات امگایی که در آن ها بینهایت بار حرف formula_80 آمده باشد.
در نظریه اتوماتا، شاخه ای از علوم کامپیوتر نظری، اتوماتای نخی (به انگلیسی: ) ماشینی قدرمتند است، که اولین بار در سال ۲۰۰۲ توسط اریک کلرگری (به انگلیسی: Eric Clergerie) معرفی شد. این ماشین، طیف گسترده ای از زبان های نیمه حساس به متن (به انگلیسی: ) را می پذیرد. به طور خاص، اتوماتای نخی دستهٔ سیستم های بازنویسی مستقل از متن خطی (به انگلیسی: ) را به طور کامل می پذیرد و حتی قدرت پذیرش زبان هایی فراتر از این دسته را نیز دارد. اتوماتای نخی، نسخه ای گسترده تر و ساده تر از ماشین هایی است که قبل از آن برای تجزیه زبان های نیمه حساس به متن پیشنهاد شده بودند. از این قبیل ماشین ها می توان به اتوماتای دو پشته ای (به انگلیسی: Two-stack automata) که برای گرامرهای درخت مجاورت (به انگلیسی: ) پیشنهاد شده بود، اشاره کرد. ایده کلی. اتوماتای نخی غیرقطعی می باشد، و اگر تمام حالات ممکن، مستقل از یکدیگر دنبال شوند، پیچیدگی محاسباتی آن ها نمایی خواهد شد. اما به همراه نمایش فشردهٔ زیراشتقاق ها و نیز تکنیک های جدول بندی، پیچیدگی محاسباتی آن ها چندجمله ای می شود. ایدهٔ کلی اتوماتای نخی بر این اساس است که در هر لحظه مجموعه ای از نخ ها وجود
دارند که یکی از آن ها فعال است. حرکات در اتوماتا نیز به این صورت است که نخ ها ممکن است یک زیرنخ جدید را ایجاد کنند، تمام شوند، و یا معلق شده و کنترل را به پدر و یا یکی از فرزندان خود بازگردانند. تعریف رسمی. اتوماتای نخی به یک نه تایی formula_1 گفته می شود، بدین صورت که: حال اگر formula_1 یک اتوماتای نخی باشد: زبان یک اتوماتای نخی، مجموعه ای از کلمات است که می توان با شروع از مجموعه نخ formula_31 و بعد از خواندن تمام ورودی به مجموعه نخ formula_32 رسید.
دیدار نهایی جام باشگاه های آسیا ۱۹۹۱ بازی نهایی یازدهمین دوره جام باشگاه های آسیا است که در تاریخ ۲۲ دسامبر ۱۹۹۱ در دوحه قطر بین دو تیم استقلال ایران و الهلال عربستان در جام باشگاه های آسیا ۱۹۹۱ برگزار شد. این دیدار در وقت های قانونی و اضافه با نتیجه ۱-۱ مساوی به پایان رسید. گل تیم استقلال را امیر هاشمی مقدم در دقیقه ۵۸ و گل تیم الهلال را حسین الحبشی در دقیقه ۷۳ به ثمر رساند. بازی با همین نتیجه در وقت های قانونی به پایان رسید و بعد از ۳۰ دقیقه وقت اضافی نیز گلی رد و بدل نشد و در ضربات پنالتی تیم الهلال ۴-۳ پیروز شد و برای نخستین بار عنوان قهرمانی جام باشگاه های آسیا را به دست آورد. جزئیات فینال. &lt;onlyinclude&gt;
دیدار نهایی جام باشگاه های آسیا ۹۹–۱۹۹۸ بازی نهایی انجام شده در جام باشگاه های آسیا ۹۹–۱۹۹۸ است که در تاریخ ۳۰ آوریل ۱۹۹۹ برابر با دهم اردیبهشت ۱۳۷۸ در ورزشگاه آزادی شهر تهران بین دو تیم استقلال از ایران و جوبیلو ایواتا از ژاپن برگزار شد. جزئیات مسابقه. &lt;onlyinclude&gt; &lt;/onlyinclude&gt; منبع تماشاگران. طرفدار استقلال از ساعت ها قبل ورزشگاه آزادی را پر کردند. این در حالی ست که در حدود ۱۵ تا ۲۰ هزار هوادار این تیم نیز بیرون ورزشگاه ماندند و راهی به استادیوم نیافتند. این بازی پرتماشاگرترین بازی در تاریخ بازی های باشگاهی در آسیا می باشد.
إسراء عبدالفتاح (؛ زادهٔ ) فعال اینترنت و وبلاگنویس اهل مصر است. تأسیس جنبش جوانان ششم آوریل. إسراء در سال ۲۰۰۸ جنبش جوانان ششم آوریل مصر را تأسیس کرد. این گروه برای حمایت از کارگران محله الکبری یک شهر صنعتی که قصد داشت در ششم آوریل دست به اعتصاب بزند تأسیس شد. این گروه به تدریج به یک جنبش سیاسی مردمی تبدیل شد. دستگیری. او در سال ۲۰۰۸ توسط نیروهای امنیتی مصر دستگیر شد. او توجه تعدادی از رسانه های مصری را که علیه سیاست سانسور دولت مبارزه می کردند را جلب کرد و به نماد مقاومت در برابر فساد و بی عدالتی تبدیل شد. پس از گذراندن دو هفته در زندان او آزاد شد و در اطلاعیه ای اعلام کرد که دست از فعالیت سیاسی برمی دارد. اعتراضات سال ۲۰۱۱ در مصر. اسرا عبدالفتاح مجدداً در اعتراضات سراسری و انقلاب ۲۰۱۱ مصر که برای برکناری رژیم حسنی مبارک برگزار شده بود، فعال شد. او در اینترنت فعالیت می کرد و نیز شبکه خبری الجزیره را با آخرین اخبار اپوزیسیون مصر روزآمد می کرد. هنگامی که ساختمان های امنیتی دولت در مارس ۲۰۱۱ مورد حمله قرار گرفتند، به موجب نشانه هایی از پرونده ها که در آن تخریب شده بود، یک پرونده ده صفحه ای از اسراء پیدا شد که
حاوی ده صفحه از اسناد و مدارک مربوط به سه سال کار اینترنتی و هک ایمیل، و اطلاعات شخصی در مورد او بود. او گفت: «احساسش در این رابطه متناقض و غیرقابل توصیف است.» افتخارات. نام او به عنوان کاندید جایزه صلح نوبل پیشنهاد شد. در ۳۱ اکتبر ۲۰۱۱ توسط گلامور به عنوان زن سال نامیده شد.
مبدل با حالت محدود (انگلیسی:Finite-state transducer)، ماشین حالت محدودی است که دو یا بیشتر از دو نوار ورودی دارد. حالت ساده اش دو نوار یکی نوار ورودی و دیگری نوار خروجی دارد که با خواندن از روی نوار ورودی، نوار خروجی را ایجاد می کند. تفاوت مبدل با حالت متناهی با ماشین با حالت متناهی در این است که ماشین تنها برای تشخیص اینکه رشته ای در زبان منظم است به کار می رود ولی مبدل علاوه بر تشخیص وجود رشته، رشتهٔ خروجی را از رشته ورودی می سازد. در واقع این مبدل شکل بسط داده شده ای از ماشین با حالت متناهی است و دو مجموعه از نمادها را به هم می نگارد و مترجم و مربوط کننده رشته دو نوار تعبیر می شود. تعریف رسمی. یک مبدل حالت متناهی را با ۶ تاپل (چندتایی)formula_1 نمایش می دهند: نحوه نمایش. برای نمایش مبدل حالت متناهی می توانیم از گراف جهت دار که گراف انتقال نیز نامیده می شود استفاده کنیم. راس های این گراف، مجموعه حالت های مبدل اند و formula_11به معنی وجود یالی از رأس formula_12به رأس formula_13است که نماد formula_14برچسب ورودی و formula_15برچست خروجی یال است و متناسب با نوع مبدل، در دو نوار اعمال می شود. شکل زیر یه نمونه ساد
ه ای از این مبدل است: این مبدل روی زبان با الفبای {۰٬۱} تعریف شده است. یال ۰:۱ به این معنی است که در این انتقال، مبدل نماد ۰ را از نوار اولی می خواند و در دومین نوار می نویسد. انواع مبدل ها. برحسب اینکه از کدام نوار بخواند و در کدام نوار بنویسد، مبدل به چند نوع تبدیل می شود. نوع تولیدکننده، که قادر است در هر دو نوار بنویسد و نوع تشخیص دهنده که قادر است از هر دو نوار بخواند. نوع چپ به راست، از نوار اول می خواند و در نوار دوم می نویسد و نوع راست به چپ هم برعکس قبلی عمل می کند. مبدل حالت محدود وزن دار. با افزودن وزن به هر یک از انتقالات مبدل با حالت متناهی، مبدل وزن دار آن تشکیل می شود. ایده این نوع مبدل تنها در وجود وزن به انتقال ها نیست، بلکه یک سطحی از مفاهیم ریاضی را که به نام نیم-حلقه را در مبدل ها را موجب می شود. در واقع این مفهوم ریاضی مشخص می کند چگونه در طی عملیات ها روی مبدل، این وزن انتقال ها ترکیب می شود. این نوع مبدل در پردازش زبان طبیعی و تشخیص گفتار کاربرد فراوانی دارد. روابط منظم. همان طور که ماشین حالت محدود، هم متناظر زبان های منظم است، مبدل حالت محدود نیز متناظر روابط منظم و نمایش دهندهٔ آنهاس
ت. روابط منظم، مجموعه از زوج رشته هایی هستند که تحت قواعدی به هم نظیر شده اند. همانند زبان های منظم، تحت اجتماع بسته اند ولی تحت تفاضل و مکمل گیری و اشتراک بسته نیستند. (البته بیشتر روابط منظم که در آن از formula_10استفاده نشده است، به احتمال زیاد تحت این عملیات ها بسته هستند) کاربردها. مبدل با حالت محدود، کاربرهای فراوانی هم در کامپایلرها و هم در حوزه پردازش زبان طبیعی دارد. صرف افعال. رای پیدا کردن ریشه کلمه ها و حالت سادهٔ آن ها می توان استفاده کرد. مثلاً گل ها ←گل، می رود ← رو. تجزیه تکواژشناسی. جهت به دست آوردن ویژگی ها و ساختار یک واژه از جمله اسم یا فعل کاربرد دارد. مثلاً رایانه ها ← اسم + علامت جمع ترجمه ساده بین زبان ها. برای مثال ترجمه از زبان فارسی به انگلیسی (به صورت کلمه به کلمه) دستورهای ساده ساخته شده برای رایانه. در ترجمه دستورهای صوتی که به وسیله الکترونیکی از طریق دستیار شخصی صوتی هوشمند مثل نرم افزارهایی همچون سیری، وارد می شود نیز کاربرد مورد استفاده است.
ماشین حالت یو.ام. ال (UML state machine) ماشین حالتی است که از نماد گذاری زبان مدلسازی یکپارچه استفاده می کند تا حالت های مختلف یک فرایند را نمایش دهد. اجزا ماشین حالت یو.ام. ال. حالت. هر حالت، ممکن است ساده یا مرکب باشد. حالت مرکب، از یک یا چند ناحیه تشکیل شده است که هر ناحیه، خودش یک ماشین حالت یو.ام. ال است و حالت شروع و پایان دارد و وقتی وارد این حالت شدیم، ماشین، از حالت شروع درون این حالت، شروع به کار می کند و زمانی که به حالت پایانی رسید، بر اساس یال های خروجی آن، به حالت های دیگر می رود. هر حالت ساده، از ۲ بخش تشکیل شده است. یک بخش، به نام این حالت اختصاص دارد و دیگری، شامل ۳ اطلاع است: - در زمان ورود به این حالت، چه اتفاقاتی باید رخ دهد که به این صورت نمایش داده می شود: عمل / entry - در زمان خروج از این حالت، چه اتفاقاتی باید رخ دهد که به این صورت نمایش داده می شود: عمل / exit - در زمانی که در این حالت هستیم، چه اتفاقاتی باید رخ دهد که به این صورت نمایش داده می شود: عمل / do یال. همچنین، یال های این گراف که نشان دهنده انتقال های بین حالت ها هستند، شامل شرط و عمل هستند که به این گونه بر روی یال قرار م
ی گیرند: عمل / شرط حالت شروع و پایان. حالت شروع این ماشین حالت، با یک دایره توپر نمایش داده می شود و حالت پایان آن، با دایره توپری که دور آن یک حلقه وجود دارد، نشان داده می شود. اجرای همزمان چند ناحیه. همان طور که بالاتر ذکر شد، در حالت های مرکب، ممکن است چند ناحیه داشته باشیم و این ناحیه ها بخواهند همزمان اجرا شوند. در این صورت، بین یال های ورودی به آن ناحیه ها، یک خط عمودی رسم کنیم و بین یال های خروجی از آن ها نیز یک خط عمودی رسم می کنیم. حالت تاریخ. این حالت برای زمانی استفاده می شود که از یک حالت مرکب خارج شویم و بخواهیم دوباره به آن وارد شویم و بخواهیم اطلاعات مرحله قبل حفظ شود. برای این منظور، هنگام ورود مجدد به درون حالت مرکب، ابتدا به حالتی به نام "H" یا "*H" می رویم و سپس به حالت مدنظر منتقل می شویم. "H" برای زمانی استفاده می شود که بخواهیم فقط اطلاعات خود حالت مرکب را ذخیره کنیم اما "*H" برای زمانی است که بخواهیم اطلاعات تمام ماشین را ذخیره کنیم.
زبان توصیف کامپایلر یک زبان برنامه نویسی است که برای توسعهٔ کامپایلرها و بر پایهٔ دستور زبان های ضمیمه بنا شده است. تاریخچه. نسخهٔ اوّلیه. زبان توصیف کامپایلر در سال ۱۹۷۰ طراحی و در سال ۱۹۷۱ توسط Cornelis H. A. Koster در دانشگاه رادبود پیاده سازی شد. ظهور این زبان هم زمان بود با ظهور زبان برنامه نویسی الگول۶۸ و اولین آزمایش زبان توصیف کامپایلر با این زبان انجام شد. این زبان سال ها در دانشگاه صنعتی برلین(غربی) برای درس طراحی کامپایلر تدریس می شد. در کشورهای دیگری نظیر فرانسه، مجارستان و جمهوری دموکراتیک آلمان نیز از این زبان استفاده می شده است. بسیاری از کسانی که از این زبان استفاده می کردند آن را مطابق خواست خود گسترش داده اند. نسخهٔ ثانویه. در سال ۱۹۷۵ با اعمال تغییراتی نسخهٔ جدید این زبان با نام CDL2 تثبیت شد. برای این که این زبان روی ماشین های مختلف قابل اجرا باشد، چند نسخه تولیدکنندهٔ کد برای آن نوشته شد. این زبان ویژگی هایی داشت که نسخهٔ قبلی فاقد آن ها بودند. از قبیل: این زبان مبانی CDL1 را پابرجا نگه داشته بود، ولی برای اجرای پروژه های بزرگتر مناسب تر بود. بهینه سازی های استفاده شده در این زبان فقط مخت
ص زمان و مکان خود نبودند و در سطح جهانی مطرح شدند. در سال ۱۹۷۶ زبان توصیف کامپایلر پا از حوزهٔ دانشگاهی فراتر گذاشت و سازندگان آن با چند سازندهٔ آلمانی قرارداد بستند. در نتیجهٔ این قرارداد پروژه ای در سال ۱۹۷۷ در دانشگاه صنعتی برلین با هدف ساختن یک سیستم برنامه نویسی مبتنی بر CDL2 و مناسب استفاده در صنعت کلید خورد. در کنار این پروژه در دانشگاه رادبود توسعه و نگه داری کامپایلر CDL2 در حال انجام بود. پیاده سازی با پاسکال. در سال ۱۹۸۶ نسخهٔ ساده و با پیاده سازی مستقیمی از CDL2 با نام Tiny CDL2 به زبان پاسکال پیاده سازی شد. هدف این پیاده سازی آشنایی قشر گسترده تری از مردم با این زبان و فلسفهٔ ایجاد آن بود. نسخهٔ سوم. نسخهٔ سوم این زبان در سال ۲۰۰۴ و با نام CDL3 ارائه شد. این زبان تغییرات زیادی نسبت به CDL1 کرده. بسیاری از مفاهیم در این نسخهٔ جدید به جای معنای صریح، با نحو بیان شده اند. عملگرهای ابتدایی برای دسترسی به داده و عملیات ریاضی هم به زبان اضافه شده اند. طراحی. نسخهٔ اوّلیهٔ این زبان بسیاری از ویژگی های زبان های معمول برنامه نویسی را ندارد. از جملهٔ این ویژگی ها داشتن عملگرهای توکار مثل جمع، ضرب، مقایسه و
یا عمل تخصیص است. قواعد ارزیابی این زبان شبیه به نحو قواعد فرم باکوس نائور است که برای بیان قواعد زبان های مستقل از متن ارائه شده است. این زبان اساساً از یک سری قاعده تشکیل شده است که می تواند به موفقیت یا شکست منجر شود. این قواعد خود متشکل از جایگزین هایی هستند که توالی فراخوانی قواعد دیگر است. در صورتی که هر یک از آن جایگزین ها موفق شود، قاعده موفق می شود. به خاطر این که هر اجرای قاعده مطابق است با ارزیابی موفقیت یا عدم موفقیت آن، به هر اجرا یک ارزیابی می گویند. هر قاعده زمانی که ارزیابی می شود می تواند روی داده هایی که نوعشان مشخص نشده است عمل انجام دهد. در شرایط ایده آل نتیجهٔ این عمل تا وقتی که آن قاعده موفق ارزیابی نشود اعمال نمی شود. زمانی که داده ها به طور ایستا بررسی می شوند، این مشکل وجود دارد که حتی اگر قاعده ای موفق باشد، ممکن است قاعده ای که آن را فراخوانی کرده موفق نبوده باشد. این مشکل در بررسی پویای داده ها که از پشته استفاده می کند پیش نمی آید. در زبان CDL2 برای رفع این مشکل می توان به ناقض های احتمالی علامت مناسب را زد. این زبان عملگرهایی را برای ساختن حلقه های ارزیابی بدون بازگشت فراهم می ک
ند. همچنین میانبرهایی را برای بالا بردن کارایی ارزیابی بازگشتی فراهم می کند. قطعه ای کد از دستورالعمل CDL2 برای شهود به ساختار این زبان در زیر آمده است. شایان ذکر است که این قطعه برنامه برنامهٔ کاملی نیست. عملگرهای ابتدایی به زبان جاوا(یا سی) نوشته شده اند و لازم است اعضای آرایه تعریف شوند. ACTION quicksort +&gt;from +&gt;to -p -q: less+from+to, split+from+to+p+q, quicksort+from+q, quicksort+p+to; ACTION split +&gt;i +&gt;j + p&gt; + q&gt; -m: make+p+i, make+q+j, add+i+j+m, halve+m, (again: move up+j+p+m, move down+i+q+m, (less+p+q, swap item+p+q, incr+p, decr+q, *again; less+p+m, swap item+p+m, incr+p; less+m+q, swap item+q+m, decr+q; FUNCTION move up +&gt;j +&gt;p&gt; +&gt;m: less+j+p; smaller item+m+p; incr+p, *. FUNCTION move down +&gt;i +&gt;q&gt; +&gt;m: less+q+j; smaller item+q+m; decr+q, *. TEST less+&gt;a+&gt;b:=a"&lt;"b. FUNCTION make+a&gt;+&gt;b:=a"="b. FUNCTION add+&gt;a+&gt;b+sum&gt;:=sum"="a"+"b. FUNCTION halve+&gt;a&gt;:=a"/=2". FUNCTION incr+&gt;a&gt;:=a"++". FUNCTION decr+&gt;a&gt;:=a"--". TE
ST smaller item+&gt;i+&gt;j:="items["i"]&lt;items["j"]". ACTION swap items+&gt;i+&gt;j-t:=t"=items["i"];items["i"]=items["j"];items["j"]="t. استفاده. زبان توصیف کامپایلر هم برای طراحی کامپایلرها و هم مقاصد دیگر استفاده شده است. کامپایلری برای زبان کوبول روی رایانه های شخصی و سیستم MProlog با زبان CDL2 نوشته شده اند. سیستم MProlog پیاده سازی ای صنعتی از زبان برنامه نویسی منطقی پرولوگ است که بر روی معماری های عظیم مانند رایانهٔ بزرگ آی بی ام و اینتل اجرا می شد. علاوه بر این ها یک نرم افزار رابط کاربری گرافیکی تجاری هم به زبان CDL نوشته و نگه داری شده. این برنامه یک برنامهٔ گرفتن تصویرهای دندان بوده و مالکیت آن اکنون با DEXIS است. یک نرم افزار مدیریت مطب دندانپزشکی و برنامهٔ Mephisto که یک رایانهٔ شطرنج باز است نیز با CDL نوشته شده است. منابع. __بافهرست__