parser به معنای تجزیه کننده می باشد. فعل آن to parse (تجزیه کردن)، به معنای آنالیز کردن چیزی از طریقی قانونمند است.
در زبان شناسی، تجزیه کردن به معنای تقسیم کردن کلمات و عبارات به بخش های مختلفی است به ترتیبی که رابطه و معنای آن ها قابل فهم باشد. به عنوان مثال گاهی دانش آموزان، جمله را با تقسیم کردن آن به فاعل و گزاره و سپس به عبارات وابسته، تجزیه می کنند.
تجزیه کردن در علم کامپیوتر
در کامپیوتر، تجزیه کردن به معنای تقسیم کردن عبارات زبان کامپیوتر به بخش هایی است که برای کامپیوتر مفید باشند.
یک تجزیه کننده در کامپایلر برنامه ای است که عباراتی را که توسعه دهنده نوشته است را می گیرد و آن را به بخش هایی تقسیم می کند. (برای مثال آن را به دستورات اصلی، option ها، object های هدف، خصوصیات آن ها و … تقسیم می کند.) که این ها می توانند در فعالیت های گسترده آینده، برای ایجاد دستورالعمل هایی که یک برنامه اجرایی را می سازند، مفید باشند.
تجزیه کننده، ساختار داده ها را بر اساس token ها (نشانه ها) می سازد و کامپایلرها، مفسرها و مترجم ها می توانند با استفاده از این ساختار داده، یک برنامه اجرایی یا کتابخانه را بسازند.
به عنوان مثال نشانه ها در HTML شامل موارد زیر می شوند:
- تگ های باز و بسته
- نام ویژگی ها و مقادیر آن ها
به طور دقیق تر، در علم کامپیوتر، تجزیه کردن به معنای آنالیز متن و تعیین آن است که آیا این متن به زبان خاصی تعلق دارد یا خیر. (یعنی با توجه به قواعد نحو، در گرامر زبان خاصی معتبر است یا خیر). تجزیه کردن یک نام غیررسمی برای مرحله آنالیز نحوی می باشد.
برای مثال زبان
na
nرا در نظر بگیرید. یک parser (تجزیه کننده) می بایست مقدار b
aabb
را بپذیرد و مقدار aaab
را رد کند. این کاری است که یک تجزیه کننده انجام می دهد. بعلاوه در طول این پردازش می توان ساختار داده برای مراحل بعدی ایجاد کرد. در این مثال می توانیم مقادیر aa
وbb
را در دو stack جداگانه ذخیره کنیم. کارهایی که بعد از این انجام می شود، مثل معنا دادن به aa
وbb
یا انتقال آن ها به جای دیگر، شامل تجزیه کردن نمی شود.
انتقال A
به B
کاری است که کامپایلر انجام می دهد. کامپایل کردن مراحل زیادی دارد که تجزیه کردن، یکی از آن هاست. همچنین تجزیه کردن به معنای استخراج معنای یک متن نیست، استخراج معنای یک متن، یک آنالیز معنایی است (semantic) که یکی از مراحل کامپایل می باشد.
دیدگاه بگذارید