زبان نشانه گذاری چیست و چه امکاناتی دارد؟
زبان نشانه‌گذاری
یک زبان نشانه گذاری، یک زبان ساختگی است که با استفاده از یک مجموعه از حاشیه نویس‌های متن که دستورهایی را در مورد ساختار متن یا چگونگی نمایش آن ارائه می‌دهد. زبان‌های نشانه‌گذاری برای قرن‌ها در حال استفاده بوده‌اند و در سالهای اخیر در رایانه‌ها در سیستم‌های حروف‌چینی و پردازش واژه‌ها استفاده شده‌اند.
شناسه (زبان‌های کامپیوتری)
اینکه کدام توالی از کاراکترها شناسه‌ها را تشکیل می‌دهد، به دستور لغوی زبان بستگی دارد. یک قانون رایج، دنباله‌های حرفی عددی است، که استفاده از زیرخط نیز در آن مجاز است (در برخی زبان‌ها، _ مجاز نیست)، و این شرط را هم دارد که نمی‌تواند با یک رقم شروع شود (برای ساده‌تر کردن واژگان با اجتناب از اشتباه گرفتن با لفظ اعداد صحیح) – پس codice_1 مجاز هستند، اما codice_2 نیست - این تعریفی است که در نسخه‌های قبلی C و C++، Python و بسیاری از زبان‌های دیگر استفاده می‌شود. نسخه‌های بعدی این زبان‌ها، همراه با بسیاری از زبان‌های مدرن دیگر، از کاراکترهای یونیکد بیشتری در یک شناسه پشتیبانی می‌کنند. با این حال، یک محدودیت رایج اجازه ندادن کاراکترهای فضای خالی و عملگرهای زبان است. این کار توکن‌سازی را با مستقل از فرم و مستقل از متن کردن ساده می‌کند. به عنوان مثال، منع codice_3 در شناسه‌ها به دلیل استفاده از آن به عنوان یک عملیات باینری به این معنی است که codice_4 و codice_5 می‌توانند به‌طور یکسان تبدیل به توکن بشوند، در حالی که اگر codice_3 مجاز بود، codice_4 به‌جای جمع، یک شناسه محسوب می‌شد. فضای سفید در شناسه به ویژه مشکل‌ساز می‌شود، زیرا اگر فاصله در شناسه‌ها مجاز باشد، عبارتی مانند codice_8 با codice_9 به عنوان یک شناسه، قانونی است درحالی که نشانه‌گذاری آن مستلزم بافت عبارتی بودن در شرط if است. با این حال برخی از زبان‌ها فاصله‌ها را در شناسه‌ها مجاز می‌شمارند، مانند ALGOL 68 و برخی از انواع ALGOL - برای مثال، این عبارت معتبر است: codice_10 که می‌تواند به عنوان codice_11 وارد شود (کلمات کلیدی به صورت پررنگ، مشخصا از طریق stropping نشان داده می‌شوند). در ALGOL این امکان‌پذیر بود زیرا کلمات کلیدی از نظر نحوی متمایز می‌شوند، بنابراین خطر برخورد یا ابهام وجود ندارد، فضاها در فاز بازسازی خط حذف می‌شوند و منبع از طریق تجزیه بدون اسکنر پردازش می‌شود، بنابراین واژگان می‌تواند حساس به متن باشند.