NatA Lang is an educational language and compiler built in C to explore reader, scanner, and parser stages using formal models like REs and BNF.
-
Updated
May 25, 2025 - C
A grammar describes the syntax of a programming language, and might be defined in Backus-Naur form (BNF). A lexer performs lexical analysis, turning text into tokens. A parser takes tokens and builds a data structure like an abstract syntax tree (AST). The parser is concerned with context: does the sequence of tokens fit the grammar? A compiler is a combined lexer and parser, built for a specific grammar.
NatA Lang is an educational language and compiler built in C to explore reader, scanner, and parser stages using formal models like REs and BNF.
🐚 A fully functional mini shell written in C as part of the 42 school curriculum. Implements key shell features like built-in commands, pipelines, redirections (<, >, >>, <<), and environment variable expansion. Designed to mimic basic Bash behavior while exploring process creation, parsing, file descriptors, and terminal signal handling.
A bash-inspired shell interpreter with pipes, redirections, built-ins, logical operators, and signal handling. Built in C for 42 school.
A minimalist mimick of bash, rewritten from scratch with UNIX system libraries. Another project at school 42
My first attemp to write a sqlite3 clone. It's just an experimental attempt to understand RDBMS. Never use it in any production.
A lexer for mathematical expressions in C
A POSIX regex utilities library for C