<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wx="http://ilps.science.uva.nl/WikiXML/wx" xml:lang="pt" lang="pt">
<head>
<title>Pbrain</title>
<meta name="wx_namespace" content="0"/>
<meta name="wx_pagename" content="Pbrain"/>
<meta name="wx_page_id" content="285507"/>
</head>
<body>
<div id="wx_article">
<wx:section level="1" title="Pbrain" id="wxsec1"><h1 class="pagetitle" id="wx1">Pbrain</h1>

<p id="wx2"><b id="wx3">Pbrain</b> é uma variante da <a href="/wpt/Linguagem_de_programa%C3%A7%C3%A3o_esot%C3%A9rica" title="Linguagem de programação esotérica" wx:linktype="known" wx:pagename="Linguagem_de_programação_esotérica" wx:page_id="255944" id="wx4">linguagem de programação esotérica</a> <a href="/wpt/Brainfuck" title="Brainfuck" wx:linktype="known" wx:pagename="Brainfuck" wx:page_id="219508" id="wx5">brainfuck</a>. O diferencial entre as linguagens é o sistema de subrotinas em Pbrain.</p>

<div id="wx_toc"/>

<a id="Forma_da_Linguagem" name="Forma_da_Linguagem"/>
<wx:section level="2" title="Forma da Linguagem" id="wxsec2"><h2 id="wx6">Forma da Linguagem</h2>

<p id="wx7">O Pbrain acessa a memória da mesma forma que brainfuck: através de células de memória. Não existe um padrão de total de células ou de tamanho de cada célula. Na sua primeira versão, haviam 65536 células de memória, de 1 <a href="/wpt/Byte" title="Byte" wx:linktype="known" wx:pagename="Byte" wx:page_id="14280" id="wx8">Byte</a> cada.</p>

<p id="wx9">As proceduras são numeradas da mesma forma que as células de memória. Se existirem <code id="wx10">n</code> células de memória, podem haver <code id="wx11">n</code> subrotinas. Da mesma forma, quando a célula de memória <code id="wx12">n</code> estiver selecionada, a subrotina <code id="wx13">n</code> também estará.</p>

<a id="Comandos" name="Comandos"/>
<wx:section level="3" title="Comandos" id="wxsec6"><h3 id="wx14">Comandos</h3>

<table align="center" border="0" cellspacing="0" cellpadding="2" width="500" id="wx15">
<tr id="wx16">
<th align="center" id="wx17">
<p id="wx18">Caractere</p>
</th>
<th align="left" id="wx19">
<p id="wx20">Função</p>
</th>
</tr>

<tr id="wx21">
<td id="wx22">
<center id="wx23"><code id="wx24">&gt;</code></center>
</td>
<td id="wx25">
<p id="wx26">Acessa a célula de memória seguinte.</p>
</td>
</tr>

<tr id="wx27">
<td id="wx28">
<center id="wx29"><code id="wx30">&lt;</code></center>
</td>
<td id="wx31">
<p id="wx32">Acessa a célula de memória anterior.</p>
</td>
</tr>

<tr id="wx33">
<td id="wx34">
<center id="wx35"><code id="wx36">+</code></center>
</td>
<td id="wx37">
<p id="wx38">Aumenta em 1 o valor da célula de memória selecionada.</p>
</td>
</tr>

<tr id="wx39">
<td id="wx40">
<center id="wx41"><code id="wx42">-</code></center>
</td>
<td id="wx43">
<p id="wx44">Diminui em 1 o valor da célula de memória selecionada.</p>
</td>
</tr>

<tr id="wx45">
<td id="wx46">
<center id="wx47"><code id="wx48">.</code></center>
</td>
<td id="wx49">
<p id="wx50">Imprime na tela o caractere relativo à célula de memória selecionada.</p>
</td>
</tr>

<tr id="wx51">
<td id="wx52">
<center id="wx53"><code id="wx54">,</code></center>
</td>
<td id="wx55">
<p id="wx56">Salva na célula de memória selecionada o código da próxima tecla clicada.</p>
</td>
</tr>

