$ include "seed7_05.s7i"; const proc: runCode (in string: code) is func local var char: ch is ' '; var integer: bottles is 0; var integer: accumulator is 0; begin for ch range code do case ch of when {'H'}: writeln("Hello, world!"); when {'Q'}: writeln(code); when {'9'}: bottles := 99; repeat writeln(bottles <& " bottles of beer on the wall"); writeln(bottles <& " bottles of beer"); writeln("Take one down, pass it around"); decr(bottles); writeln(bottles <& " bottles of beer on the wall"); writeln; until bottles = 0; when {'+'}: incr(accumulator); end case; end for; end func; const proc: main is func begin if length(argv(PROGRAM)) >= 1 then runCode(argv(PROGRAM)[1]); end if; end func;