diff --git a/balloon/example/bp.nas b/balloon/example/bp.nas new file mode 100644 index 0000000..47e9d0b --- /dev/null +++ b/balloon/example/bp.nas @@ -0,0 +1,131 @@ + +var neuron= +{ + in:0, + out:0, + diff:0, + bia:0, + w:[] +}; + +var INUM=2; +var HNUM=4; +var ONUM=1; + +var input_layer=[]; +var hidden=[]; +var output=[]; +var expect=[]; + +var difftanh=func(x) +{ + var ret=tanh(x); + return 1-ret*ret; +}; + +var diffsigmoid=func(x) +{ + var ret=sigmoid(x); + return ret*(1-ret); +}; + +var init=func() +{ + for(var i=0;i0.001) +{ + total_error=0; + input_layer[0]=1;input_layer[1]=1;expect[0]=1; + total_error+=calc(); + back(); + input_layer[0]=1;input_layer[1]=0;expect[0]=1; + total_error+=calc(); + back(); + input_layer[0]=0;input_layer[1]=1;expect[0]=1; + total_error+=calc(); + back(); + input_layer[0]=0;input_layer[1]=0;expect[0]=0; + total_error+=calc(); + back(); + cnt+=1; + if(cnt==10) + { + print('10 times: ',total_error,'\n'); + cnt=0; + } +} + +input_layer[0]=1;input_layer[1]=1;expect[0]=1; +calc(); +print('1 or 1: ',output[0].out,'\n'); +input_layer[0]=1;input_layer[1]=0;expect[0]=1; +calc(); +print('1 or 0: ',output[0].out,'\n'); +input_layer[0]=0;input_layer[1]=1;expect[0]=1; +calc(); +print('0 or 1: ',output[0].out,'\n'); +input_layer[0]=0;input_layer[1]=0;expect[0]=0; +calc(); +print('0 or 0: ',output[0].out,'\n'); \ No newline at end of file diff --git a/balloon/example/brainfuck.nas b/balloon/example/brainfuck.nas new file mode 100644 index 0000000..eefba3c --- /dev/null +++ b/balloon/example/brainfuck.nas @@ -0,0 +1,71 @@ + +var resource=[]; +var data=[]; +var ptr=0; +for(var i=0;i<1024;i+=1){append(data,0);} + +var input_file=func(str) +{ + resource=[]; + var res=read(str); + for(var i=0;i'){ptr+=1;} + else if(resource[i]=='<'){ptr-=1;} + else if(resource[i]=='.'){print(data[ptr],' ');} + else if(resource[i]==','){data[ptr]=num(input());} + else if(resource[i]=='[') + { + var t_ends=runloop(data[ptr],i+1); + i=t_ends; + } + else if(resource[i]==']'){ends=i;break;} + else{print('error token: ',resource[i],'\n');} + } + } + return ends; +}; +var runtime=func() +{ + for(var i=0;i<1024;i+=1){data[i]=0;} + ptr=0; + for(var i=0;i'){ptr+=1;} + else if(resource[i]=='<'){ptr-=1;} + else if(resource[i]=='.'){print(data[ptr],' ');} + else if(resource[i]==','){data[ptr]=num(input());} + else if(resource[i]=='[') + { + var ends=runloop(data[ptr],i+1); + i=ends; + } + else{print('error token: ',resource[i],'\n');} + } + return; +}; +while(1) +{ + print("bf> "); + var filename=input(); + if(filename=='exit'){break;} + input_file(filename); + runtime(); + print('\n'); +}