Re: [Rio-pm] BrainFuck Interprer
Ola estou com preguiça de analisar o seu codigo todo mas tenho algumas observaçoes 1) o seu metodo de leitura esta errado. Vc esta ignorando o resto da linha, os outros caracteres. eu faria assim: sub getchar{ sysread STDIN, my $buf, 1; return (ord($buf)); } 2) ao inves de fazer foreach ... when (condicao que parece um if) faça foreach ... { my $i = ... given($i){ when('+'){ } } } 2013/1/11 Aureliano Guedes guedes_1...@hotmail.com Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] BrainFuck Interprer
não deveria ter um given em algum lugar do código para você utilizar o when ? abs. Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.comescreveu: Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] BrainFuck Interprer
Mudanças feitas. Mas vejam. Eu tinha tirado o given, mas coloquei de volta. O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma quebra de linha. Date: Fri, 11 Jan 2013 11:16:26 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer não deveria ter um given em algum lugar do código para você utilizar o when ? abs. Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com escreveu: Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] BrainFuck Interprer
Mas geralmente a indicação pra parar é um enter. my $a = ; print $a; So de dar enter o script continua. Como deveria ser esta indicação no caso então?? Date: Fri, 11 Jan 2013 11:33:05 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer bom, ... com o given o seu script executa, mas não termina. sem o given ele não executa ... escolha a melhor opção e continua desenvolvendo =) abs. Em 11 de janeiro de 2013 11:27, Aureliano Guedes guedes_1...@hotmail.com escreveu: Mudanças feitas. Mas vejam. Eu tinha tirado o given, mas coloquei de volta. O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma quebra de linha. Date: Fri, 11 Jan 2013 11:16:26 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer não deveria ter um given em algum lugar do código para você utilizar o when ? abs. Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com escreveu: Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] BrainFuck Interprer
Aureliano, seu código está bem confuso mesmo. você está realizando o foreach foreach my $i (split (//, $data)) e logo após o inicio do foreach você faz $i = substr($data,$s,2); você sabe explicar pq ? Outra dica: declare sua sub getchar no final do arquivo para deixar o código mais legível. Dica adiantada: antes de você trocar a sub e falar que o script parou de funcionar, na linha em que você realiza a chamada da sub getchar, coloque os () na função. ex.: getchar(); talvez isso ajude você a consertar o script, abs. Em 11 de janeiro de 2013 11:33, Vinícius Miasato viniciusmias...@gmail.comescreveu: bom, ... com o given o seu script executa, mas não termina. sem o given ele não executa ... escolha a melhor opção e continua desenvolvendo =) abs. Em 11 de janeiro de 2013 11:27, Aureliano Guedes guedes_1...@hotmail.comescreveu: Mudanças feitas. Mas vejam. Eu tinha tirado o given, mas coloquei de volta. O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma quebra de linha. -- Date: Fri, 11 Jan 2013 11:16:26 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer não deveria ter um given em algum lugar do código para você utilizar o when ? abs. Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com escreveu: Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] BrainFuck Interprer
Ok, agora um mudei outras coisas tambem, a principio tah td ok. http://pastebin.com/w78GfPEv Agora testei com um Hello World : ++[+-]++.+.+++..+++.++.+++..+++.--..+.. Mas ficou meio locão. Date: Fri, 11 Jan 2013 11:47:26 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer Aureliano, seu código está bem confuso mesmo. você está realizando o foreach foreach my $i (split (//, $data)) e logo após o inicio do foreach você faz $i = substr($data,$s,2); você sabe explicar pq ? Outra dica: declare sua sub getchar no final do arquivo para deixar o código mais legível. Dica adiantada: antes de você trocar a sub e falar que o script parou de funcionar, na linha em que você realiza a chamada da sub getchar, coloque os () na função. ex.: getchar(); talvez isso ajude você a consertar o script, abs. Em 11 de janeiro de 2013 11:33, Vinícius Miasato viniciusmias...@gmail.com escreveu: bom, ... com o given o seu script executa, mas não termina. sem o given ele não executa ... escolha a melhor opção e continua desenvolvendo =) abs. Em 11 de janeiro de 2013 11:27, Aureliano Guedes guedes_1...@hotmail.com escreveu: Mudanças feitas. Mas vejam. Eu tinha tirado o given, mas coloquei de volta. O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma quebra de linha. Date: Fri, 11 Jan 2013 11:16:26 -0200 From: viniciusmias...@gmail.com To: rio-pm@pm.org Subject: Re: [Rio-pm] BrainFuck Interprer não deveria ter um given em algum lugar do código para você utilizar o when ? abs. Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com escreveu: Ola mongens, Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em Perl. Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS Um script brainfuck para testarem, ele converte letras munusculas para maiusculas: http://pastebin.com/kzMMpUsA Deve ser executado assim: perl mybf.pl bf.b Mas estou com problemas. Toda vez que executo me retorna : Can't use when() outside a topicalizer at mybf.pl line 36, line 1. Alguem sabe o que esta acontecendo, e pode me ajudar. Desde já, grato. Att ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm