42sh

C

Python

42sh est un projet de groupe (4 personnes) qui consiste à développer un interpréteur de commandes respectant les normes Bash POSIX.
L'interpréteur a été implémenté à partir de zéro en utilisant le langage C.

Pour cela, plusieurs étapes ont été nécessaires, notamment la réalisation d'un lexer, d'un parser, la construction d'un AST (arbre syntaxique abstrait), et l'exécution de la/les commandes.

De plus, plusieurs fonctions de base ont également été recréées (builtins) pour permettre une utilisation avancée de l'interpréteur.

Enfin, une testsuite a été développée en Python. Celle-ci permet de tester le projet efficacement, et d'éviter les régressions lors d'ajouts de nouvelles fonctionnalités.

Images