طراحی زبان برنامهنویسی خود و کامپایلر آن - بخش 1
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- توسعه یک مفسر با استفاده از برنامهنویسی جاوااسکریپت و react js
- درک مراحل لکسیکال، تجزیه کردن و ارزیابی تجزیهگر
- ایجاد محیط REPL و IDE اشکالزدایی برای کار با مفسر
- توسعه مفسر برای یک زبان برنامهنویسی سفارشی
- تسلط به مباحث پیشرفته کامپایلر مانند Closures و وراثت کلاسها
پیشنیازهای دوره
- تجربه اولیه در برنامهنویسی با جاوااسکریپت و react js
توضیحات دوره
به دنیای هیجانانگیز فناوری مفسر و کامپایلر خوش آمدید! آیا آمادهاید تا مهارتهای برنامهنویسی خود را به سطح جدیدی ببرید؟ دیگر نیازی به جستجو نیست، زیرا دوره جدید ما در یودمی همه مواردی که برای غوطهور شدن در دنیای هیجانانگیز توسعه زبان برنامهنویسی نیاز دارید را در خود دارد.
در این دوره، ما شما را در ایجاد مفسر یا کامپایلر خود برای یک زبان برنامهنویسی خود تعریف شده به نام DragonScript راهنمایی خواهیم کرد. اما چرا باید به این سفر بپردازید؟ بیایید به جزئیات بپردازیم:
- تقویت مهارتهای کدنویسی شما - یادگیری فناوری مفسر یا کامپایلر فقط جذاب نیست، بلکه برای هر برنامهنویسی که میخواهد مهارتهای خود را به سطح بالاتری ببرد، ضروری است. درک نحوه تفسیر یا کامپایل زبانها درهای متعددی را به سوی بینشهای عمیقتر در مفاهیم برنامهنویسی باز میکند و قدرت حل مسئله شما را افزایش میدهد.
- قدرت جاوااسکریپت و React JS - چرا جاوااسکریپت و React JS؟ زیرا اینها فقط برای ساخت وب اپلیکیشنها نیستند. این ابزارهای قدرتمند به دلیل انعطافپذیری، سهولت استفاده و پشتیبانی گستردهای که جامعه از آنها دارد، برای توسعه مفسرها یا کامپایلرها مناسب هستند.
- تعاملپذیر و جذاب - آیا آمادهاید که تجربه یادگیری تعاملی و هیجانانگیز داشته باشید؟ دوره ما به گونهای طراحی شده که شما را از ابتدا تا انتها با پروژههای عملی، آزمونها و مثالهای واقعی مشغول نگه دارد.
- رویکرد گامبهگام و TDD - ما یک رویکرد منظم به یادگیری داریم و شما را گامبهگام از طریق هر مفهوم راهنمایی میکنیم. با تمرکز بر توسعه تست محور (TDD)، شما مهارتهای خود را به روشی ساختاری و آسان دنبال خواهید کرد.
- تأکید بر کدنویسی - آیا آمادهاید که آستینهایتان را بالا بزنید و به کدنویسی بپردازید؟ این دوره تنها در مورد تئوری نیست، بلکه ما به یادگیری عملی اعتقاد داریم. شما زمان زیادی را صرف نوشتن کد، ساخت پروژهها و تقویت مهارتهایتان از طریق تمرینهای عملی خواهید کرد.
- تحلیل الگوریتمهای کامپایلر - الگوریتمهای کامپایلر میتوانند ترسناک به نظر برسند، اما نگران نباشید! ما این مفاهیم پیچیده را به بخشهای قابل هضم تقسیم خواهیم کرد و مثالهای ملموس کدنویسی فراوانی ارائه خواهیم داد. در پایان دوره، شما خواهید دید که چرا آنها را ترسناک میدانستید.
- کشف مفاهیم کلیدی مانند تحلیل لکسیکال و تجزیه گرامر که اساس سفر شما را به سمت توسعه زبان فراهم میکند.
- با مباحث پیشرفته مانند Closures، توابع first-class، مدیریت خطا و وراثت کلاس مهارتهای خود را به سطح بعدی میبرید. به زودی یک استاد کدنویسی خواهید شد!
چه شما توسعهدهنده باتجربه باشید که به دنبال گسترش دانش خود هستید و چه یک تازهکار که مشتاق به یادگیری است، دوره ما برای همه مناسب است. به این سفر هیجانانگیز بپیوندید و اسرار فناوری مفسر و کامپایلر را کشف کنید. هماکنون در دوره شرکت کرده و ساخت زبان برنامهنویسی خود را آغاز کنید.
این دوره برای چه کسانی مناسب است؟
- دانشجویان و توسعهدهندگانی که به طراحی کامپایلر علاقهمندند.
طراحی زبان برنامهنویسی خود و کامپایلر آن - بخش 1
-
خود را آماده کار کنید 04:43
-
درباره مدرس 02:54
-
چگونه از این دوره بیشترین بهره را ببرید؟ 04:06
-
خود را آماده کار کنید 03:53
-
آشنایی با تحلیل لکسیکال 04:35
-
شروع پروژه برای تحلیل لکسیکال 05:42
-
نصب اسکنر و راهاندازی موارد تست 16:55
-
آغاز فرآیند تحلیل لکسیکال و موارد تست گذشته 08:30
-
پایان اسکن برای تمامی عملگرهای تک کاراکتری 22:41
-
اسکن برای عملگری با دو کاراکتر 22:58
-
تحلیل لکسیکال عملگر کامنت 09:28
-
نادیدهگرفتن فاصلهها و شمارش خطوط جدید 07:12
-
مدیریت توکن رشته 14:15
-
مدیریت توکن عددی 21:38
-
تحلیل لکسیکال شناسنده 16:59
-
تحلیل لکسیکال کلمات کلیدی 16:21
-
مدیریت چندین توکن در یک خط 10:39
-
ایجاد شبیهساز ترمینال 16:55
-
آشنایی با اینکه تجزیه در الگوریتم کامپایلر چیست؟ 12:26
-
پیادهسازی تجزیهگر حساب 23:25
-
اشکالزدایی تجزیهگر حساب 14:47
-
راهحل برای تجزیهگر حساب 13:54
-
آشایی با درخت سینتکس انتزاعی 03:38
-
کدنویسی درخت سینتکس انتزاعی - بخش 1 14:59
-
کدنویسی درخت سینتکس انتزاعی - بخش 2 12:00
-
تجزیهگر کاهشی بازگشتی 08:27
-
مقداردهی اولیه کلاس تجزیهگر 12:28
-
افزودن متدهای مدیریت توکن برای تجزیهگر 13:41
-
آغاز پیادهسازی الگوریتم تجزیه 12:48
-
انتقال قواعد گرامری بیشتر به فراخوانی توابع بازگشتی 11:43
-
تکمیل تمامی فراخوانیهای تابع برای گرامر عبارات 06:16
-
تجزیه عبارات با عملگرهای + و - 17:33
-
فعالسازی تجزیه کلمات کلیدی، براکتها و دو عملگر جدید * و / 17:56
-
افزودن پشتیبانی برای عملگر ضرب، تقسیم و براکتها 17:56
-
افزودن پشتیبانی از عملگر مقایسه و برابری 08:27
-
ترسیم درخت تجزیه 13:16
-
کار عملی با الگوی visitor - بخش 1 26:07
-
کار عملی با الگوی visitor - بخش 2 06:04
-
آغاز ارزیابی با استفاده از الگوی visitor و افزودن موارد تست 21:52
-
ارزیابی عبارات با پرانتز 12:47
-
ارزیابی عبارات با عملگر یکانی 16:02
-
تعیین قانون حقیقت و دروغ 07:37
-
ارزیابی عبارات با عملگرهای باینری + و - 25:26
-
ارزیابی عبارات با عملگرهای * و / 11:50
-
ارزیابی روی عملگر مقایسه 09:34
-
ارزیابی روی عملگر برابری 10:28
-
فعالسازی عدد و رشته برای متدهای جمع و ضرب 12:34
-
گزارش خطا برای عملیات با تایپ سازگار 17:12
-
فیکس کردن تنظیم ساختار درخت تجزیه 07:47
-
آشنایی با دستورات 13:48
-
تجزیه و ارزیابی دستور چاپ 29:52
-
رانتایم و ارزیابی چندین خط کد 26:17
-
آشنایی با قواعد گرامری برای تعریف متغیرها 12:26
-
کد برای تجزیه اعلان متغیر 21:15
-
اتصال و مرجع متغیر 15:20
-
قواعد گرامری برای تخصیص متغیر 12:46
-
کد برای تجزیه تخصیص متغیر 13:52
-
تخصیص فقط l-value 09:15
-
ارزیابی دستور تخصیص 23:09
-
تجزیه دستور بلوک 18:02
-
ارزیابی اعلان متغیرها در اسکوپ محلی 24:40
-
موارد تست بیشتر برای اسکوپ متغیر 13:10
-
آشنایی با دستورات کنترل 11:58
-
تجزیه دستور if else 29:39
-
آشنایی با عملگرهای منطقی 16:36
-
ارزیابی دستور if else 13:25
-
تجزیه عملگرهای منطقی 19:23
-
ارزیابی عملگرهای منطقی 20:50
-
تجزیه حلقه while 18:35
-
ارزیابی حلقه while 06:36
-
تجزیه حلقه for 29:23
-
آشنایی با دستورات break و continue 10:17
-
ارزیابی حلقه for 13:01
-
تجزیه دستورات continue و break 18:43
-
ارزیابی دستورات break و continue 27:53
-
معرفی اصول تجزیه فراخوانی تابع 18:38
-
پیادهسازی کد برای تجزیه فراخوانی تابع 20:48
-
اشکالزدایی فرآیند تجزیه فراخوانی تابع 12:38
-
معرفی تجزیه اعلان تابع 21:20
-
پیادهسازی کد برای تجزیه اعلان تابع 14:54
-
اشکالزدایی از کد برای تجزیه اعلان تابع 07:33
-
پیادهسازی کد برای ارزیابی فراخوانی تابع 42:20
-
اشکالزدایی گامبهگام کد برای ارزیابی فراخوانیهای تابع 17:12
-
مدیریت خطاهای مربوط به فراخوانی تابع 22:40
-
تجزیه دستور بازگشت 13:48
-
ارزیابی دستور بازگشت 25:57
-
مطمئن شوید که دستور بازگشت درون بادی تابع قرار دارد 15:30
-
پیادهسازی کد برای فراخوانی تابع بدون نام 22:07
-
اشکالزدایی از تجزیه و ارزیابی تابع بدون نام 16:51
-
آشنایی با مشکل اسکوپبندی و اتصال متغیرها 10:56
-
پیادهسازی کد برای رزولوشن متغیر 57:52
-
اتصال متغیر توسط resolver 14:48
-
اشکالزدایی از کد رزولوشن متغیر 21:48
-
تجزیه تعریف کلاس 24:15
-
مقداردهی اولیه نمونه کلاس 18:53
-
قاعده گرامری برای تنظیم و دریافت ویژگی نمونه 08:09
-
پیادهسازی کد برای دریافت و تنظیم ویژگی نمونه 31:10
-
آشنایی با ارزیابی تنظیم و دریافت ویژگی کلاس 12:18
-
کلونسازی درخت تجزیه کلاس 12:42
-
کد برای تنظیم و دریافت ویژگیهای نمونه کلاس 45:03
-
تجزیه فراخوانی متد به همراه دسترسی به فیلد 43:27
-
تخصیص مقدار به فیلدهای نمونه کلاس 22:32
-
پیادهسازی کد برای کلیدواژه this و فراخوانی متد - بخش 1 26:47
-
پیادهسازی کد برای کلیدواژه this و فراخوانی متد - بخش 2 47:52
-
آشنایی با constructor کلاس 06:19
-
پیادهسازی کد برای constructor کلاس 38:43
-
مدیریت خطا برای کلاس 25:39
مشخصات آموزش
طراحی زبان برنامهنویسی خود و کامپایلر آن - بخش 1
- تاریخ به روز رسانی: 1404/06/21
- سطح دوره:متوسط
- تعداد درس:107
- مدت زمان :30:43:04
- حجم :21.4GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy