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

محتوای حذف‌شده محتوای افزوده‌شده
FreshmanBot (بحث | مشارکت‌ها)
جز اصلاح فاصله مجازی با استفاده از AWB
FreshmanBot (بحث | مشارکت‌ها)
جز ←‏مولد تحلیل گر لغوی (Lexer Generator): اصلاح نویسه با استفاده از AWB
خط ۱۶۰:
این مولد شکلی از دامنه ی خاص زبان است، مشخصات واژگانی رامی گیرد-به طور کلی عبارت منظم با نشانه گذاری- و lexer را به عنوان خروجی تولید می کند.
 
ابزار عملکرد توسعه ی سریع،که در توسعه ی اولیه بسیار مهم اند، هر دو lexer میگیرند زیرا خصوصیات زبان اغلب ممکن است تغییر کند.در ادامه، آنها اغلب ویژگی های پیشرفته ای را فراهم می کنند ،از جمله شرایط قبل و بعد که برنامه نویسی دستی آنها سخت می باشد. با این حال مولد lexer  اتوماتیک ممکن است عدم انعطاف پذیری داشته باشد،در نتیجه نیاز به تغییر کاربر،یا یک lexer که کاملاکاملاً دستی نوشته شده باشد دارد.
 
عملکرد lexer دارای اهمیت است و بهینه سازی آن ارزشمند و نیازمند صرف وقت می باشد ، به ویژه در زبان های پایدار که lexer در آن ها غالبا اجرا می‌شود ( مانند C و Lexer.(HTMLهای تولید شده با lex/flex ، منطقا سریع هستند، اما بیش تر از دو تا سه بار، بهبود آن، امکان پذیر است. گاهی lexer های دست نویس استفاده می شدند، اما مولد lexer مدرن اغلب lexer هایی تولید می کنند که سریع تر از lexer های با دست کدگذاری شده هستند. خانواده ی lex/flex جدول محورند که کارایی کمتری نسب به مولدهای مستقیما کدگذاری شده دارند. با روش دوم مولد با دستور goto مستقیما به جلو می رود . ابزاری مانندre2c موتور هایی که دو تا سه برابر سریع تر از موتورهای flex  می باشد تولید می کند.به طور کلی تجزیه و تحلیل دست نویس دشوار است که روش دوم برای تولید موتورها بهتر است.