<tr id="wx57">
<td id="wx58">
<center id="wx59"><code id="wx60">[</code></center>
</td>
<td id="wx61">
<p id="wx62">Repete uma série de comandos enquanto a célula de memória selecionada for diferente de zero.</p>
</td>
</tr>

<tr id="wx63">
<td id="wx64">
<center id="wx65"><code id="wx66">]</code></center>
</td>
<td id="wx67">
<p id="wx68">Retorna ao <code id="wx69">[</code> correspondente se a célula de memória selecionada for diferente de zero.</p>
</td>
</tr>

<tr id="wx70">
<td id="wx71">
<center id="wx72"><code id="wx73">(</code></center>
</td>
<td id="wx74">
<p id="wx75">Inicia a declaração de uma subrotina correspondente à célula de memória selecionada.</p>
</td>
</tr>

<tr id="wx76">
<td id="wx77">
<center id="wx78"><code id="wx79">)</code></center>
</td>
<td id="wx80">
<p id="wx81">Finaliza a declaração de uma subrotina.</p>
</td>
</tr>

<tr id="wx82">
<td id="wx83">
<center id="wx84"><code id="wx85">:</code></center>
</td>
<td id="wx86">
<p id="wx87">Executa a subrotina correspondente à célula de memória selecionada.</p>
</td>
</tr>
</table>

<a id="Compatibilidade_com_brainfuck" name="Compatibilidade_com_brainfuck"/>
</wx:section></wx:section><wx:section level="2" title="Compatibilidade com brainfuck" id="wxsec3"><h2 id="wx88">Compatibilidade com brainfuck</h2>

<p id="wx89">Todos os códigos em brainfuck são 100% compatíveis com Pbrain, desde que não tenham <code id="wx90">(</code>, <code id="wx91">)</code> e <code id="wx92">:</code> como comentários.</p>

<p id="wx93">Os códigos de Pbrain podem não ser compatíveis com brainfuck, pois os comandos <code id="wx94">(</code>, <code id="wx95">)</code> e <code id="wx96">:</code> são considerados comentários em brainfuck, e são ignorados.</p>

<a id="Teste_para_verificar_se_.C3.A9_brainfuck_ou_Pbrain" name="Teste_para_verificar_se_.C3.A9_brainfuck_ou_Pbrain"/>
<wx:section level="3" title="Teste para verificar se é brainfuck ou Pbrain" id="wxsec7"><h3 id="wx97">Teste para verificar se é brainfuck ou Pbrain</h3>

<pre id="wx98">
+&gt;(+)[-]:[[-]
 Pbrain
[-]][-]+(-)[-]+:[[-]
 brainfuck
[-]]
</pre>

<a id="Ver_tamb.C3.A9m" name="Ver_tamb.C3.A9m"/>
</wx:section></wx:section><wx:section level="2" title="Ver também" id="wxsec4"><h2 id="wx99"><wx:template id="wx_t1" pagename="Predefinição:Veja_também" page_id="63065"/>Ver também<wx:templateend start="wx_t1"/></h2>

<ul id="wx100">
<li id="wx101"><a href="/wpt/Programa_Ol%C3%A1_Mundo_em_linguagens_de_programa%C3%A7%C3%A3o_esot%C3%A9ricas" title="Programa Olá Mundo em linguagens de programação esotéricas" wx:linktype="known" wx:pagename="Programa_Olá_Mundo_em_linguagens_de_programação_esotéricas" wx:page_id="219472" id="wx102">Programa Olá Mundo em linguagens de programação esotéricas</a></li>

<li id="wx103"><a href="/wpt/PATH" title="PATH" wx:linktype="known" wx:pagename="PATH" wx:page_id="240511" id="wx104">PATH</a></li>

<li id="wx105"><a href="/wpt/SNUSP" title="SNUSP" wx:linktype="known" wx:pagename="SNUSP" wx:page_id="283976" id="wx106">SNUSP</a></li>

<li id="wx107"><a href="/wpt/L00P" title="L00P" wx:linktype="known" wx:pagename="L00P" wx:page_id="219531" id="wx108">L00P</a></li>

<li id="wx109"><a href="/wpt/Braintwist" title="Braintwist" wx:linktype="known" wx:pagename="Braintwist" wx:page_id="295838" id="wx110">Braintwist</a></li>
</ul>

<a id="Liga.C3.A7.C3.B5es_Externas" name="Liga.C3.A7.C3.B5es_Externas"/>
</wx:section><wx:section level="2" title="Ligações Externas" id="wxsec5"><h2 id="wx111">Ligações Externas</h2>

<p id="wx112">Um interpretador em <a href="/wpt/Linguagem_de_programa%C3%A7%C3%A3o_C" title="Linguagem de programação C" wx:linktype="known" wx:pagename="Linguagem_de_programação_C" wx:page_id="1292409" id="wx113">C</a> está disponível em <a href="http://www.hevanet.com/cristofd/pbrain.c" class="external free" wx:linktype="external" rel="nofollow" id="wx114">http://www.hevanet.com/cristofd/pbrain.c</a>.</p>

<p id="wx115"><a href="http://www.parkscomputing.com/code/pbrain/" class="external free" wx:linktype="external" rel="nofollow" id="wx116">http://www.parkscomputing.com/code/pbrain/</a></p>

<wx:template id="wx_t2" pagename="Predefinição:Esboço-programação" page_id="123084"/>
<table align="center" cellpadding="0" cellspacing="0" style="background-color: white; border: 1px solid #ccc; padding: 5px; font-size:85%;" class="noprint" id="wx117">
<tr id="wx118">
<td id="wx119"><a href="/wpt/Imagem:Singleton.png" title="" wx:linktype="image" wx:pagename="Imagem:Singleton.png" id="wx120"><img src="/wpt/Imagem:Singleton.png" alt="" width="50" id="wx121"/></a> </td>
<td id="wx122">
<p id="wx123">  <i id="wx124">Este artigo é um <a href="/wpt/Wikipedia:Esbo%C3%A7o" title="Wikipedia:Esboço" wx:linktype="known" wx:pagename="Wikipedia:Esboço" id="wx125">esboço</a> sobre <b id="wx126"><a href="/wpt/Programa%C3%A7%C3%A3o" title="Programação" wx:linktype="known" wx:pagename="Programação" wx:page_id="7329" id="wx127">Programação</a></b>. Pode ajudar a Wikipédia <span class="plainlinks" id="wx128"><a href="http://wpt/wpt/index.php?title=Pbrain&amp;action=edit" class="external text" wx:linktype="external" rel="nofollow" id="wx129">expandindo-o</a></span>.</i></p>
</td>
</tr>
</table>

<p id="wx130"><br id="wx131"/>
</p>

<wx:templateend start="wx_t2"/>
</wx:section></wx:section></div>
<div id="wx_categorylinks">
<a href="/wpt/index.php?title=Especial:Categories&amp;article=Pbrain" title="Especial:Categories" wx:linktype="known" wx:pagename="Especial:Categories" id="wx132">Categorias de páginas</a>: <span dir="ltr" id="wx133"><a href="/wpt/Categoria:%21Esbo%C3%A7os_sobre_programa%C3%A7%C3%A3o" title="Categoria:!Esboços sobre programação" wx:linktype="known" wx:pagename="Categoria:!Esboços_sobre_programação" wx:page_id="123086" id="wx134">!Esboços sobre programação</a></span> | <span dir="ltr" id="wx135"><a href="/wpt/Categoria:Linguagens_de_programa%C3%A7%C3%A3o_esot%C3%A9ricas" title="Categoria:Linguagens de programação esotéricas" wx:linktype="known" wx:pagename="Categoria:Linguagens_de_programação_esotéricas" wx:page_id="226140" id="wx136">Linguagens de programação esotéricas</a></span></div>
<div id="wx_languagelinks">
Outras línguas: <a href="http://en.wikipedia.org/wiki/Pbrain" class="external" wx:linktype="interwiki" wx:pagename="en:Pbrain" id="wx137">English</a></div>
</body>
<wx:templatearguments for="wx_t1"><wx:argument name=""/></wx:templatearguments>
<wx:templatearguments for="wx_t2"><wx:argument name=""/></wx:templatearguments>
</html>
