Differences From Artifact [080e29e6e5c8e52f]:
File langs/bf.rx part of check-in [91fa12a859] - fix , in brainf*** compiler by crc on 2011-05-31 11:51:14. [annotate] [view]
To Artifact [091e42a7d1c983d4]:
File langs/bf.rx part of check-in [a6b38e42bb] - bf: fix loops by crc on 2011-05-31 14:14:04. [annotate] [view]
@@ -49,12 +49,8 @@ ret, ( Actual BrainF*** compiler ) variable ip -variable lp - -: getLabel - @lp toString "L" ^strings'prepend ; : run t-here putn space @ip @ putc cr @ip @ ip ++ @@ -63,16 +59,16 @@ [ '+ = ] [ drop bf_+ m, ] when [ '- = ] [ drop bf_- m, ] when [ '. = ] [ drop bf_. m, ] when [ ', = ] [ drop bf_, m, ] when - [ '[ = ] [ drop getLabel header t-here @last !d->xt lp ++ ] when - [ '] = ] [ drop dp # @, @, lit, 0 m, !jump, lp -- getLabel find drop @d->xt m, ] when + [ '[ = ] [ drop t-here dp # @, @, lit, 0 m, =jump, @target 0 m, ] when + [ '] = ] [ drop swap jump, m, t-here swap ! ] when drop ; : do [ run @ip @ ] while ; : bf: ( "- ) - '~ accept tib keepString !ip do ; + '~ accept tib keepString !ip cr do ; ( Start Compilation of BrainF*** code after this ) :main