PROC MAIN ''' bottom of the stack is the incrementing value, starts at 1 ''' 1 ''' while the incrementing value is <= 100 ''' WHILE 100 OVER <= DO ''' push string "Buzz" if inc. is divisible by 5, else an empty string ''' 5 OVER % IF 0 == DO "Buzz" ELSE "" END ''' push string "Fizz" if inc. is divisible by 3, else an empty string ''' OVER 3 SWAP % IF 0 == DO "Fizz" ELSE "" END ''' concat the two strings and copy the inc., if the string is empty, swap them ''' ++ OVER SWAP IF DUP "" == DO SWAP END ''' print the top of the stack, drop the next item, add 1 to inc. ''' . DROP 1 + END END