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");
|
import("lib.nas");
|
||||||
|
|
||||||
var s=io.fin(input());
|
var s=split('',io.fin(input()));
|
||||||
s=split('',s);
|
|
||||||
var len=size(s);
|
var len=size(s);
|
||||||
var ptr=0;
|
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