🚀 add new stl file `padding.nas` and update test files.
This commit is contained in:
parent
5715c1df5f
commit
6c04487319
|
@ -0,0 +1,16 @@
|
||||||
|
# padding.nas
|
||||||
|
# ValKmjolnir 2022/9/4
|
||||||
|
|
||||||
|
var leftpad=func(str,len,char=" "){
|
||||||
|
var strlen=size(str);
|
||||||
|
for(var i=strlen;i<len;i+=1)
|
||||||
|
str=char~str;
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rightpad=func(str,len,char=" "){
|
||||||
|
var strlen=size(str);
|
||||||
|
for(var i=strlen;i<len;i+=1)
|
||||||
|
str~=char;
|
||||||
|
return str;
|
||||||
|
}
|
|
@ -1,29 +1,23 @@
|
||||||
# result.nas
|
# result.nas
|
||||||
# ValKmjolnir 2021
|
# ValKmjolnir 2021
|
||||||
|
|
||||||
var ResultTrait={
|
var Result=func(){
|
||||||
|
var (ok,err,flag)=(nil,"",1);
|
||||||
|
return{
|
||||||
Ok:func(val){
|
Ok:func(val){
|
||||||
me.ok=val;
|
ok=val;
|
||||||
me.flag=0;
|
flag=0;
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
Err:func(info){
|
Err:func(info){
|
||||||
me.err=info;
|
err=info;
|
||||||
me.flag=1;
|
flag=1;
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
unwrap:func(){
|
unwrap:func(){
|
||||||
if(me.flag)
|
if(flag)
|
||||||
die(me.err);
|
die(err);
|
||||||
return me.ok;
|
return ok;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var Result=func(){
|
|
||||||
return{
|
|
||||||
ok:nil,
|
|
||||||
err:"",
|
|
||||||
flag:1,
|
|
||||||
parents:[ResultTrait]
|
|
||||||
};
|
|
||||||
};
|
};
|
|
@ -1,3 +1,5 @@
|
||||||
|
import.stl.padding;
|
||||||
|
|
||||||
var source=[
|
var source=[
|
||||||
"main.cpp",
|
"main.cpp",
|
||||||
"nasal_ast.h",
|
"nasal_ast.h",
|
||||||
|
@ -21,6 +23,7 @@ var lib=[
|
||||||
"list.nas",
|
"list.nas",
|
||||||
"log.nas",
|
"log.nas",
|
||||||
"module.nas",
|
"module.nas",
|
||||||
|
"padding.nas",
|
||||||
"process_bar.nas",
|
"process_bar.nas",
|
||||||
"queue.nas",
|
"queue.nas",
|
||||||
"result.nas",
|
"result.nas",
|
||||||
|
@ -84,6 +87,14 @@ var module=[
|
||||||
"libsock.nas"
|
"libsock.nas"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var longest=func(vec...){
|
||||||
|
var len=0;
|
||||||
|
foreach(var v;vec)
|
||||||
|
foreach(var f;v)
|
||||||
|
len=size(f)>len?size(f):len;
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
var getname=func(s){
|
var getname=func(s){
|
||||||
var (len,ch)=(size(s),' '[0]);
|
var (len,ch)=(size(s),' '[0]);
|
||||||
for(var i=0;i<len and s[i]!=ch;i+=1);
|
for(var i=0;i<len and s[i]!=ch;i+=1);
|
||||||
|
@ -100,10 +111,12 @@ var count=func(s,c){
|
||||||
var calc=func(codetype,files,path=""){
|
var calc=func(codetype,files,path=""){
|
||||||
println(codetype);
|
println(codetype);
|
||||||
var (bytes,line,semi,line_cnt,semi_cnt)=(0,0,0,0,0);
|
var (bytes,line,semi,line_cnt,semi_cnt)=(0,0,0,0,0);
|
||||||
|
var padding_length=longest(source,lib,testfile,module);
|
||||||
forindex(var i;files){
|
forindex(var i;files){
|
||||||
var s=io.fin(getname(path~files[i]));
|
var s=io.fin(getname(path~files[i]));
|
||||||
(line_cnt,semi_cnt)=(count(s,'\n'),count(s,';'));
|
(line_cnt,semi_cnt)=(count(s,'\n'),count(s,';'));
|
||||||
println(files[i],'| ',line_cnt,'\tline | ',semi_cnt,' \tsemi');
|
println(rightpad(files[i],padding_length),
|
||||||
|
'| ',line_cnt,'\tline | ',semi_cnt,' \tsemi');
|
||||||
bytes+=size(s);
|
bytes+=size(s);
|
||||||
line+=line_cnt;
|
line+=line_cnt;
|
||||||
semi+=semi_cnt;
|
semi+=semi_cnt;
|
||||||
|
@ -113,5 +126,8 @@ var calc=func(codetype,files,path=""){
|
||||||
return int(bytes/1024);
|
return int(bytes/1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
var all=calc("source code:",source)+calc("lib:",lib,"stl/")+calc("test file:",testfile,"test/")+calc("module:",module,"module/");
|
var all=calc("source code:",source)
|
||||||
|
+calc("lib:",lib,"stl/")
|
||||||
|
+calc("test file:",testfile,"test/")
|
||||||
|
+calc("module:",module,"module/");
|
||||||
println('\ntotal: | ',all,'\tkb');
|
println('\ntotal: | ',all,'\tkb');
|
|
@ -35,6 +35,7 @@ var filechecksum=func(){
|
||||||
"./stl/fg_env.nas", "./stl/file.nas",
|
"./stl/fg_env.nas", "./stl/file.nas",
|
||||||
"./stl/lib.nas", "./stl/list.nas",
|
"./stl/lib.nas", "./stl/list.nas",
|
||||||
"./stl/log.nas", "./stl/module.nas",
|
"./stl/log.nas", "./stl/module.nas",
|
||||||
|
"./stl/padding.nas",
|
||||||
"./stl/process_bar.nas", "./stl/queue.nas",
|
"./stl/process_bar.nas", "./stl/queue.nas",
|
||||||
"./stl/result.nas", "./stl/sort.nas",
|
"./stl/result.nas", "./stl/sort.nas",
|
||||||
"./stl/stack.nas", "./test/ascii-art.nas",
|
"./stl/stack.nas", "./test/ascii-art.nas",
|
||||||
|
|
|
@ -50,10 +50,10 @@ func(){
|
||||||
var bar=process_bar.bar("block","point","line",25);
|
var bar=process_bar.bar("block","point","line",25);
|
||||||
if(key!=nil and chr(key)=="q")
|
if(key!=nil and chr(key)=="q")
|
||||||
break;
|
break;
|
||||||
println("\e[1;1H Memory total(GB) : \e[36m",mem.MemTotal/1024/1024,"\e[0m");
|
println("\e[1;1H\e[1m Memory total(GB) : \e[0m\e[36m",mem.MemTotal/1024/1024,"\e[0m");
|
||||||
println("\e[2;1H Memory free(GB) : \e[36m",mem.MemFree/1024/1024,"\e[0m");
|
println("\e[2;1H\e[1m Memory free(GB) : \e[0m\e[36m",mem.MemFree/1024/1024,"\e[0m");
|
||||||
println("\e[3;1H Memory occupation(%): ",mem_occ>60?"\e[91m":"\e[32m",bar.bar(mem_occ/100)~" ",mem_occ,"\e[0m ");
|
println("\e[3;1H\e[1m Memory occupation(%): \e[0m",mem_occ>60?"\e[91m":"\e[32m",bar.bar(mem_occ/100)~" ",mem_occ,"\e[0m ");
|
||||||
println("\e[4;1H CPU occupation(%) : ",cpu_occ>90?"\e[91m":"\e[32m",bar.bar(cpu_occ/100)~" ",cpu_occ,"\e[0m ");
|
println("\e[4;1H\e[1m CPU occupation(%) : \e[0m",cpu_occ>90?"\e[91m":"\e[32m",bar.bar(cpu_occ/100)~" ",cpu_occ,"\e[0m ");
|
||||||
println("\e[5;1H Press 'q' to quit.");
|
println("\e[5;1H Press 'q' to quit.");
|
||||||
}
|
}
|
||||||
}();
|
}();
|
Loading…
Reference in New Issue