\doxysection{src/parsing.c File Reference} \hypertarget{parsing_8c}{}\label{parsing_8c}\index{src/parsing.c@{src/parsing.c}} {\ttfamily \#include "{}parsing.\+h"{}}\newline {\ttfamily \#include "{}const.\+h"{}}\newline {\ttfamily \#include "{}exec.\+h"{}}\newline {\ttfamily \#include $<$stdio.\+h$>$}\newline {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$string.\+h$>$}\newline {\ttfamily \#include $<$unistd.\+h$>$}\newline Include dependency graph for parsing.\+c\+: % FIG 0 \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}{read\+\_\+line}} () \begin{DoxyCompactList}\small\item\em Attend que l\textquotesingle{}utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi. \end{DoxyCompactList}\item char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}{split\+\_\+line}} (char \texorpdfstring{$\ast$}{*}line) \begin{DoxyCompactList}\small\item\em Sépare une ligne par des espaces (pour la ligne "{}ls -\/l"{} ça va renvoyer \{"{}ls"{}, "{}-\/l"{}\}) \end{DoxyCompactList}\item void \mbox{\hyperlink{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97}{shell\+\_\+loop}} (void) \begin{DoxyCompactList}\small\item\em La boucle du shell, elle consiste en trois étapes \+: \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Function Documentation} \Hypertarget{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}\label{parsing_8c_a9e35a75d71f9fc522c563668fbbec457} \index{parsing.c@{parsing.c}!read\_line@{read\_line}} \index{read\_line@{read\_line}!parsing.c@{parsing.c}} \doxysubsubsection{\texorpdfstring{read\_line()}{read\_line()}} {\footnotesize\ttfamily char \texorpdfstring{$\ast$}{*} read\+\_\+line (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Attend que l\textquotesingle{}utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi. \begin{DoxyReturn}{Returns} La ligne écrite par l\textquotesingle{}utilisateur \end{DoxyReturn} \Hypertarget{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97}\label{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97} \index{parsing.c@{parsing.c}!shell\_loop@{shell\_loop}} \index{shell\_loop@{shell\_loop}!parsing.c@{parsing.c}} \doxysubsubsection{\texorpdfstring{shell\_loop()}{shell\_loop()}} {\footnotesize\ttfamily void shell\+\_\+loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} La boucle du shell, elle consiste en trois étapes \+: \begin{DoxyItemize} \item Quand l\textquotesingle{}utilisateur appui sur entrer pour récupérer son entrée standard \item Parser la ligne en fonction de ses espaces \item Exécuter la commande demandée \begin{DoxySeeAlso}{See also} char\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}{read\+\_\+line()} char\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}{split\+\_\+line(char \texorpdfstring{$\ast$}{*}line)} int \doxylink{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}{execute\+\_\+cmd(char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)} \end{DoxySeeAlso} \end{DoxyItemize}\Hypertarget{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}\label{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa} \index{parsing.c@{parsing.c}!split\_line@{split\_line}} \index{split\_line@{split\_line}!parsing.c@{parsing.c}} \doxysubsubsection{\texorpdfstring{split\_line()}{split\_line()}} {\footnotesize\ttfamily char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} split\+\_\+line (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{line }\end{DoxyParamCaption})} Sépare une ligne par des espaces (pour la ligne "{}ls -\/l"{} ça va renvoyer \{"{}ls"{}, "{}-\/l"{}\}) \begin{DoxyParams}{Parameters} {\em char} & \texorpdfstring{$\ast$}{*}line la ligne à parser \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} la liste des arguments de la commande \end{DoxyReturn}