Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Tiago Peczenyj
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

2013-01-11 Por tôpico Vinícius Miasato
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

2013-01-11 Por tôpico Aureliano Guedes

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

2013-01-11 Por tôpico Aureliano Guedes

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

2013-01-11 Por tôpico Vinícius Miasato
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

2013-01-11 Por tôpico Aureliano Guedes

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