update test files and prepare the release of v5.0
This commit is contained in:
parent
f60f674845
commit
c4e6a89959
|
@ -0,0 +1 @@
|
|||
for(var i=0;i<4000000;i+=1);
|
|
@ -0,0 +1,30 @@
|
|||
import("lib.nas");
|
||||
func(){
|
||||
var filename=[
|
||||
"main.cpp",
|
||||
"nasal_ast.h",
|
||||
"nasal_builtin.h",
|
||||
"nasal_codegen.h",
|
||||
"nasal_gc.h",
|
||||
"nasal_import.h",
|
||||
"nasal_lexer.h",
|
||||
"nasal_parse.h",
|
||||
"nasal_vm.h",
|
||||
"nasal.h"
|
||||
];
|
||||
var max_size=size('nasal_codegen.h');
|
||||
var (cnt,semi)=[0,0];
|
||||
foreach(var file;filename)
|
||||
{
|
||||
var s=io.fin(file);
|
||||
var name=file;
|
||||
for(var i=size(name);i<max_size;i+=1)
|
||||
name~=' ';
|
||||
var line_cnt=size(split('\n',s));
|
||||
var semi_cnt=size(split(';' ,s))-1;
|
||||
println(name,'| ',line_cnt,' \tline | ',semi_cnt,' \tsemi');
|
||||
cnt +=line_cnt;
|
||||
semi+=semi_cnt;
|
||||
}
|
||||
println('total: ',cnt,' line | ',semi,' semi');
|
||||
}();
|
|
@ -0,0 +1,27 @@
|
|||
var print=func(elements...)
|
||||
{
|
||||
nasal_call_builtin_std_cout(elements);
|
||||
return nil;
|
||||
};
|
||||
var setsize=func(vector,size)
|
||||
{
|
||||
nasal_call_builtin_set_size(vector,size);
|
||||
return nil;
|
||||
}
|
||||
var fib=func(x)
|
||||
{
|
||||
if(x<2) return x;
|
||||
return fib(x-1)+fib(x-2);
|
||||
}
|
||||
print(fib(30),'\n');
|
||||
|
||||
var m=[0,1,1,2,3,5,8];
|
||||
setsize(m,101);
|
||||
var fib=func(n)
|
||||
{
|
||||
if(m[n]!=nil) return m[n];
|
||||
var t=fib(n-1)+fib(n-2);
|
||||
m[n]=t;
|
||||
return t;
|
||||
}
|
||||
print(fib(100),'\n');
|
|
@ -1,7 +1,6 @@
|
|||
import("lib.nas");
|
||||
|
||||
var s=io.fin(input());
|
||||
s=split('',s);
|
||||
var s=split('',io.fin(input()));
|
||||
var len=size(s);
|
||||
var ptr=0;
|
||||
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
import("lib.nas");
|
||||
|
||||
var map=nil;
|
||||
|
||||
var check=func(x,y)
|
||||
{
|
||||
if(x>=30) x=0;
|
||||
if(x<0) x=19;
|
||||
if(y>=40) y=0;
|
||||
if(y<0) y=39;
|
||||
return map[x][y];
|
||||
}
|
||||
|
||||
var new_map=func()
|
||||
{
|
||||
var tmp=[];
|
||||
setsize(tmp,30);
|
||||
forindex(var i;tmp)
|
||||
{
|
||||
tmp[i]=[];
|
||||
setsize(tmp[i],40);
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
var prt=func()
|
||||
{
|
||||
var s='';
|
||||
foreach(var line;map)
|
||||
{
|
||||
foreach(var elem;line)
|
||||
s~=elem~' ';
|
||||
s~='\n';
|
||||
}
|
||||
system("cls");
|
||||
print(s);
|
||||
}
|
||||
|
||||
func()
|
||||
{
|
||||
rand(time(0));
|
||||
map=new_map();
|
||||
forindex(var i;map)
|
||||
forindex(var j;map[i])
|
||||
map[i][j]=rand()>0.7?'O':' ';
|
||||
var calc=[[0,1],[1,0],[0,-1],[-1,0],[1,1],[1,-1],[-1,-1],[-1,1]];
|
||||
for(var r=0;r<200;r+=1)
|
||||
{
|
||||
prt(map);
|
||||
var tmp=new_map();
|
||||
forindex(var i;map)
|
||||
forindex(var j;map[i])
|
||||
{
|
||||
var cnt=0;
|
||||
foreach(var k;calc)
|
||||
cnt+=(check(i+k[0],j+k[1])=='O');
|
||||
if(cnt==2) tmp[i][j]=map[i][j];
|
||||
elsif(cnt==3) tmp[i][j]='O';
|
||||
else tmp[i][j]=' ';
|
||||
}
|
||||
map=tmp;
|
||||
}
|
||||
return;
|
||||
}();
|
Loading…
Reference in New Issue