write a compiler
Write a compiler for a new programming language.
старт:
3 бер. 2025 р.
18 занять + 8 QA сесій
240 $/міс
10% донатимо ЗСУ
про курс
Курс є проєктно-орієнтованим, що дозволяє глибоко осягнути всі аспекти написання компілятора. Він охоплює низку важливих концепцій, таких як синтаксичний аналіз, оптимізації та керування пам’яттю. Ви глибоко зрозумієте можливості та обмеження сучасних компіляторів, а також те, як їх можна максимально ефективно використовувати. Ці знання важливі не лише для тих, хто прагне стати розробником нових мов програмування, а й для оптимізації будь-яких програм.
навчальний план
буде гаряче
Deep understanding of parsing techniques
Working with lists and trees
Recursion
Text manipulation techniques.
How to to represent a program as a data structure?
Useful design patterns
Data model
Abstract syntax tree—a proper data structure for a program.
Tokenizing text and understanding grammars
Write a recursive descent parser from scratch
Parsing
How do parsing algorithms work?
Compiler optimization techniques based on program transforms
Transformation
Everything about compiler optimization techniques.
Write a static program analyzer that checks the source code for errors
Type checking
Verifying and implementing constraints of types in values.
You'll have your compiler generate code for LLVM and/or WebAssembly
Code generation
You'll have programs that execute at a native speed comparable to C programs.
Register allocation, activation frames, function calls and linkers
Native code
Low-level details of LLVM.
читає
Іван Петрушенко
Engineering Lead y Squad, Founder в CS Osvita.
Former: Dell Software Engineer, Fiverr Senior Software Engineer, Ring Machine Learning Engineer.
Реєстрація. Перший крок за вами
реєстрація
перший крок за вами
Вітаємо, перший крок до курсу зроблено!
Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.
відгуки
що говорять випускники
що на вас чекає
have fun and dive deep
Вівторок, четвер о 18:30, тривалість 1.5 години. Мова викладання — українська. Додаткові матеріали — англійською.
зустрічі в Zoom двічі на тиждень
Ком'юніті для обговорення лекцій та обміну хитрими тестами до задач.
закрита Slack група
Панує атмосфера відкритості, доброзичливості, дисциплінованості та русофобії.