From d34936b229fb08d9154cbd3743c9c80322266b7a Mon Sep 17 00:00:00 2001 From: MAO Dongyang Date: Sun, 5 Mar 2023 18:09:01 +0100 Subject: [PATCH] TODO state machine --- .DS_Store | Bin 0 -> 6148 bytes TP1/.DS_Store | Bin 0 -> 6148 bytes TP1/parseur/.vscode/settings.json | 5 +++ TP1/parseur/main.c | 61 ++++++++++++++++++++++++++++++ TP1/parseur/main.h | 18 +++++++++ TP1/read_file/a.out | Bin 0 -> 49600 bytes TP1/read_file/main | Bin 0 -> 49600 bytes 7 files changed, 84 insertions(+) create mode 100644 .DS_Store create mode 100644 TP1/.DS_Store create mode 100644 TP1/parseur/.vscode/settings.json create mode 100644 TP1/parseur/main.c create mode 100644 TP1/parseur/main.h create mode 100755 TP1/read_file/a.out create mode 100755 TP1/read_file/main diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..22434fd4948420472f7e45a9c14f037ee1eeab8a GIT binary patch literal 6148 zcmeHKzi-n(6n>WkdZt3k08+=3Sfi4(RV2jXhIC*-Ev{ey6yi8atvWs{amWxNS?UJ= zO{b0w-Pz#Jf%ooSXsiGuLU2!d_q}^R?(EO@oeuy+XBM>p>Hr{72`e5pKM{(PZb*ea z+lYe3NJgz-pvT!prgQwQ4A8Ty!7hv-hP?dzvS;hDvF>)mM2F~;myP(u`+9v?jz_2ghWLb~P=!-ChSt+W4|rsH4QbTfZ$>C-l@-pX8E0LESrSk4X7h`vRBN|xZ^N|_YUc1>)`v>i1LoFWdp?$F5UM@X(|G~q@&wJ;|IMpA_^@6}}!N^_4 z6?{a4@43XZxO#sRS?781`QrSJ<(cco`iAArXo=&BqItRQT`)-#osQ76x;lzFaSS*H z{#OQgC6KfSIB^U(1{?$H4AAAo%bhcxJ&T6k%q^@s&vj;ahaAW56*`W}s@jb=v=retrHg z7rCBez%lSoF(7K)pxeP);=Og_=4h`~sBck8D6g>iqXZ4J6=N=K#XG1*(67iq^cf3_ S=s|Hm0)__HI0pVG1K$BH7KOwB literal 0 HcmV?d00001 diff --git a/TP1/.DS_Store b/TP1/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6e692bfd0b2b5a70dfe07f2e9f26f370391ca08e GIT binary patch literal 6148 zcmeHK&5qMB5FYQg)M15G36S;}iR%iwKdL}`3EgtwO3-ou6p~HYMx=3+wDeF_%6WMN zUW5nW0pJ3hcn~fyV^2j(1LA~M$Rmxvu|4CT&&oIk05O=x`v6@4kf?;Mt5`G$^^m(@d6=m)o{`o=v)%r#g#wx) zqFGgN#Ji}-(rVJ{eG*&St@f3U?8qJY+#ji#KM5z(Y7mxBsrFc@ELz%Obebl!pnKy) z<&!YYlTrtyae^+-o}_uKW&<_N<4VW+rb9Z?3A(%U`9Z(8=N=yQ7klpf-T~T2hyBIE zkvDJMIerwp%Er06&}#>Qxl_wE#wEN#qk#*PUzsuScGT>(dPdjpemr$P>oaN?Z>)Zv z)1N)p&PsfsbvBIm+As4=<>%PD+!=XVxoiyZ=}5`}RxAUS0n5ND1C$?JR6>ujHmFkv z7WxT**urKlXwwBvF)pLWSR2G16k$RUO{m}}hA`pS?y{f9SQ|9qAo%eicxJ&b6rpFw z@m=i>!ZT<~%YbEIoq=sr?b7}K;P>zU^&nfb3|I#KD+WYs=nn_DCB9oXHb-}@i~0hU qg#2oQIs^;8j~qOL^cZV{*n(nz1T+n{unhcD27Ulu8lV*b literal 0 HcmV?d00001 diff --git a/TP1/parseur/.vscode/settings.json b/TP1/parseur/.vscode/settings.json new file mode 100644 index 0000000..0f06797 --- /dev/null +++ b/TP1/parseur/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "stdio.h": "c" + } +} \ No newline at end of file diff --git a/TP1/parseur/main.c b/TP1/parseur/main.c new file mode 100644 index 0000000..8de73ab --- /dev/null +++ b/TP1/parseur/main.c @@ -0,0 +1,61 @@ +#include +#include "main.h" + +enum Etats curEtat; +FILE *fp; + +void AnalyseFicher(const char *nomFichier) { + fp = fopen(*nomFichier, "rt"); + char c; + while ((c=fgetc(fp)) != EOF) + { + enum EEtat ret = AnalyseProchaineBalise(c); + if (ret == EEtatErreur) { + printf("Error"); + break; + } + if (ret = EEtatTermine){ + + } + } +} + +enum EEtat AnalyseProchaineBalise(char c) { + switch (curEtat) + { + case SEtatDebut: + if (c == '<') { + curEtat = SEtat1; + } + break; + case SEtat1: + if (c == '/') { + curEtat = SEtat2; + } else { + curEtat = SEtat3; + } + break; + case SEtat2: + if (c == '>') { + curEtat = SEtatFin; + } + break; + case SEtat3: + if (c == '>') { + curEtat = SEtatFin; + } + break; + case SEtatFin: + break; + default: + break; + } + +} + +int main() +{ + curEtat = SEtatDebut; + + return 0; +} \ No newline at end of file diff --git a/TP1/parseur/main.h b/TP1/parseur/main.h new file mode 100644 index 0000000..db57cfc --- /dev/null +++ b/TP1/parseur/main.h @@ -0,0 +1,18 @@ +enum Etats +{ + SEtatDebut, + SEtat1, + SEtat2, + SEtat3, + SEtatFin +}; + +enum EEtat +{ + EEtatErreur, + EEtatTermine, + EEtatContinue +}; + +void PileInit(); +void PilePush(); diff --git a/TP1/read_file/a.out b/TP1/read_file/a.out new file mode 100755 index 0000000000000000000000000000000000000000..64ed1b35979b6d618ba4306168a2f3854d23742b GIT binary patch literal 49600 zcmeI*&ubiI7{Kv&^P^3%ZBh?XwaRLZjXmT?iBb>NP3__qOPZP#iXv~byOZq7W;gE6 zYJ*e)vCtxgP!M{wHxCN_1#zWnNDLan51OJJSr_C&Dyb%SJQ8#Uq7j%t&wOg zH?4G?n=;YbiS(I?)+z4#RO^@tYuSp4n$ED+_s;p61rc9w@rc}voVpgC*SaIjUDsje z*O%7T{Cc*wIuu{;(96MkPlhw1I=Y}MTyI-A5UghlUTM~=%2<58v2eYk;e4&teKj`h zFIV%c#qxAGA->*~a6R?a(0YBetSu+3t(V^`mh-k)o~pRI^?7_2uBXpjL+kh&!I|Kw zzk5}hwZ}##M(ismN5_Mwn+n{F^e$q(zHi#}S?N1x?Q~_`W8HGSE}82h6-n2!5v^z0Ok~J^zW+JETARl{D!ek~StyBl-=UtM{PKXsZ~M z>-E}r?3RI~w4Krh>b2@XshAze&z160YdkJZ_i^+7t?Tc zrh9N#Cw95qStf?t56Y;%cTvdmo7Z*p-;4F3zk67ko(tZI1M-?B*7hR%8K0~9-c0|| ze%V(s8(jUYbh`f4M&S8eSgRL-00IagfB*srAb^}(m zi(&u3H_8SOKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#~E9}Dc+Z%*s&?Mdb5N_kuJ>sgyE zmh)cKoT{2dQ%t`8h52YEhZ>%336)n5`DezRn9HVa<*< z&D-ou!FuPsT;2CYSM@mQ8QFSv((3kCIbT@9r|DZ{C=MUM;OV(Idy8e#F(r zEFKB!eZja+b@7ZGrC6;G#_FM1eK=O9Vs*RJ9nw0bZIiZLnrzQ(HZH>^Y3wHVYu)`u Yu7PN187fA88=i`_Zb*3Fo%B8PFZeS-j{pDw literal 0 HcmV?d00001 diff --git a/TP1/read_file/main b/TP1/read_file/main new file mode 100755 index 0000000000000000000000000000000000000000..64ed1b35979b6d618ba4306168a2f3854d23742b GIT binary patch literal 49600 zcmeI*&ubiI7{Kv&^P^3%ZBh?XwaRLZjXmT?iBb>NP3__qOPZP#iXv~byOZq7W;gE6 zYJ*e)vCtxgP!M{wHxCN_1#zWnNDLan51OJJSr_C&Dyb%SJQ8#Uq7j%t&wOg zH?4G?n=;YbiS(I?)+z4#RO^@tYuSp4n$ED+_s;p61rc9w@rc}voVpgC*SaIjUDsje z*O%7T{Cc*wIuu{;(96MkPlhw1I=Y}MTyI-A5UghlUTM~=%2<58v2eYk;e4&teKj`h zFIV%c#qxAGA->*~a6R?a(0YBetSu+3t(V^`mh-k)o~pRI^?7_2uBXpjL+kh&!I|Kw zzk5}hwZ}##M(ismN5_Mwn+n{F^e$q(zHi#}S?N1x?Q~_`W8HGSE}82h6-n2!5v^z0Ok~J^zW+JETARl{D!ek~StyBl-=UtM{PKXsZ~M z>-E}r?3RI~w4Krh>b2@XshAze&z160YdkJZ_i^+7t?Tc zrh9N#Cw95qStf?t56Y;%cTvdmo7Z*p-;4F3zk67ko(tZI1M-?B*7hR%8K0~9-c0|| ze%V(s8(jUYbh`f4M&S8eSgRL-00IagfB*srAb^}(m zi(&u3H_8SOKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#~E9}Dc+Z%*s&?Mdb5N_kuJ>sgyE zmh)cKoT{2dQ%t`8h52YEhZ>%336)n5`DezRn9HVa<*< z&D-ou!FuPsT;2CYSM@mQ8QFSv((3kCIbT@9r|DZ{C=MUM;OV(Idy8e#F(r zEFKB!eZja+b@7ZGrC6;G#_FM1eK=O9Vs*RJ9nw0bZIiZLnrzQ(HZH>^Y3wHVYu)`u Yu7PN187fA88=i`_Zb*3Fo%B8PFZeS-j{pDw literal 0 HcmV?d00001