From 040b45501a514d297d66cf186c868211a72c103f Mon Sep 17 00:00:00 2001 From: Mysaa Date: Mon, 24 May 2021 18:39:20 +0200 Subject: [PATCH] =?UTF-8?q?Premier=20commit=20-=20inclusion=20dans=20le=20?= =?UTF-8?q?syst=C3=A8me=20git?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + LeBernard.uml | 265 ++++++++++++++++++ bernard1.bernard | 9 + class diagram.png | Bin 0 -> 14211 bytes src/com/bernard/lebernard/MainDeDieu.java | 28 ++ src/com/bernard/lebernard/carte/Boiboite.java | 5 + src/com/bernard/lebernard/carte/Fonction.java | 7 + .../lebernard/carte/FonctionComplexe.java | 73 +++++ .../bernard/lebernard/carte/FonctionHard.java | 5 + .../bernard/lebernard/lecteur/Lecteur.java | 13 + .../bernard/lebernard/runtime/Arguments.java | 26 ++ .../lebernard/runtime/Referencateur.java | 25 ++ src/com/bernard/lebernard/runtime/Truc.java | 27 ++ src/module-info.java | 9 + 14 files changed, 496 insertions(+) create mode 100644 .gitignore create mode 100644 LeBernard.uml create mode 100644 bernard1.bernard create mode 100644 class diagram.png create mode 100644 src/com/bernard/lebernard/MainDeDieu.java create mode 100644 src/com/bernard/lebernard/carte/Boiboite.java create mode 100644 src/com/bernard/lebernard/carte/Fonction.java create mode 100644 src/com/bernard/lebernard/carte/FonctionComplexe.java create mode 100644 src/com/bernard/lebernard/carte/FonctionHard.java create mode 100644 src/com/bernard/lebernard/lecteur/Lecteur.java create mode 100644 src/com/bernard/lebernard/runtime/Arguments.java create mode 100644 src/com/bernard/lebernard/runtime/Referencateur.java create mode 100644 src/com/bernard/lebernard/runtime/Truc.java create mode 100644 src/module-info.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e108870 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.classpath +.project +.settings +bin/ diff --git a/LeBernard.uml b/LeBernard.uml new file mode 100644 index 0000000..a34d1c7 --- /dev/null +++ b/LeBernard.uml @@ -0,0 +1,265 @@ + + + + + umbrello uml modeller http://umbrello.kde.org + 1.6.10 + UnicodeUTF8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bernard1.bernard b/bernard1.bernard new file mode 100644 index 0000000..571ce21 --- /dev/null +++ b/bernard1.bernard @@ -0,0 +1,9 @@ +difficulté = demander('quelle difficulté ?') +àDeviner = random(entier,[0;difficulté]) +jusqu'à (réponse = àDeviner){ + réponse = demander("Votre proposition ?") + Si réponse < àDeviner, dire("C'est plus") + Sinon, dire ("C'est moins") +} +dire("Félicitation! Tu as perdu $System.execTime secondes de ta vie (mais avec succès)") +# Ceci est la fin du programme diff --git a/class diagram.png b/class diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6f426601b2d14983bda278fc2bded2eb461aab46 GIT binary patch literal 14211 zcmeAS@N?(olHy`uVBq!ia0y~yU{YsbV07YOVqjoc`uNp91_lPs0*}aI1_r((Aj~*b zn@^g7L4m>3#WAE}&fB}yF;i0i{r`BqAfWMpu;SB2iYv2crin#n-)ijf)l5}1n5v_= zIo3G)wnw>j&HkO+es4aT`@1a4TiJwvsp`wLTUi&QR&shR(v&l{X>#`~nsHyg_&vj6 zhDB#M@0~wxQ^WH;=6Lm--^SN#H+D?C6qL7i4W#IsUP&XL>s7L?~N^I=@E z>e2W8>MAVp@j*c`w;IFzlVt@z<~%=F_=My3wu#f+`sLo-I5<%`B!of6^3cj)hRn=8 ze~gUNCQLZsZ@+Wf-nDZV^>u7vnXGP{BXOWl_Nw$+_4}JP^_Vm^y0}>EEevWtx1rO+ z`@!>c8%{2!6X(*7a-ExJYWD3N?}il4qeuUIXx6@^{(tETWhLEHz2=wJ%lq3NeRGqA zMM8S=WKRzT%b5)f^J=dxeVhH&XP0+~i%rAHl7HV{&p12B!g0CZw%gv`mX(wAVzcfS zWnGG0&dgKX4n3C->*Nvz_E9FK;+4<*NqdI=GWib<0~x4AU~Hsb7|BI&lwj2)O;9z{7kp| zFQc#THz(l`3lnqX=C)qx%Fn(^$~)g#@yR_o%>VLAr(yDkZ|nT_m+4l2H%ewxb}xD- zGr#WCx3@eJ2kw?jhyM9vEMM1g(#44>cGrz*%1XTk%{Sll^`G*(bouAq_cJUe{``Di z+dETJQu4`D%f*$Ekzd}Qe|2@;{Xp?g44WTYe6PQ9=S96bq5dgU-!Dd*ZRPNgEhZ(BP0Jj5F%&o1*ywi-=?>V$|`ls{tMyXu?{<&36?mXo5?H%inm+EKIy1FCx z%ut{ApiR2x!q@Hl1qB^LMbnIz``^}FzGKGiyv5n!RwWPq|J^V49qg{X>o(^|&aXdb zeE!4w`j7v9zq#4m&u?9RX{+|VdnGRpEb*LiHs^*zh6cZ#M}|i6GXYs%gJiaa3uWxj zU0GT3&L=>ivvZCeZ$Ow^jm_KJ#rJE!ygI7f&#;wirs3gjT-iejaKy_>BgdYWu&u`0RY-*0&H|Oo`$~T7hY9@buZCT!@ z?0#cg?-rB1y;CDMGfbNF<45u|{q%1+|9*u}(@Q-m^zV5+!@cT$e)}i-^$-93zPa_Z zMc)-26{}kyuPssvTYv0$`~830cFk4y-;^PEy#Mnt=_N})p3*)u_w=sPKcDCC`8w_L zx3Jfy83NwZHl*`!-1z4qf3FH3$AVQ|XJ=cM^<=MKx~glY@z3Y>o!zU=PjAbODP*nx z!K|u!Y+CmE)XQpSxk<0X_Wix)XL-N&_@$*i5{~oj&dj{*^H(I(@y?gJxqfpQ`easa zEj-TW)_3Ig>~C)w`Q(;lhc}#@+tfl#NBHBzrPGqI6glQ&zCXpTjA3vM@vG8*L^bYNvFOMfZ@%Z<{eVPAq zZ*jf7Q+jxo`K6u|>XUu^qfkue!N%h~m*X4e&;Ph2*1Dngw?#oi++K!j>r`##D7$xb zGVXY#)$skkx=PFD^z5q{noIU+HR$hua?bkZj)`)%tIVVLwAF;ujQ3VE*L)S7IPuNB z*uQUg9NkoMoA*v3`+>LHnR(=L=G^Y-GP?IjP`Sr3cedG@=-GpOh&E^c7Jg*$&X-(Oyg&cl-N>z{>elheN|<()-+#JlwTGXY*|ZrF>-NoRWUl-c z*|0?A(W4n=y*)fkOc|GtZEIm$bz}eh)B5S};~v|@#hyHQr(E9rzE6O__1NR*=8E5| zJ)dBfY*hK>%h%>57~`tfUUQxGYt@fm*?Bu#RlRro&fBxMx7+8d zrtZ@#ntFRh^v!u+FwB_swNBRi!A7wRqn)4suju~x^?FO2)MCl*{Cx|9)sttu)|>VH ztY~K5yP6CZ4xTl9mJRdcg`M~wypPv@!chO;dg8=0GY)=v`R)9(>uVRqTJI`XS750B z@8;B}S~y+roovypxv9t2Rr6HIRUD9Lh?JXFyy~o~;l$Y8S-Fzte&QcoW*u9i@49x1 z@;<(3=Kk0J!vFqIPCsW*XJdZ%$dS&H7Y-E`^XvV>#KPlF)_#{f`RP-{ww`x)Eh{HY z5%E#Gts5G;ZRe-YFR%4(zyIus=du3f!RlOG9DHfd{i?n_`B5mQ&sOn5@$s)kr!&?l z=bf{CFLd?r#{OBSU879ii%tKwZjX$;{WLw(e`n4tN%wc_IdHta-|kS3n)U1j3T?cH zuTP(6`!;{&?Ch684X@WJs~p*pT=LY*s_aOPntuNTfpjAjG+0o6Ehdo z{+?mC_vFN!Gc!K>7C&NHxpK*}Pmj8foq7E0)`!Ra$9fvrB7){wCZCzS&qLks!?W4j zT5ns--zD{S@z#{(-!4{7+4S>s(zYGPJ-5w~@$%a7(e3ehIolaFGvoGh@Gf1z@Zjb0 znHCd6S4)_k@dzvTz8fQLc457|wAqIzlmC2Z-uSdlnqisW(=KffpC`{|M<3J?n%I5W zi>Ug;=dmEKcD^Vie}haBfE9q@B7#7n>%IULKXGkphJz!y;Cwhch=YMy?kcY zlPj8+F6VM@zgQ4Eja3ljv?tGAC5KLZyQiRibByas$q6yfcfWseYwBrz^M5`4=^vA{ zv@9wn+}pcy)ua3W&8B^_DQGz1VIBSI8IxI#f*MZPpMM~&yDS9h=KdXn;P@ATXG>4(`GCaZULD(dxFzgN-cU$AMCVRA?B(@ymj zYfOynzKSe%Gt80D4!bg2O`#!s{nKr?UtDT6PJeTy^n-%_ex42a@}8bNvRQXN#m1l7 zVsdSL`kRPklZ4A{du$dh>gYCp_h4n_r6p};O-l=AzcDL~eDd5lTgh$E*LUAM(=Pw%i13WFZ*C;sN#CB-TG+RH z%aqsax6e;|A9ri}^FHerm)on~n_jwcB{kDIOsw`-K%ir#<=kjAs8RW@SfBSIBo58vL(*fp` z)WDFCxoJl@9;eIbcDEimx-p6M<3|?Oz{rz(D$6c0+}l-R+XSZZ|@k!NfrI9mz zdSty56*q1yd6BR@RP5nH5iuco|EyJW&G!7WnmM!NO~>@g*>{gG-?grhnQ>QX@-35PzR8c>_+*V1^-caA5!bifyj%SCJ;m2Hd4|)^ z?%VgF_h}^Go|O9T4huiwup^d*O$QFV%0HW$I%V1|x$9iqy-ydd?dsCdUAuLk!(Ef! zYpJ1uj)jG5OEpyzb(VhIW=+Pqy%S|W0?)z)z+yLMPW=+!50lrFuw z^W}T#lGe!G*UBp2Z%+60QPJRtkAJtT`$t7kP|xX>&(Ahy2;Q$bye@Xnce#fB_SfV2 zH>C3iFMssZH9}(jzO3jIf4_hJ`+dnWA&C=jw@;qnaC_UanI~7TPkVgq)$a&lMglk48zmNe^`X?$~Y`{DLnZpKNI zDjxH`+tq!>=hUeWUro1d&vedQ$y}wO zweiWqg5e(-x9{8S6t(L2`{)0DM{aKG;`;SP(Qe)mmuu^nujrT}lDDJr<>ixS*P7Ze zwedWBx!lwL`3*zsR)+fD($U+4!j5$a{`oZh&F%D*I~y9=WHx7*u%W*(Yhcx^kA5TlqFin;Vtu9hhUeCa!n7xW8Q|sMCJnZu#as z+1y(nE;!FP>vl@g_{8btw^3p1*($yS?)%wR`kG;yPNq}lyRQtJ*S+@moc*duXPWi_ zzqlhuH>FH$7Sk*8>_75XMRnpNrVpp%KmGg7u-N_a`}0qyPo5h)H|LH;8=tDhj6+Th zYjhe;PUhrMQEEEe&UomMgh|Kx{brjYF3s`J%=1XUafCO5$>H>cS<@d(zIEu3gw2eD z%{!k6RefcO*gfq|OrMP5zbza7oY?i%-tYZA2JdMBF=zPgB~Gt?fBSeN^VP_6`%TQ3 ztWefV{aavR{J~=3rD-DWOD$E@g{8fHc*5h)9%!`ro#U)2Eac&*rqGZ+f2lLOTkoU0 z<*VxrwtFt!skqkit;D-OzK3gXyir~LcFQbL)BL6DUQLYH@we*v(W6tQU*1>ySQ9#E zCH3oD(Z8iTxrJw(?Xv1yc=+tk6}zX;*>GPbe5Lm;Wz(ItS2ExFEV#+?$Vksp>Gs+y zg_pTx!Z%%Ue{Onr-lD!8eRqr5`|NzIUlesOjfg#6XzBj%zGa3v=JVRy zCe69?WZE3NvnzwwM7cUK&9yGRohyEONt@{%iPfvL&dsx3&jd>Bp%t$*-FlO57=*21 zxUsEQP+7vb&9S-SxoiWp3AkzV&27EA-=}@ah^shw;`b%*B}*hKUr(Dh-91F4u<*!{ z8`rEegZBDbRZN&3zisl~H19Q^KF>7mUg#XTM?wMA&Q#UxoFsH^-qRrS9KjEKL4)n{~zr2|9AggmAmcz-P7yqQf=<+`%3kXUQxwP9{zUF}O`GV8BGtP#DCYlvLVmUqi^X>b$$_~C;&CDJY>RM+v z*Q)Rt&(x_g)obUjyPDH;_io18qd95Ft-%Xj7LT^Y6n%6KkBM5h{a(^dqpGiuu7>yO zMsM3tY5e#&b4yFXI~j-lbrqEtx2^qKyy$vdcFfV0v$wyScEm-^KkZ{u-QVon-lqMw z*D9K&Ps9Ztyt9*qZPJ`GbIYZ?`58h(r%W}hFgS0|U+{o|-|j?ccwk^)?b747Sa+}g z_O|=vk<{sea_3a1GgMUHz8@G?7Qgix)0a0VTR2%*49fMG*(6@;+z7ZLn3>m=zRnEP z0K0ZeNYF7QMftk=tt|@|E&ApEdg7M6d%L2sHmI_f95lOmd+X{v&)H^cVox_RFIjF} ztXBKmC{w7hv8Cn10p_c!DJce3CYqWlDH7^D*`S~+yZScj?A@et^Qf$qs~)}G9=WZj zPgc^nZEf^w<|VwYvW3j=ir@Eb2`DUF6X956Be@6)xrpMJf5 z^30NC_dR=F+}s?t5v4^G8d~z2?MB-7k1O*!pFV$p+#*skxUlUbyls}UJezm_tq*;x zc1BCx=zaRMqIz>h;bURFEoP0$FFLNN=<2+BakqTxv1@7?T8p+!IX72-$(vo3x!dMg zxkgGVDvAgFIGWCW>Xe4=+V2bQe^_lMbuUnSpY&FxKIWG@E~|7|UDDa2)HmC>@#dPD zmz9(r*>qVwVl!#?z2kXy_s7@Kb_*D%wK4|O(MS^_xJwyXxz$pcAs0r zYK>PNCgw+t`NKcw{rNSGKcgY_VZ#xZynQo&zgM@v?i(c<{utVX^zqN8D%9*!WZw8_(OX zH%|=``uTIoa`Q_P-)2wFzt^>-WUa*H87Iu|8&nt=r%6PYy-_d{QUG;+dU{Rs zH?Kcg<^S(UXW6?O>v#WhxW8{rq;sC$!i72!3H$ZB|NZ^=?bz}5xV;ty3l>g!eiLSF z>2_wr zGxzGxHJcxt6Dd8yo545RBI52==0}erHZ&AIzOlJ|dfck1JD%PBG0nODu($M;*xH2K zW{VcDTy^Mp`>wA*t#_=?~}F_(w;=FW65Uhe901k}O?xz%I!LQqX1a^B_D^4E|g zIIBBNc!#a4?8IlwDxNvr`kd#Ve#2#n>jsu;UDbErL`q#;j#PqkflT-Ftb_5>qCfmU zIcvT}?XNqtk69^|&XE1Bp_A}aJ>l7nz_6NEA71secT@*l5j21BaKCERVcwYXxgY=h zelKZq;@sz1Ma7-HtT#5batcdn?%C(GWY*aSZsFy3Wq6aGA>~{NYp5S*c?^E5FJZ%>3~!+V0PV zZ7rp*BlgVjx7+wP)qp!&F*S9DkIe^${XcnMzT|s1m3^ahg2}=Iy)SuY?_lhYZO^@J zwk5w`<+j4d6^}U6&MwN0&f7ClI)6$2{Z~7ZbXDx<2QJ?6 z(XHysgUkN<``#+8Te#ar*7^RnSx44}{V(~oUO`+uIP|FM^pJeZswv+3Tjj;NyDZAj zotwGq*vzOev5T%m2rf@8zx)~0aR2w(ymPnf+-a*)|IZJ(@=;*dI^`huZkw#FcM`G! zPJsD&2b`a65EYp){d&&V|9^~EuC)2gvwpu{;l{VCZ{9pJlljBl@+C{JMt7)2em3(t zvQVVd`LCA%3lBQ?b(gVXXg7K?_07YAcVyr zUyhN{?b{}!v~y2>K3~oK=FZIQ^+!`4t*>9Yq-BYUmiEW*&-Z>maW?gDm0Z2dgVXvq z_uSO5F}UEjNxt4h$}GL_?<&_j?Z>Q?o@*;M?y$I5-7l!zbCvPgd3CE>5vB$!L3|>z68J9(H#GO){~TH=hIIJOw)UMO8e&%;d65z zzll_ibZ{trST;FQIxPOG(mUrs_a$+g(}iVopKm&~zV2xG{lW(fj*cZS7%r@z|1m#K zZs*RF6oWb&@9Ec~7GJ(Tz3_3?RO2L;_!`GDv-392adLluGxJCsSQoo>(p8;3jVS^7 zAVbq{xV-xMiq1E7PR_fVrMe<=$K8}`ZCAs$cKimHC5pv2etk>*RZ>(Oxus)? z%D?yjS55zP=JfNMY2O$a#5F-{0hBFgzP&xue!gC;hfm7is;({%PerX$9>F0lK0Np9 zqGKPNn(E?S{LAF>GQ%R3#cmU4de+&Up1!#-xpdR4*77$Q>NB?{etvdyebkZK7kYum zFVr&6d;RB{+K+$LmoEMIeV_5#8b#~bo|7|fi_QOEH&I*X$a#MI{mVk*0vw*7E88Y6 zdR1%Bz7*cjyN|A`In1{{zhGnE4o3c&hts}3o&M+ie}nvaAD7RUe|!73pTz4cFP*&B z=})^Ma?jz!&IhYp=Qt*I{dQSnbjplgjWV zj$Kwtd)Nw&Tf*J8!0DEl@6!1BtsG zmYrw?Df~$auiIau*<8MOp!ExqY|-y-i3fklQ{U&4lvxS z?!OSQZby@R-GWtJ>hlyVW_){F`6E$Fi(%1X#^)@9V)a*D5f?#gTEg*~iEIe_r}C#Mk$Nd(^z<8?r=a zo89!>P^RlpV^jQ`DW=|bb@=0_N0a*{qo?Voe@<(-9(On=?Q2$pyZqDH`4!J)tvR!< z?Z^&)Tx&Rc=Zd?ffxmAis=l85ROr^*c@Ec0ZEpPgyCv7#hi9_-)kZ5N6 zc#yqJ=*pUnUoSbhFOloAlFKNdgt@!Y?a3Te#6Au zRfQ*VmX+r>tly_(H0kbcO-;s(>wF3K?f7Ii%wLe!o9El;cto@$cKOpC&*lF7eR*$g z=xRNK#@;6>?{@dk&R5guc)c$9xnBcf0`HBwfM90BvkjJQ&CfSnUB0B{l$YMlCx?Wu zghriO85~ok8TYluHPgiLanvOlv-W8^yqD*FXX&!)d$?%Dp!v^^{#VW3{MY37H=|l9`*#m++M5Q=QcV?} zrKPmCZBbwQ&HeKuH_zICBY1hl)-I&R^Q;R2lO}6wK0MIq=CyfANkH)IUcaLqJDL{t zwR?Ie|E)UKmwHLX?!U}}B`qs7w&gy)SMBMQ^y0!RQO0>yU4e@w%z8w%b574RIa%iI zz;He8bnf@X9vpXWUF?%531-Fx3Y?rNX+d%4Hl>1lcZb`r zYc2Pezdfn`N8<{OPoH02?Y_77=L_Xq+n!GL|M61&(W4*lthKZ(Duo`r2;BE$(XK`3 z?YGbWG||0h8IyLn*%gWF7pA5Qh6h|J%+B9?bW`e=S4UT`zqRkma{lyl6Xu`a{eDx0 zVLSij{r30nF@WX+7^0E;rn$F5((B(C-e&s!E%mHagS%YfL8fo-RG}^KtfgC4W*qOU z3XU?pBO#b+D^hyr){#!1IT6|3v(1hv&35qO^0#sH;8?g¬I^0Rk$OWu09uuPoz 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 SCNeNEFnGH9xvX executionList; + Set liants; + List> parameters; //Pour chaque paramètre existant, la liste des liens aux autres fonctions (InIndex nul) + int returnIndex; + + @Override + public String execute(Arguments args) { + + List argRefs = args.getRealParametersRefs(); + String fonctionRefUUID = UUID.randomUUID().toString(); + + Map[] arguments = new HashMap[executionList.size()]; + for (int i = 0; i < arguments.length; i++) arguments[i] = new HashMap(); + + for(Liant l : liants) arguments[l.outIndex].put(l.paramIndex, fonctionRefUUID+"#"+l.inIndex); + + for (int i = 0; i < arguments.length; i++) + for(Liant l : parameters.get(i)) + arguments[l.outIndex].put(l.paramIndex, argRefs.get(i)); + + for (int i = 0; i < executionList.size(); i++) { + String ref = executionList.get(i).execute(new Arguments(IntStream.range(0, arguments[i].size()).mapToObj(arguments[i]::get).collect(Collectors.toList()))); + Referencateur.self.link(ref,fonctionRefUUID+"#"+i); + } + + return fonctionRefUUID+"#"+returnIndex; + } + + + + + + public static class Liant{ + int inIndex,outIndex,paramIndex; + + public int getInIndex() { + return inIndex; + } + + public int getOutIndex() { + return outIndex; + } + + public int getParamIndex() { + return paramIndex; + } + + public Liant(int inIndex, int outIndex, int paramIndex) { + this.inIndex = inIndex; + this.outIndex = outIndex; + this.paramIndex = paramIndex; + } + + } + + + +} diff --git a/src/com/bernard/lebernard/carte/FonctionHard.java b/src/com/bernard/lebernard/carte/FonctionHard.java new file mode 100644 index 0000000..7e347d5 --- /dev/null +++ b/src/com/bernard/lebernard/carte/FonctionHard.java @@ -0,0 +1,5 @@ +package com.bernard.lebernard.carte; + +public interface FonctionHard extends Fonction { + +} diff --git a/src/com/bernard/lebernard/lecteur/Lecteur.java b/src/com/bernard/lebernard/lecteur/Lecteur.java new file mode 100644 index 0000000..b579f3e --- /dev/null +++ b/src/com/bernard/lebernard/lecteur/Lecteur.java @@ -0,0 +1,13 @@ +package com.bernard.lebernard.lecteur; + +import java.io.File; + +import com.bernard.lebernard.carte.Fonction; + +public class Lecteur { + + public static Fonction lireFichier(File f) { + //TODO + } + +} diff --git a/src/com/bernard/lebernard/runtime/Arguments.java b/src/com/bernard/lebernard/runtime/Arguments.java new file mode 100644 index 0000000..b9a373f --- /dev/null +++ b/src/com/bernard/lebernard/runtime/Arguments.java @@ -0,0 +1,26 @@ +package com.bernard.lebernard.runtime; + +import java.util.List; + +public class Arguments { + + public Arguments(List realArgsReferences) { + this.realArgsReferences = realArgsReferences; + } + + List realArgsReferences; + + public Truc getRealParameterTruc(int i) { + return Referencateur.self.getTruc(realArgsReferences.get(0)); + } + + public String getRealParameterRef(int i) { + return realArgsReferences.get(0); + } + + public List getRealParametersRefs() { + return realArgsReferences; + } + + +} diff --git a/src/com/bernard/lebernard/runtime/Referencateur.java b/src/com/bernard/lebernard/runtime/Referencateur.java new file mode 100644 index 0000000..6dd91b7 --- /dev/null +++ b/src/com/bernard/lebernard/runtime/Referencateur.java @@ -0,0 +1,25 @@ +package com.bernard.lebernard.runtime; + +import java.util.HashMap; +import java.util.Map; + +public class Referencateur { + + public static Referencateur self; + + public Map stockage = new HashMap(); + public Map liens = new HashMap(); + + public Truc getTruc(String reference) { + return stockage.get(stockage.containsKey(reference)?reference:liens.get(reference)); + } + + public void registerTruc(String ref,Truc t) { + stockage.put(ref, t); + } + + public void link(String linkName,String reference) { + liens.put(linkName, stockage.containsKey(reference)?reference:liens.get(reference)); + } + +} diff --git a/src/com/bernard/lebernard/runtime/Truc.java b/src/com/bernard/lebernard/runtime/Truc.java new file mode 100644 index 0000000..7e3c5bb --- /dev/null +++ b/src/com/bernard/lebernard/runtime/Truc.java @@ -0,0 +1,27 @@ +package com.bernard.lebernard.runtime; + +import com.bernard.lebernard.carte.Boiboite; + +public class Truc { + + Boiboite type; + + byte[] data; + + public Truc(Boiboite type, byte[] data) { + super(); + this.type = type; + this.data = data; + } + + public Boiboite getType() { + return type; + } + + public byte[] getData() { + return data; + } + + + +} diff --git a/src/module-info.java b/src/module-info.java new file mode 100644 index 0000000..9698be8 --- /dev/null +++ b/src/module-info.java @@ -0,0 +1,9 @@ +/** + * + */ +/** + * @author mysaa + * + */ +module LeBernard { +} \ No newline at end of file