🚀 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
|
||||
# ValKmjolnir 2021
|
||||
|
||||
var ResultTrait={
|
||||
Ok:func(val){
|
||||
me.ok=val;
|
||||
me.flag=0;
|
||||
return me;
|
||||
},
|
||||
Err:func(info){
|
||||
me.err=info;
|
||||
me.flag=1;
|
||||
return me;
|
||||
},
|
||||
unwrap:func(){
|
||||
if(me.flag)
|
||||
die(me.err);
|
||||
return me.ok;
|
||||
}
|
||||
};
|
||||
|
||||
var Result=func(){
|
||||
var (ok,err,flag)=(nil,"",1);
|
||||
return{
|
||||
ok:nil,
|
||||
err:"",
|
||||
flag:1,
|
||||
parents:[ResultTrait]
|
||||
Ok:func(val){
|
||||
ok=val;
|
||||
flag=0;
|
||||
return me;
|
||||
},
|
||||
Err:func(info){
|
||||
err=info;
|
||||
flag=1;
|
||||
return me;
|
||||
},
|
||||
unwrap:func(){
|
||||
if(flag)
|
||||
die(err);
|
||||
return ok;
|
||||
}
|
||||
};
|
||||
};
|
166
test/calc.nas
166
test/calc.nas
|
@ -1,89 +1,100 @@
|
|||
import.stl.padding;
|
||||
|
||||
var source=[
|
||||
"main.cpp ",
|
||||
"nasal_ast.h ",
|
||||
"nasal_builtin.h ",
|
||||
"nasal_codegen.h ",
|
||||
"nasal_dbg.h ",
|
||||
"nasal_err.h ",
|
||||
"nasal_gc.h ",
|
||||
"nasal_import.h ",
|
||||
"nasal_lexer.h ",
|
||||
"nasal_opt.h ",
|
||||
"nasal_parse.h ",
|
||||
"nasal_vm.h ",
|
||||
"nasal.h "
|
||||
"main.cpp",
|
||||
"nasal_ast.h",
|
||||
"nasal_builtin.h",
|
||||
"nasal_codegen.h",
|
||||
"nasal_dbg.h",
|
||||
"nasal_err.h",
|
||||
"nasal_gc.h",
|
||||
"nasal_import.h",
|
||||
"nasal_lexer.h",
|
||||
"nasal_opt.h",
|
||||
"nasal_parse.h",
|
||||
"nasal_vm.h",
|
||||
"nasal.h"
|
||||
];
|
||||
|
||||
var lib=[
|
||||
"fg_env.nas ",
|
||||
"file.nas ",
|
||||
"lib.nas ",
|
||||
"list.nas ",
|
||||
"log.nas ",
|
||||
"module.nas ",
|
||||
"process_bar.nas ",
|
||||
"queue.nas ",
|
||||
"result.nas ",
|
||||
"sort.nas ",
|
||||
"stack.nas "
|
||||
"fg_env.nas",
|
||||
"file.nas",
|
||||
"lib.nas",
|
||||
"list.nas",
|
||||
"log.nas",
|
||||
"module.nas",
|
||||
"padding.nas",
|
||||
"process_bar.nas",
|
||||
"queue.nas",
|
||||
"result.nas",
|
||||
"sort.nas",
|
||||
"stack.nas"
|
||||
];
|
||||
|
||||
var testfile=[
|
||||
"ascii-art.nas ",
|
||||
"auto_crash.nas ",
|
||||
"bf.nas ",
|
||||
"bfcolored.nas ",
|
||||
"bfconvertor.nas ",
|
||||
"bfs.nas ",
|
||||
"bigloop.nas ",
|
||||
"bp.nas ",
|
||||
"calc.nas ",
|
||||
"choice.nas ",
|
||||
"class.nas ",
|
||||
"coroutine.nas ",
|
||||
"diff.nas ",
|
||||
"exception.nas ",
|
||||
"fib.nas ",
|
||||
"filesystem.nas ",
|
||||
"hexdump.nas ",
|
||||
"httptest.nas ",
|
||||
"json.nas ",
|
||||
"leetcode1319.nas ",
|
||||
"lexer.nas ",
|
||||
"life.nas ",
|
||||
"loop.nas ",
|
||||
"mandel.nas ",
|
||||
"mandelbrot.nas ",
|
||||
"md5.nas ",
|
||||
"md5compare.nas ",
|
||||
"module_test.nas ",
|
||||
"nasal_test.nas ",
|
||||
"occupation.nas ",
|
||||
"pi.nas ",
|
||||
"ppmgen.nas ",
|
||||
"prime.nas ",
|
||||
"qrcode.nas ",
|
||||
"quick_sort.nas ",
|
||||
"scalar.nas ",
|
||||
"snake.nas ",
|
||||
"tetris.nas ",
|
||||
"trait.nas ",
|
||||
"ascii-art.nas",
|
||||
"auto_crash.nas",
|
||||
"bf.nas",
|
||||
"bfcolored.nas",
|
||||
"bfconvertor.nas",
|
||||
"bfs.nas",
|
||||
"bigloop.nas",
|
||||
"bp.nas",
|
||||
"calc.nas",
|
||||
"choice.nas",
|
||||
"class.nas",
|
||||
"coroutine.nas",
|
||||
"diff.nas",
|
||||
"exception.nas",
|
||||
"fib.nas",
|
||||
"filesystem.nas",
|
||||
"hexdump.nas",
|
||||
"httptest.nas",
|
||||
"json.nas",
|
||||
"leetcode1319.nas",
|
||||
"lexer.nas",
|
||||
"life.nas",
|
||||
"loop.nas",
|
||||
"mandel.nas",
|
||||
"mandelbrot.nas",
|
||||
"md5.nas",
|
||||
"md5compare.nas",
|
||||
"module_test.nas",
|
||||
"nasal_test.nas",
|
||||
"occupation.nas",
|
||||
"pi.nas",
|
||||
"ppmgen.nas",
|
||||
"prime.nas",
|
||||
"qrcode.nas",
|
||||
"quick_sort.nas",
|
||||
"scalar.nas",
|
||||
"snake.nas",
|
||||
"tetris.nas",
|
||||
"trait.nas",
|
||||
"turingmachine.nas",
|
||||
"utf8chk.nas ",
|
||||
"watchdog.nas ",
|
||||
"wavecollapse.nas ",
|
||||
"ycombinator.nas "
|
||||
"utf8chk.nas",
|
||||
"watchdog.nas",
|
||||
"wavecollapse.nas",
|
||||
"ycombinator.nas"
|
||||
];
|
||||
|
||||
var module=[
|
||||
"fib.cpp ",
|
||||
"keyboard.cpp ",
|
||||
"nasocket.cpp ",
|
||||
"libfib.nas ",
|
||||
"libkey.nas ",
|
||||
"libsock.nas "
|
||||
"fib.cpp",
|
||||
"keyboard.cpp",
|
||||
"nasocket.cpp",
|
||||
"libfib.nas",
|
||||
"libkey.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 (len,ch)=(size(s),' '[0]);
|
||||
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=""){
|
||||
println(codetype);
|
||||
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){
|
||||
var s=io.fin(getname(path~files[i]));
|
||||
(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);
|
||||
line+=line_cnt;
|
||||
semi+=semi_cnt;
|
||||
|
@ -113,5 +126,8 @@ var calc=func(codetype,files,path=""){
|
|||
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');
|
|
@ -35,6 +35,7 @@ var filechecksum=func(){
|
|||
"./stl/fg_env.nas", "./stl/file.nas",
|
||||
"./stl/lib.nas", "./stl/list.nas",
|
||||
"./stl/log.nas", "./stl/module.nas",
|
||||
"./stl/padding.nas",
|
||||
"./stl/process_bar.nas", "./stl/queue.nas",
|
||||
"./stl/result.nas", "./stl/sort.nas",
|
||||
"./stl/stack.nas", "./test/ascii-art.nas",
|
||||
|
|
|
@ -50,10 +50,10 @@ func(){
|
|||
var bar=process_bar.bar("block","point","line",25);
|
||||
if(key!=nil and chr(key)=="q")
|
||||
break;
|
||||
println("\e[1;1H Memory total(GB) : \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[3;1H Memory occupation(%): ",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[1;1H\e[1m Memory total(GB) : \e[0m\e[36m",mem.MemTotal/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\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\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.");
|
||||
}
|
||||
}();
|
Loading…
Reference in New Issue