Journal Journal Portage de TapTempo en Forth

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
11
mar.
2018

Salut à tous. Voici un portage de TapTempo en Forth.

5 set-precision
6 Constant steps

: now utime drop ;
: calc-tempo steps 60 1000 1000 * * * s>f   drop now swap - s>f   f/ ;
: print-tempo ." Tempo: " f. ." bpm" cr ;
: restart now steps ;

: main
  ." Appuyer sur la touche entrée en cadence (q pour quitter)." cr
  restart
  begin
    key 113 <> while 1- dup 0 = if calc-tempo print-tempo restart
(…)

Forum Programmation.autre petite bêtise juste pour amuser les plus fêlés d'entre nous...

Posté par  .
Étiquettes :
4
20
avr.
2011

Bonjour
donc voilà le code en GFORTH capable d'interpréter du BrainFuck

: array         create 0 do 0 , loop does> swap cells + ;
0 value str
0 value size
variable pos
30000 array mem
variable cur
\ helpers
: incr           1 swap +! ;
: decr          -1 swap +! ;
: goto          1- pos ! ;
: cur-char      str pos @ + c@ ;
: mem-null?     cur @ mem @ 0= ;
: end-of-loop?  cur-char [char] ] = ;
(…)