From bb6c9f7ad675eeb1212d53aa76e5d37a2f0063a8 Mon Sep 17 00:00:00 2001 From: Guilleag01 Date: Thu, 24 Feb 2022 17:15:45 +0100 Subject: [PATCH] Si --- brainfuck.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ brainfuck.out | Bin 0 -> 16720 bytes 2 files changed, 83 insertions(+) create mode 100644 brainfuck.c create mode 100755 brainfuck.out diff --git a/brainfuck.c b/brainfuck.c new file mode 100644 index 0000000..8e25c09 --- /dev/null +++ b/brainfuck.c @@ -0,0 +1,83 @@ +#include +#include +#include + +#define SIZE 3000000 + +void run(char *input); +void printList(); + +char *cinta; +int main(){ + cinta = (char*)malloc(SIZE); + char fileName[50]; + printf("Introduce el nombre del archivo: "); + scanf("%s", fileName); + char *input = (char*)malloc(sizeof(char)); + FILE *file; + file = fopen(fileName, "r"); + int i=0; + while(!feof(file)){ + input[i++] = fgetc(file); + input = realloc(input, strlen(input) + 1); + } + fclose(file); + run(input); + printf("\n"); + return 0; +} + +void run(char *input){ + int loopDepth = 0; + for (int i=0; i': + cinta++; + break; + case '<': + cinta--; + break; + case '+': + ++*cinta; + break; + case '-': + --*cinta; + break; + case '.': + putchar(*cinta); + break; + case ',': + getchar(); + *cinta = getchar(); + case '[': + if (*cinta == 0){ + int depth = loopDepth; + depth++; + while(depth > loopDepth){ + i++; + c = input[i]; + if (c == '[') + depth++; + else if(c == ']') + depth--; + } + } + break; + case ']': + if (*cinta){ + int depth = loopDepth; + depth++; + while(depth > loopDepth){ + i--; + c = input[i]; + if (c == ']') + depth++; + else if(c == '[') + depth--; + } + } + break; + } + } +} diff --git a/brainfuck.out b/brainfuck.out new file mode 100755 index 0000000000000000000000000000000000000000..8bf9918ed58e1e960d4266d8973a17ca06f38a6e GIT binary patch literal 16720 zcmeHOeQ;FO6~CJhK#@&=An}t`VH&hqK12vAx*M|Lr3Q?Us4e1ivmeQp&2G9M7@S(u zMvyg48=a12)ahVrZO6e*td4cssRVEUb=ry6p|si|<6yfhNTZ^SHn9Dj`|erZKC`X0 zGadifn|be?^E)5+-t*qOxp&{Y_jsBbN^Ca4rBqxeNE)p$5SLO6uTTt#OVo<#IA1I- z5|bfMl9-`)83bCR94^VHQx#qcN`6(uOh7L*V8N7INR<2vm0?u@Q=$4ner4pOWGiiz zN+FoCK3AWEoKYO|oTIg>e@xAOl$&&oVV_=^Pj@Q6K}Fe*MDiO`eq+jy=?FClg(>Hg zazaO~%BPjOprhiFXCbV9-OA5O>ypD*sGXdd0$UsBPKOg<*e9I21{C*L2q|t68?x8IL-b$R<#`7U7`V zX7$=uQPLxZ2xEVnu;s}mN`{FnWLt@Y(oX)TE^BxyHFQJO<3~qMwY%Thd`qhN1ldqO zC??rZA&d?#q~n9J&qBWhqnQ&JJ`Kz<0e&m6iR>E-;O7>=mlwcS6~L1P@a6*ebp`O> z0e9fA79GGu{aRQ6r(92DKcxWvCU6H1YY76l)C!UujCKVgLf1p_sBgszJ?`^Hf)L{g zuWys?>)50Ry`iw^N+x_A-k695yy0-vC%R&xNFpeLfhbPxfrL-Q6R|J?5l@CeUpN{M zh)%;?*L~eyJs663!=bwZ2#>qnM|H#!dZ#xO5hT;izD%rcYOGtOFL5r7H?aa;c7!sW;%`Sr_{OlYm#H}X$920(r3C9J^ zl@1eb&!IwenecKGUSx|IC}yCTfno-V87OApKWE^B@{2#wdXG=l`pW)LC{dCf z)_Px@x=%W1uX+n`cK%VE%jdelk=#ML%t#hx{+~&vsYqs6%CC`3Q=-g}lwT&9rX-m` zDeonjrXrc0QvNl`GzG~FNcoo})6^r=BjqParfEc`OUgecnWk2mJEZ(D$u#xIG)wtG zl4;73aY^}pl4;77Sp=E-yZGJ4)T_5^skgM=qod6&P5oud&>pRS`ffB+>tFdQjI*=% zI)ykn0MUy8T7TKsh^!b(%toqy1RbU7tn5hn+#Z;VeTu?(YpGFf&xz}` zJ!7SsZNK*F=|m+0BvpW^*^yxR-1;;A)V`jT??Nq-SGH=sE7uXLrQS|V*ZNle9zu4u z3+J>Co!MXZB3RqTeL-jW++?KMic%<2d-^=P`kQU3)?J!!7@9%NHk^8Sdxd0S^ovte zd9%%sWx#1%m5TEQOmHQB&T%)93q^waeAKv`ZiTc5sO*o{*E;6cuBenLNR*{-gW{!q zl$`a*POX-@```i3acb%T&j^vso#2zby<lv|4(AA#1k8DUzmL_L|-HzBBpgC-hez;v%CO#wR#1>8shVL|~nP{1?-rj3B51IKIwxwag})jUX7 z^Ra*8%Jw2lEB2Lt=j*r)1_rdgjbksF?*8Ba-S6&On)+8xTOfq{=El?^cWYznLwAci zHQuWA*No%VU*ELg6peZ5>?er0=TvE8?&3Gp^V^hqzbSR1KJ_%#S9cPP|Uy=ECV+6 z_M$P8h(-NLU%(LvJ0j7}wphU72kVXbIzpSHS3AV~xQGc6`XHNq635**9>5Vg`QIPw zl;1U<)Bp3-$v(SPot0>}?Sj&4YH>a2$A)=-&t}7*CqY|4-yO|nX?b+^``PTXps&M^ z-sRQ9ZyuIsmEft^?ph~o-4(VA&Y3cGK;ahx-+?&z0RRqDhS-pMHw#k~kws*>E zyDMU^b=w!Y?bUU5N1eT@&R$VxpDN$89fx}r`cFU76iYD!#S9cPP|QFv1H}v!Gf>Px zF$2X6eDO2D-?{O3ZM1Zta-TuOIg0X!b$Ej(i#FS!=P8-LpSwWG^dgqZ`34dE9UZM> zsIdOS)7dD=L-ZyXh1U`Tis5g~MwFhv8T-gE7yQj!m6BDnlw|tm&1FFJ0-B0Lb(Gg@ z^dgzc9D|5K1u#CU8p7=!Qg-}p8`qC_QL;Z!OH;g#lJcPP#~W8EbDpuBlkzsD|5(YY zyQ-G|KjH7ntu-%GA0sv>db6TIMK>$DP0@!GeL~Ua6y2}rAw~bHDA(8HGPu>NR$c9= z##hb@9E%q_7dscRK>@O;SR|78*cHuC8d{+1&D6ZLCO0lXTxgF9oQ%Yn}*sS-Ud69~4RaJsk-1D~YS>w(kt9aaN& zK;b@#E5Stm2)+W>cZbUaf*qIrwdeLREmZ2w1>)QfoZ|3v%F!ND?a8R;UH&EqE2k( zyG0M+cj7G~81r@pbbqq5a|>Kdl1?qjGi{4uKS40*+aw#@u+F{4qkGoY>(~yEZ|oO( z{a4qz*EFum*T`K7fbhRT_h`BiL91UU^wmu_*14PX8ygzdds_4scU_Z*qRPDtzIakL zn|DgMcpn4pS@2=Ag!kX?TnPBRFfn#b54P^m$SIeqy%{-x8X&i5Q0oJV-x<4M(JG>D;ZOdr95uyB{h@OlGkoGefqpPR(h~!06 z+f4E>U2luWRg>hN5xH~4Vq)IKl2a{5mDnf3w*hS+nQ&J~{w|fAJ0(y!<6Alt-Zs!g z%%C02;o=5jUBW4!lJ-c_*%iZ{npk3s32IA*u(d1XSCG4|v4)-_Cz*G6;~m23-x5I; z22I2a&E`NX9*Rct1Rc6qAnYXv#dU=f!YNbfOa!{Y)AIveRNhn0K!H%9yq49)8?bmD)nQL5BDiYd?Qm0H>| zPxLYzG?!-oTIJ8w1)aI@|6|6Mfie4cD}Sc+{=;1O{{~}?V9fqJ4`k|KLq)Crw*dbL zb8~J#uUD9I|J5`;x4z-9UNE#)VSirFFdd}iqEH)&<^J=!A_R=O%>KMSV#@0wn8>2S zu_(R)j@BOR&+84QoIh?q+cEtX{An%2GOuTtx>QZp_A6NQgQ1+VKd+~l4k<&f-`f8l zD*rlV$Llku4%K1u$E@*F`Fji)nQ(lXV#uN>uUi!=+sZuAM{$__9mACA|2V z#h>?4Gi|lpaO}@vpR)M#Jdr7{%h}!%PCTRhIsd|;EEOGBA`{L(%fA6b{b&DihoND5 zts&;l*7{$9#_V5viDAlADs$dvt{+2x0At6Y9{b#ShxhMV+siW3Bk(OZ`Sb4)qcs3g z*v^p7$c!I@g6