ترجمه نحوی
ترجمه نحوی به کار رفته به روشی برای اجرای کامپایلر اطلاق میشود که ترجمه زبان مبدأ کاملاً توسط تجزیه کننده هدایت میشود.
روش متداول ترجمه به کار رفته در نحو ترجمه با استفاده از یک عمل مشابه به هر قاعده گرامر، ترجمه رشتهای به دنباله ای از actionها است.[۱] بنابراین، تجزیه رشتهای از گرامر دنباله ای از برنامههای قانون را تولید میکند. SDT روشی ساده برای پیوند معنایی(semantic) با هرگونه نحو(syntax) ارائه میدهد.
بررسی اجمالی[ویرایش]
ترجمه به کار رفته در نحو اساساً با افزودن اقدامات(actions) به تولیدات در یک زبان مستقل از متن(context free grammar) کار میکند، و در نتیجه تعریف مستقیم با نحو (SDD) انجام میشود.[۲] اقدامات مراحل یا فرایندهایی هستند که در صورت استفاده از تولید در مشتق، مراحل انجام خواهد گرفت. یک خصوصیات دستور زبان که با عملکردهایی که باید انجام شود، انجام میشود، یک طرح ترجمه به کار رفته با نحو[۱] (که گاهی برای سادگی «شمای ترجمه» خوانده میشود) گفته میشود.
هر نماد موجود در گرامر میتواند یک ویژگی داشته باشد، این یک مقدار است که با آن نماد در ارتباط است. ویژگیهای مشترک میتواند شامل یک نوع متغیر، مقدار یک عبارت و غیره باشد. به عنوان مثال اگر نماد X دارای ویژگی t باشد به وسیلهٔ X.t به آن ارجاع داده میشود.
بنابراین، با توجه به اقدامات و ویژگیها، دستور زبان میتواند برای ترجمه رشتهها از زبان آن با اعمال اعمال و حمل اطلاعات از طریق ویژگی هر نماد (symbol) مورد استفاده قرار گیرد.
متا-کامپایلرهای اولیه از اصطلاحات ترجمه نحوی محور و نحو کارگردانی در توضیحات خود استفاده میکنند. آنها برای خروجی گرفتن از کد از ویژگیهای زبان metaprogramming استفاده میکنند.
جستارهای وابسته[ویرایش]
- گرامر صفت
- ↑ ۱٫۰ ۱٫۱ Gurari, Eitan M. "Syntax-Directed Translation Schemes (SDTS's)". Archived from the original on 28 July 2012.
- ↑ Aho, Alfred V. Compilers: Principles, Techniques, & Tools. Boston: Pearson/Addison Wesley, 2007.