Kylian Nézan
·
← Retour
2025 TERMINÉ

42sh

Shell POSIX en C écrit de zéro façon Bash : lexer, parser, AST et exécution complète, avec implémentation maison des expansions (variables, globbing, arithmétique).

CPOSIXSHELLASTPARSING

STACK

CGNU AutotoolsPOSIXMake

POINTS CLÉS

  • Front-end complet : lexer et parser récursif descendant écrits à la main, AST avec pretty-printer reparsable pour le débogage, build via GNU Autotools.
  • Constructions de contrôle : if/else, while, until, for, case, fonctions, blocs et sous-shells, listes et pipelines.
  • Expansions et quoting : variables, substitution de commandes, arithmétique, tilde, globbing, field splitting — toutes implémentées à la main (les helpers libc dédiés étaient interdits par le sujet).
  • Redirections complètes (toutes les variantes, here-documents inclus) et opérateurs logiques && / ||.
  • Builtins essentiels (cd, export, unset, alias, exit, echo, sourcing, break/continue) et testsuite fonctionnelle différentielle contre bash --posix ; descripteurs de fichiers gérés strictement, zéro fuite mémoire.