MPL Bytecode Compiler Code
Micro Programming Language - A Portable Language for Micro Computers
Status: Beta
Brought to you by:
buzzphp
+mstr
getc() std.cgetc()
fgetc(f) std.fgetc(f)
putc(c) std.cputc(c)
fputc(c,f) std.fputc(c,f)
fputs(s,f;ss) [ss=0;(ss+=1)<=%s@std.fputc(s%ss,f);s]
fgets(s,f) [
%s=0;@[s%(%s+=1)=std.fgetc(f);s%%s&&s%%s<>'*n'];
s%%s==0?%s-=1;s
]
gets(s) [fgets(s,0);s%%s=='*n'?%s-=1;s]
puts(s) [fputs(s,1);std.cputc('*n');s]
printf(fmt,args!10;str%256) fputs(vsprintf(str$,fmt,args$),1)
fprintf(f,fmt,args!10;str%256) fputs(vsprintf(str$,fmt,args$),f)
// for debugging
puti(a%10) puts(itoa(a,a$))