diff --git a/SMILEBASIC/FIZZBUZZ.TXT b/SMILEBASIC/FIZZBUZZ.TXT new file mode 100644 index 0000000..f9a7e10 --- /dev/null +++ b/SMILEBASIC/FIZZBUZZ.TXT @@ -0,0 +1,15 @@ +FOR I=0 TO 100 + IF I MOD 3==0 AND I MOD 5==0 THEN + ?"FIZZBUZZ" + ELSE + IF I MOD 3==0 THEN + ?"FIZZ" + ELSE + IF I MOD 5==0 THEN + ?"BUZZ" + ELSE + ?I + ENDIF + ENDIF + ENDIF +NEXT \ No newline at end of file diff --git a/SMILEBASIC/main.d b/SMILEBASIC/main.d index 427936c..2da5d92 100644 --- a/SMILEBASIC/main.d +++ b/SMILEBASIC/main.d @@ -1,4 +1,7 @@ import std.stdio; +import std.utf; +import std.conv; +import std.file; import otya.smilebasic.parser; int main(string[] argv) { @@ -8,6 +11,8 @@ int main(string[] argv) writeln(parser.calc()); } + version(none) + { auto parser = new Parser( //"@A\nA=1+2+3+4\nPRINT 1+1,2+3;10-5,A:A=A*2 PRINT A "IF 1 THEN PRINT 2 @@ -40,6 +45,8 @@ FOR I=0 TO 100 ENDIF NEXT "); + } + auto parser = new Parser(readText("FIZZBUZZ.TXT").to!wstring); auto vm = parser.compile(); vm.run(); readln();