موضوع مقاله: قطع‌کردن (برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # قطع‌کردن (برنامه‌نویسی) | مقدمه: در طراحی زبان رایانه ای، قطع کردن(به انگلیسی: stropping) روشی است که توالی ای از حروف را به داشتن خاصیتی ویژه مانند واژه رزروشده، نوع خاصی از متغیر یا مکان حافظه علامت گذاری می‌کند و به این ترتیب فضای نام متفاوتی از اسم‌های معمولی (شناساگرها) خواهند داشت تا از مشابهت غلط آن‌ها جلوگیری شود. | ## بخش 1: قطع‌کردن (برنامه‌نویسی) | این روش در بیشتر زبان‌های مدرن استفاده نمی‌شود - به جای آن کلمات کلیدی، کلمات رزرو شده هستند و نمی‌توان به عنوان شناساگر از آن‌ها استفاده کرد. استروپینگ اجازه می‌دهد تا از همان دنباله حروف هم به عنوان کلمات کلیدی و هم به عنوان شناساگر استفاده کرد، و به این ترتیب عمل تجزیه را ساده‌تر می‌کند. برای مثال اجازه می‌دهد نام متغیری if باشد، بدون اینکه با کلمه کلیدی if تداخل داشته باشد. اگرچه این روش استفاده‌های مدرن دارد، اما با سایر تکنیک‌های مشابه که از نظر ظاهری شباهت زیادی دارند، به راحتی اشتباه گرفته می‌شود. تاریخچه روش قطع کردن در توسعه الگول در دهه ۱۹۶۰ پدید آمد که از آن برای تمایزهای تایپی مختلف (boldface و underline) استفاده می‌شد که در زبان نشر استفاده می‌شده‌است و نمی‌تواند مستقیماً در زبان سخت‌افزاری نشان داده شود. یک ماشین‌تحریر می‌تواند دارای نویسه‌های bold باشد، اما در مورد کدگذاری در کارت‌های پانچ، هیچ کاراکتر Boldای وجود ندارد. اصطلاح «قطع کردن» در الگول ۶۰، از اپاستروف به وجود آمد، زیرا برخی از پیاده سازیهای الگول ۶۰ از آپوستروف‌ها در اطراف متن استفاده می‌کردند تا نشان دهندهٔ مهم بودن آن باشند. آپاستروف‌های اصلی الگول ۶۰ به‌طور گسترده مورد استفاده قرار نگرفت در صورتی که حروف بزرگ بیش‌تر رایج بود. دستور زبان گسترهٔ وسیعی از دستور زبان‌های مختلف برای قطع کردن استفاده شده‌است: در الگول ۶۰ به صورت رایج از دو علامت نقل و قول در دو طرف کلمهٔ مخصوص استفاده می‌شد. به‌طور کلی به خاطر اسم آپاستروف‌ها به «بریدن» مشهور شدند (همان‌طور که در تاریخچه اشاره‌ای به آن شد. در الگول۶۸ در برخی از پیاده‌سازی‌ها قبل از کلمهٔ مورد نظر یک حرف نقل و قول می‌آید. (برای مثال BEGIN') در حقیقت، اغلب اینگونه است که چندین قرارداد قطع کردن ممکن است در یک زبان مورد استفاده قرار گیرد. به عنوان مثال، در الگول۶۸ انتخاب بین "بریدن"های مختلف را می‌توان با یک دستورالعمل کامپایلر (عملگر در واژه‌شناسی الگول) که به صورت "نقطه" (POINT)، "بالایی"(UPPER)، "نقل و قول"(QUOTE) یا "عطف به"(RES) نامیده می‌شوند، انتخاب کرد. عطف به (RES)، کلمات رزرو شده، همان‌طور که در زبان‌های مدرن استفاده می‌شود - for رزرو شده‌است و برای شناسه‌های معمولی در دسترس نیست. نظام‌های مختلف قواعد یک ویژگی واژگانی برای کاراکترهای منقطع شده (stropped) هستند، هر چند در برخی موارد، این تفسیرها، تفاسیر ساده‌ای دارند: در آپاستروف تنها(single apostrophe) و نظام نقطه‌ای، اولین کاراکتر به عنوان یک کاراکتر فرار عمل می‌کند، در حالی که در نظام‌های آپاستروف، به عنوان حائل عمل می‌کنند. | ## بخش 2: قطع‌کردن (برنامه‌نویسی) | مثال دیگر: برنامه‌های ALGOL 68RS حتی در یک پردازنده یک زبان نیز می‌توانند از چندین نوع روش قطع کردن استفاده کنند. مثال‌های سبک‌های مختلف الگول ۶۸ توجه داشته باشید به دستورالعمل پیشرو pr (مخفف pragmat)، که خود به سبک نقطه یا نقل قول قطع می‌شوند، و همچنین برای کامنت (از "") تنظیم شده‌است - به الگول ۶۸: عناصر مهم زبانی مراجعه کنید. این کار گاهی اوقات با پیشوندهایی مانند @ در #c یا شناسه در براکت‌ها در ویژوال بیسیک دات‌نت انجام می‌شود. در این زبانها کلمات محفوظ با محدود کردن واژگان از آنها به عنوان ستون، جدول یا نام متغیر قابل استفاده هستند. به صورت استاندارد کلمات محصور شده با " " مشخص می‌شوند اما در عمل مکانیسم دقیق با اجرا تغییر می‌کند؛ برای مثال، مای‌اس‌کیوال اجازه می‌دهد که واژه‌های رزرو شده در زمینه‌های دیگر با استفاده از محصور کردن آنها توسط backticks انجام شود یا مایکروسافت اس‌کیوال سرور از براکت‌های مربعی استفاده می‌کند. در زبان Nim کلمه رزرو شده می‌تواند به عنوان یک شناسه با ضمیمه کردن آن در براکت استفاده شود. […] قطع نکردن توسط کامپایلر در ابتدا در کامپایلر، قطع نکردن (unstropping) در طول مرحله بازسازی خط اول رخ می‌داد، که همچنین فضاهای خالی را نیز از بین می‌برد. پس از آن تجزیه و تحلیل بدون اسکنر (بدون نشانه گذاری) دنبال شد که در دهه ۱۹۶۰، برای الگول استاندارد بود. یک امر واضح این است اگر فرد واژگان را به دو مرحله اسکنر و ارزیاب متمایز کند: اسکنر رشته قطع شده(stropped) را در طبقه‌بندی به درستی دسته‌بندی می‌کند و سپس ارزیاب هنگام محاسبه مقدار از تکنیک جدانکردن (unstrops) استفاده می‌کند. به عنوان مثال، در زبانی که زیرخط _ در اول کلمه برای بریدن شناسه‌ها برای جلوگیری از برخورد با کلمات محفوظ استفاده می‌شود، دنباله if_ به عنوان یک شناسه (نه به عنوان کلمه رزرو شده در صورت) توسط اسکنر طبقه‌بندی می‌شود سپس ارزیاب این مقدار را به عنوان نوع-نشانه (شناسه، اگر) مقدار خواهد داد. تکنیک‌های مشابه تعدادی روش مشابه وجود دارند که به‌طور کلی با پیشوند یا پسوند گذاری شناسه، برخوردهای مختلف با آن را نشان دهند ولی از لحاظ مفهوم با یکدیگر متفاوتند. به‌طور دقیق قطع کردن (stropping) متشکل از نمایش‌های مختلف برای یک اسم، در فضاهای نام متفاوت است و در مرحله نشان گذاری کردن رخ می‌دهد. قرارداد نامگذاری ممکن است از قراردادهای نامگذاری برای جلوگیری از تصادم استفاده شود که به صورت معمول از زیرخط پیشوند یا پسوند استفاده می‌شود. زیرخط پیشوندی اغلب برای نشان دادن اعضای خصوصی در برنامه‌نویسی شی گرا استفاده می‌شود. این اسامی ممکن است توسط کامپایلر تفسیر شوند و تأثیراتی داشته باشند، هرچند این کار معمولاً در مرحله تجزیه و تحلیل معنایی انجام می‌شود، نه مرحله نشانه گذاری. | ## بخش 3: قطع‌کردن (برنامه‌نویسی) | به عنوان یک کلمه محفوظ، رشته foo__ شناسه foo__ را در فضای نام شناسه مشترک نشان می‌دهد. این مسئله همان مشکل برخورد فضای نام را به گونه‌ای حل می‌کند که برای یک برنامه‌نویس نیز یک‌سان است، اما از نظر دستور زبان و اجرای رسمی تفاوت دارد. امضاها یک پدیده نحو مشابه اما از نظر معنایی متفاوت امضاءها هستند که در عوض خصوصیات متغیرها را نشان می‌دهد. توجه داشته باشید تکنیک معناشناختی متغیر را تحت تأثیر قرار می‌دهد، نه نحو بودن این که آیا آن یک شناسه یا کلمه کلیدی است. موازی با زبان انسان قطع کردن (stropping) در زبانهای برنامه‌نویسی رایانه ای مورد استفاده قرار می‌گیرد تا کار کامپایلر (یا به عبارت دقیق تر پارسر) آسانتر شود؛ یعنی در توانایی رایانه‌های نسبتاً کوچک و کند در دسترس در روزهای اولیه محاسبات در قرن بیستم باشد. با این حال، روشهای مشابه برای کمک به درک مطلب برای افراد نیز به‌طور معمول مورد استفاده قرار می‌گیرند. برخی از نمونه‌ها عبارتند از: قرار دادن کلمات مهم به صورت پررنگ، مانند ذکر کردن روش‌های قطع کردن در بالای این صفحه، زیرا تعریف بریدن، هدف اصلی صفحه است. فرمت بندی کلمات جدید در به سبک خوابیده هنگامی که برای اولین بار در متن معرفی می‌شوند. این روش معمولاً در داستانهای علمی و تخیلی هنگام معرفی گیاهان، غذاها و موجودات اختراع شده استفاده می‌شود؛ در سفرنامه و نوشتارهای تاریخی هنگام توصیف کلمات بیگانه ناآشنا و مانند آن. همچنین با استفاده از یک فونت مخصوص که در صورت ممکن مخصوص زبان مورد نظر باشد، برای مثال استفاده فونت Gothic برای کلمات آلمانی. استفاده از یک زبان دیگر، به‌طور معمول لاتین یا یونانی برای نشان دادن اصطلاحات فنی. این شبیه به استفاده از کلمات رزرو شده‌است، اما معمولاً برای کمک به خوانایی، با متن به سبک خوابیده ترکیب می‌شود. مثلا: نام علمی معمولی یا «نامهای لاتین» گیاهان و حیوانات به خواننده کمک می‌کند تا ببیند که سینه‌سرخ اروپایی نام فنی ویژه رابین اروپایی است، به گونه ای که سینه‌سرخ اروپایی نمی‌تواند این منظور را برساند. بسیاری از اصطلاحات حقوقی که یک عبارت کوتاه لاتین به یک قانون بزرگ و حقوقی مربوط می‌شود (بیشتر در کشورهای خارجی). | ## جمع‌بندی | منطق و اصطلاحات ریاضی در زبان نوشتار ژاپنی، دو سری حروف نوشتاری مجزا هیراگانا و کاتاکانا، هر دو مجموعه هجاهای یکسانی را نشان می‌دهند، با این حال به ترتیب برای متمایز کردن کلمات ژاپنی واژگان با کلمات خارجی وارداتی به کار می‌روند.