لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش ساختن مترجم از ابتدا [ویدئو]
Building an Interpreter from Scratch [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
چگونه زبان های برنامه نویسی زیر هود کار می کنند؟ تفاوت بین کامپایلر و مفسر چیست؟ ماشین مجازی و کامپایلر JIT چیست؟ و تفاوت بین برنامه نویسی تابعی و امری چیست؟
در مورد پیاده سازی یک زبان برنامه نویسی سوالات بسیار زیادی وجود دارد!
در این دوره آموزشی با کامپایلرها و مفسرهای AST و ماشین های مجازی آشنا می شویم. ما بیشتر عبارات و متغیرهای اساسی را در مفسرها بررسی خواهیم کرد و در مورد متغیرها و محیط ها خواهیم آموخت. ما همچنین توابع داخلی و بومی، توابع تعریف شده توسط کاربر، پشته تماس و تماس های بازگشتی را بررسی خواهیم کرد. در نهایت، ما در مورد OOP، وراثت کلاس و جداسازی کد یاد خواهیم گرفت.
تا پایان دوره، ما یک مترجم کامل AST را برای زبان برنامه نویسی خود پیاده سازی خواهیم کرد.
همه فایلهای منبع به مخزن GitHub در آدرس زیر اضافه میشوند: https://github.com/PacktPublishing/Building-an-Interpreter-from-Scratch ساخت یک زبان برنامهنویسی از ابتدا
درباره AOT و JIT-compilers و Transpilers بیاموزید
درباره Bytecode، LLVM، stack-machines بیاموزید
درباره پشته تماس و سوابق فعال سازی بیاموزید
درباره مفسرها و کامپایلرها بیاموزید
درباره مترجمان AST و ماشین های مجازی بیاموزید این کلاس برای هر مهندس کنجکاویی است که می خواهد در ساختن سیستم های پیچیده مهارت کسب کند (و ساخت یک زبان برنامه نویسی واقعاً یک کار مهندسی بسیار پیشرفته است!) و دانش قابل انتقال برای ساخت چنین سیستم هایی را به دست آورد.
اگر به طور خاص به کامپایلرها، مفسرها و ابزارهای تبدیل کد منبع علاقه دارید، این کلاس نیز برای شما مناسب است.
تنها پیش نیاز این کلاس ساختارهای داده و الگوریتم های پایه است: درختان، لیست ها، پیمایش. با عبارات و متغیرهای پایه در مفسر آشنا شوید * با توابع و برنامه نویسی تابعی آشنا شوید * در مورد برنامه نویسی شی گرا بیاموزید
سرفصل ها و درس ها
دوره خرابی کامپایلرها
Compilers Crash Course
تجزیه کننده ها، AST ها، مترجمان و کامپایلرها
Parsers, ASTs, Interpreters, and Compilers
مترجمان AST و ماشین های مجازی
AST Interpreters and Virtual Machines
مترجمان: عبارات اساسی و متغیرها
Interpreters: Basic Expressions and Variables
زبان برنامه نویسی EVA
EVA Programming Language
عبارات خود ارزیابی
Self-Evaluating Expressions
متغیرها و محیط ها
Variables and Environments
بلوک ها: گروه های بیان و حوزه های تودرتو
Blocks: Expression Groups and Nested Scopes
جریان کنترل: عبارات If و while
Control Flow: If and While Expressions
بازگشت به تجزیه کننده ها: S-Expression به AST
Back to Parsers: S-Expression to AST
توابع و برنامه نویسی تابعی
Functions and Functional Programming
توابع داخلی و داخلی
Built-In and Native Functions
توابع تعریف شده توسط کاربر، سوابق فعال سازی و بسته شدن
User-Defined Functions, Activation Records, and Closures
توابع لامبدا و برنامه نویسی تابعی
Lambda Functions and Functional Programming
Call-Stack و تماس های بازگشتی
Call-Stack and Recursive Calls
Syntactic Sugar: Switch, For, Inc, Dec Operators
Syntactic Sugar: Switch, For, Inc, Dec Operators
برنامه نویسی شی گرا
Object-Oriented Programming
اوا شی گرا: کلاس ها
Object-Oriented Eva: Classes
ارث بری کلاس و فراخوانی
Class Inheritance and Super Calls
جداسازی کد: ماژول ها و واردات
Code Isolation: Modules and Imports
اجرایی نهایی و مشخصات
Final Executable and Specification
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
دیمیتری سوشنیکوف یک مهندس نرم افزار و مدرس در موضوعات مختلف علوم کامپیوتر است. او علاقه زیادی به آموزش دارد و بر محتوای آموزشی با کیفیت بالا تمرکز می کند: سخنرانی های متحرک مختصر و مستقیم با یادداشت های ویرایش زنده.
نمایش نظرات