Task

Implement a    HQ9+    interpreter or compiler.




$ "bottles.qky" loadfile ( if required, the source code for this can be found at 
                           http://rosettacode.org/wiki/99_bottles_of_beer#Quackery )
 
[ stack ]                  is accumulator (   --> s ) 
 
[ stack ]                  is sourcecode  (   --> s ) 
 
[ say "Hello, world!" cr ] is H.HQ9+      (   -->   )
 
[ sourcecode share 
  echo$ cr ]               is Q.HQ9+      (   -->   )
 
[ 99 song echo$ ]          is 9.HQ9+      (   -->   )
 
[ 1 accumulator tally ]    is +.HQ9+      (   -->   )
 
[ dup sourcecode put
  0 accumulator put
  witheach
    [ $ ".HQ9+" join
      quackery ]
  sourcecode release
  cr say "Accumulator = "
  accumulator take echo ]  is HQ9+        ( $ -->   )
 
$ "HH+QQQQ+" HQ9+