Nasal-Interpreter/test/calc.nas

50 lines
1.0 KiB
Plaintext
Raw Normal View History

import("lib.nas");
2022-01-16 22:48:00 +08:00
var filename=[
"main.cpp",
"nasal_err.h",
"nasal_ast.h",
"nasal_builtin.h",
"nasal_codegen.h",
"nasal_opt.h",
2022-01-16 22:48:00 +08:00
"nasal_gc.h",
"nasal_import.h",
"nasal_lexer.h",
"nasal_parse.h",
"nasal_vm.h",
"nasal_dbg.h",
"nasal.h"
];
var space=[
" ",
" ",
" ",
"",
"",
" ",
2022-01-16 22:48:00 +08:00
" ",
" ",
" ",
" ",
" ",
" ",
" "
];
var count=func(s,c){
var (cnt,len,ch)=(0,size(s),c[0]);
for(var i=0;i<len;i+=1)
2022-01-16 22:48:00 +08:00
cnt+=(s[i]==ch);
return cnt;
}
func(){
var (bytes,line,semi)=(0,0,0);
2022-01-16 22:48:00 +08:00
forindex(var i;filename){
2021-06-21 01:02:09 +08:00
var s=io.fin(filename[i]);
2022-01-16 22:48:00 +08:00
var (line_cnt,semi_cnt)=(count(s,'\n'),count(s,';'));
2021-06-21 01:02:09 +08:00
println(filename[i],space[i],'| ',line_cnt,' \tline | ',semi_cnt,' \tsemi');
2022-01-16 22:48:00 +08:00
bytes+=size(s);
line+=line_cnt;
semi+=semi_cnt;
}
println('total: | ',line,' \tline | ',semi,' \tsemi');
2021-06-21 01:02:09 +08:00
println('bytes: | ',bytes,' bytes| ',int(bytes/1024),' \tkb');
}();