/ue-os-project

UE - Systèmes d'exploitation | Projet SHELL

Primary LanguageC

SHELL Project

CI for OS-Project

Based on C99 & Linux.
Maintainer: Sébastien HUG DE LARAUZE (GitHub)
Referent: Eric TOTEL (IMT Atlantique)

Usages

  • To execute the shell, use make run_shell

It will install the shell at the top of the directory
TIPS: You can use ./shell -d to enable debug output inside the project

  • To build the project, you can use the makefile task shell:

    $ make shell
    gcc ...
    

    Will produce an executable called shell

  • To clean the project afterward, use the task clean or realclean:

    $ make clean
    rm ...
    

Shell specifications

See SPECIFICATIONS file.

Test specifications

See SPECIFICATIONS-TEST file.

Process

  1. Lexical analysis (:heavy_check_mark:)
    • Flex file: Recognize all tokens
    • Bison file: Dummy logic (Accept all tokens)
      • Action: Display tokens
  2. Syntax analysis (:heavy_check_mark:)
    • Bison file: Write complete grammar
      • Action: Display token reduction
  3. Semantic analysis (:heavy_check_mark:)
    • Build/Calculate useful data
  4. Error recovery (:construction:)

📝 Notes

Sources:

Files of interest:

> grammar.y         // Parser (GNU Bison)
> syntax.flex       // Scanner (Flex)
> shell.c           // SHELL program (source)
> shell.h           // SHELL program (header)

Documentations:

Regular expression:

Tutorials:

Others: