Jan 2025
20 Mon
21 Tue
22 Wed
23 Thu
24 Fri
25 Sat 10:30 AM – 01:30 PM IST
26 Sun
The agenda for this talk will be divided in three sections as follows:
Understanding the basics of a compiler architecture/frontend/backend design. We will cover Cranelift (https://cranelift.dev/) here and understand why it exists/importance to the compiler/Rust ecosystem.
We will take a brief detour to talk about and understand PEG parsers. (https://en.wikipedia.org/wiki/Parsing_expression_grammar). We will see how one can use PEG for parsing and then parse a simple language, Brainfuck (https://esolangs.org/wiki/Brainfuck). Rust crate (https://pest.rs/) will be used here.
Having used PEG parser to parse a toy language like Brainfuck, we will then use Cranelift to compile and run a Brainfuck program. In the process, we will see how one makes the transition from an Abstract Syntax Tree (AST) to compiled/object code.
While we will try to make the material as accessible as possible, some familiarity with the concept of compiled vs interpreted languages and parsers will be assumed.
Expected runtime: 90 minutes
Hosted by
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}