تحلیل واژگانی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Shshj (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
جز v1.42b - اصلاح شده توسط ابزار تمیزکاری> (دارای پوشاننده و هدف پیوند یکسان)
برچسب: WPCleaner
خط ۱۵۵:
[https://dev.havenondemand.com/apis/tokenizetext#overview HPE Haven OnDemand Text Tokenization API] (یک محصول تبلیغاتی با دسترسی رایگان) از مدل سازی مفهوم احتمالات پیشرفته استفاده می کند تا وزنی که جمله در شاخص متن مشخص شده ، دارد را تعیین کند.
 
ابزار [[Lex (software)|Lex]] و کامپایلر آن طراحی شده اند تا کد را برای تحلیل لغوی سریعتر بر مبنای یک توصیف رسمی از نحو لغوی تولید کنند. که این عموما برای برنامه هایی که مجموعه ای پیچیده از قوانین نحوی و نیازمندی های عملکردی شدید دارند، ناکافی در نظر گرفته می شود. به عنوان مثال، ([[GNU Compiler Collection|(GNU Compiler Collection]] (GCC از تحلیل گران لغوی دست نوشته استفاده می کند.
 
== مولد تحلیل گر لغوی (Lexer Generator) ==
خط ۱۹۰:
تحلیل لغوی جریان ورودی از کاراکتر ها را به توکن تبدیل می کند، به سادگی کاراکتر ها را به بخش هایی گروه بندی می کند و آنها را طبقه بندی می کند. با این حال ممکن است که  توکن ها حذف می کنند یا اضافه می کنند. در حذف توکن ها، از جمله فضای خالی وComment ها زمانی که کامپایلر هیچ احتیاجی به انها ندارد، بسیار رایج هستند.  معمولا کمتر ، توکن های اضافه شده ممکن است قرار گرفته شوند. این کار انجام می شود تا توکن ها را به عبارات ، یا عبارات را به بلاک ها  گروه بندی کنند ، تا عمل تجزیه را ساده تر کند.
 
=== ادامهٔ خط (Line continuation) ===
ادامه ی خط یکی از ویژگی های برخی زبان هاست که خط جدید معمولا بعد از پایان جمله است.گاهی اوقات پایان خط با  backslash (فورا به خط جدید می رود) نشان داده می شود که خط قبلی را به این خط متصل می کند. در تحلیل لغوی این کار انجام می شود : backslash  و خط جدید دور انداخته می شوند ، نسبت به خط جدید که توکن سازی می شود. 
 
=== درج نقطه ویرگول (Semicolon insertion) ===
بسیاری از زبان ها از نقطه ویرگول برای پایان جمله استفاده می کنند .که اغلب اجباری است،اما در بعضی زبان ها استفاده از نقطه ویرگول در متن اختیاری است. این کار در مرحله lexerصورت می گیرد. جایی که  lexer یک نقطه ویرگول را به جریانی از توکن ها تبدیل می کند ، با این وجود در جریان ورودی کاراکترها آماده نیست ف که درج نقطه ویرگول یا درج خودکار نقطه ویرگول نامیده می شود. در این مورد،نقطه ویرگول یک عبارت نرمال گرامی از زبان هست، اما ممکن است که به عنوان ورودی نباشد که تحلیل گر لغوی آن را اضافه می کند. نقطه ویرگول اختیاری است یا پایان دهنده یا این که بعضی اوقات به عنوان جداکننده از مرحله ی تجزیه به کار می رود، به ویژه در مورد کامای انتهایی( [[Trailing comma|trailing commas]] ) یا نقطه ویرگول.
 
خط ۲۱۰:
یک مثال پیچیده تر هک تحلیل گر لغوی در C است، که کلاس توکن دنباله ای از کاراکترها تا فاز تحلیل گر معنایی، نمی تواند تعیین شود. اگرچه نام های نوع متغیر از لحاظ لغوی یکسان اند اما کلاس های توکن مختلفی را تشکیل می دهد. بنابراین در این هک، تحلیل گر لغوی تجزیه و تحلیل معنایی را صدا می زند(جدول نمادها) و بررسی می کند که آیا دنباله به یک نام نوع متغیر نیاز دارد یا خیر. در این مورد نباید اطلاعات فقط از تجزیه کننده بازگردد بلکه باید از تحلیلگر معنایی به تحلیل گر لغوی برگردد، که طراحی را پیچیده می کند.
 
== یادداشت ها ==
 
== منابع ==
خط ۲۱۹:
* [http://www.gabormelli.com/RKB/Word_Mention_Segmentation_Task Word Mention Segmentation Task], an analysis
                                                  {{رایانه-خرد}}
 
[[رده:پیاده‌سازی زبان برنامه‌نویسی]]
[[رده:تجزیه‌کننده]]