Page 1 of 1

Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 23 Dec 2012, 23:49
by Persalteas
De toutes les calculatrices z80, les séries 83+/84+ sont celles sur lesquelles existent le plus de langages de progra différents, grâce aux compétences de plusieurs programmeurs qui créent ces langages grâce à des Apps en assembleur officiel. ;)

Le choix du langage devient donc difficile selon ce que vous souhaitez programmer, et le débat est souvent repris sur les forums de la communauté.

Mais ce soir, un nouveau langage va être disponible pour votre TI-83+ ! :#fou#:

En effet, zero44 publie aujourd'hui sur omnimaga un interpréteur de langage "brainf*ck" ! (oui, oui, il s'appelle bien comme ça) , réalisé en Axe.


Image


Le Brainf*ck est un langage qui utilise des suites de caractères simples, et dont les codes sont connus pour être repoussants au premier abord, voyez plutôt:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.


Vous êtes invités a reporter tout bug détecté, l'auteur déclare que pour cette version l'utilisation des crochets [ et ] n'est pas encore possible.
Je souhaite bien du courage a ceux qui osent affronter la rudesse de ces suites de code ! :D
Si vous avez de bons yeux, relevez le défi !


Re: Un compilateur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 01:02
by matref
Sans vouloir dénigrer Zero44, un interpréteur Brainf*ck ça se fait en 30 secondes... Moi-même j'en ai fait un y'a un petit moment, il supporte toutes les instructions y compris les crochets et il fait 704 octets Noshell.

Code: Select all
:.AXEBRAIN
:
:ClrHome
:
:L3->°PC+2->°Cell+2->°Table+2->°PtrTbl+2->°PtrOffst+2->°Opcode
:
:[050000000000000000->Str1INPUT
:
:Disp "Open:",i,"prgm"
:input->A
:ClrHome
:Copy(A,Str1INPUT+1,{A-2}rAsm(E5)>8?Asm(E1)8,Asm(E1)
:Return!If GetCalc("Str1INPUT")->A
:
:0->PC->Cell->PtrOffst
:L1->Table
:L4->PtrTbl
:
:Fill(L1,768,0
:Fill(L4,256,0
:
:While 1
:{PC+A}->Opcode
:!If -E6C
:Cell++
:Else!If Opcode-E6B
:Cell-(>0)->Cell
:Else!If Opcode-E70
:{Cell+Table}++
:Else!If Opcode-E71
:{Cell+Table}-(>0)->{Cell+Table
:Else!If Opcode-6
:PC->{PtrOffst+PtrTbl
:PtrOffst++
:Else!If Opcode-7
:PtrOffst--
:If {Cell+Table}
:{PtrOffst+PtrTbl}-1->PC
:End
:Else!If Opcode-E2B
:input->B
:{B}->{Cell+Table
:Else!If Opcode-E3A
:Disp {Cell+Table}>Char
:ElseIf Opcode-63
:Text(0,56,"Bad token:token ",PC>Dec
:getKey^r
:Return
:End
:
:PC++
:EndIf PC>={A-2}^r
:DiagnosticOff

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 01:04
by Persalteas
Gloups... La hantise du rédacteur TI-Planet: newser sur un truc inutile.

Tant pis, ce qui est fait est fait...

Ceci dit matref, ce que TU fais en 30 secondes est parfois très long a faire pour les gens normaux :P

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 01:07
by matref
Bah moi-même j'ai pas voulu le poster sur Omnimaga de peur qu'on me dise que ça a déjà été fait / que c'est trop simple ... Mais en fait je crois que je vais poster le mien aussi :D

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 01:08
by Persalteas
Faut avouer que l'idée est originale, quand même, non ?

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 01:16
by matref
Pas tellement, je suis persuadé d'en avoir déjà vu un pour 83+.

Aussi, fun fact : j'ai fait le même en ASM sans la commande d'input , (la virgule, si si) parce que je sais pas comment on fait, mais il marche et il fait ... 226 octets :P comme quoi l'Axe est over-pas optimisé par rapport à l'ASM (et encore, em ASM je suis pas si bon).

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 24 Dec 2012, 11:51
by nikitouzz
j'ai une question, pourquoi avoir mis des 9 et 8 pour les >< alors qu'il sont disponible sur la calculatrice ???

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 25 Dec 2012, 12:37
by zero44
Humm...
Avez vous.vu le truc ?
Il y a un support complet du bf pour l'interpréteur.
seul le compilateur ne gere pas eencore les, et syntaxxes [][]…
J ai ajoute hier le support total.des boucls.
etl'interpreteur est graphique, avec une representation.de kla machine.de turing
et lee 8 9 c,eet juste un racourci.

Joyeux noel
a+

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 25 Dec 2012, 15:58
by Adriweb
Ah, merci pour ces détails ;)

Et sinon, oui, la représentation de la bande défilante est tout de même quelque chose de sympa :)

Re: Un interpréteur de Brainf*ck pour TI 83 Plus

Unread postPosted: 25 Dec 2012, 22:52
by nikitouzz
met les deux possibilité 8 et 9 ou < et > c'est polus classe et les gens comprendrons mieux :)