No description
  • C 95.3%
  • Makefile 4.4%
  • Shell 0.3%
Find a file
2024-11-25 09:34:47 +00:00
libbuiltins Uniformized header images 2024-11-23 22:33:46 +01:00
libexpand more checks on libexpand 2024-11-11 13:01:22 +00:00
libft@43252b90d4 libft updated 2024-11-17 12:02:35 +00:00
libgnl@8f1dfb1478 fixed libgnl 2024-11-10 17:44:39 +00:00
libht Uniformized header images 2024-11-23 22:33:46 +01:00
liblst@20ed8d22ba liblst updated 2024-10-31 10:40:11 +01:00
libop join consec nl 2024-11-06 14:58:47 +00:00
libpipeline cleaner pipeline code 2024-11-18 15:14:27 +00:00
libprint normed libprint header 2024-10-31 11:58:47 +01:00
libqtoken update_word had an error when checking for reserved words 2024-11-25 09:34:47 +00:00
libred fixed typo (important!) 2024-11-23 21:21:46 +01:00
libscanner Uniformized header images 2024-11-23 22:33:46 +01:00
libscmd Normintte OK 2024-11-23 22:51:36 +01:00
libshbi normed libshbi 2024-10-31 11:39:31 +01:00
libshell Normintte OK 2024-11-23 22:51:36 +01:00
libshparam fixed shparam attributes 2024-11-23 16:26:43 +00:00
libsigctx ctrl+c is ignored while executing 2024-11-23 16:28:22 +00:00
libstrtab updated libstrtab 2024-11-05 13:50:55 +00:00
misc Normintte OK 2024-11-23 22:51:36 +01:00
mk@ab3d20c0f6 updated mk 2024-11-23 22:31:24 +01:00
test_scripts added test script for local ass 2024-11-23 16:36:32 +00:00
.gitignore updated gitignore 2024-11-23 22:32:13 +01:00
.gitmodules set .gitmodules to point on a different branch of libgnl 2024-10-31 11:50:19 +01:00
eval.pdf ???? 2024-11-16 16:20:51 +01:00
Makefile Cleaner Makefile 2024-11-23 22:44:07 +01:00
mish.c normed_op 2024-10-21 08:46:13 +00:00
readme.md advancing readme 2024-11-23 22:29:15 +01:00
tofix.md todo: check tofix.md 2024-11-22 11:11:26 +00:00

Description

An overkill implementation of the infamous 42 School Minishell project.

We call it Mish.

Status

Work in progress.

Many things are not implemented, but everything else works.

Goal

A fully compliant POSIX shell with readable and customizable source code.

Coding Style

The core of the project is coded in a stricter version of The Norm V4.

If you want to contribute your code has to be compatible with our source code.

For instance you:

  • must write at most 80 character par line;
  • must write at most 5 function definitions par .c file;
  • should never define a function that takes more than 4 arguments;
  • should never decalre more than 5 variables inside a function;

But you also:

  • must define exactly 1 non-static function par .c file;
  • must define such function inside a .c file named like the function itself;
  • must define such functions inside a static library;
  • must name each library folder with a lib prefix (eg. lib<libname>);
  • must name all non-static functions in the library with a <libname>_ prefix;

Libraries

Four levels:

# '0'
libft
libsigctx
libgnl
libstrtab
liblst
libht

# '1' 
libexpand
libqtoken
libshparam
libred

# '2'
libscmd
libpipeline
libop
libprint
libshbi
libbbuiltins

# '3'
libscanner
libshell