This commit is contained in:
ValKmjolnir 2021-08-09 01:02:27 +08:00
parent 76a2548e95
commit 65dfef0a33
7 changed files with 10 additions and 10 deletions

View File

@ -20,7 +20,7 @@ void help_cmd()
<<" -c, --code | view bytecode.\n" <<" -c, --code | view bytecode.\n"
<<" -e, --exec | execute script file.\n" <<" -e, --exec | execute script file.\n"
<<" -t, --time | execute and get the running time.\n" <<" -t, --time | execute and get the running time.\n"
<<" -o, --opcn | count operands while running.\n" <<" -o, --opcnt | count operands while running.\n"
<<"file:\n" <<"file:\n"
<<" input file name to execute script file.\n"; <<" input file name to execute script file.\n";
return; return;

View File

@ -54,7 +54,7 @@ nasal_val* builtin_right(std::vector<nasal_val*>&,nasal_gc&);
nasal_val* builtin_cmp(std::vector<nasal_val*>&,nasal_gc&); nasal_val* builtin_cmp(std::vector<nasal_val*>&,nasal_gc&);
nasal_val* builtin_chr(std::vector<nasal_val*>&,nasal_gc&); nasal_val* builtin_chr(std::vector<nasal_val*>&,nasal_gc&);
#define builtin_err(func_name,info) std::cout<<">> [vm] "<<func_name<<": "<<info<<".\n" #define builtin_err(func_name,info) std::cout<<"[vm] "<<func_name<<": "<<info<<".\n"
// register builtin function's name and it's address here in this table below // register builtin function's name and it's address here in this table below
// this table must end with {"",nullptr} // this table must end with {"",nullptr}

View File

@ -259,7 +259,7 @@ public:
void nasal_codegen::die(std::string info,int line) void nasal_codegen::die(std::string info,int line)
{ {
++error; ++error;
std::cout<<">> [code] line "<<line<<": "<<info<<"\n"; std::cout<<"[code] line "<<line<<": "<<info<<"\n";
return; return;
} }

View File

@ -25,7 +25,7 @@ public:
void nasal_import::die(std::string& filename,const char* error_stage) void nasal_import::die(std::string& filename,const char* error_stage)
{ {
++error; ++error;
std::cout<<">> [import] in <\""<<filename<<"\">: error(s) occurred in "<<error_stage<<".\n"; std::cout<<"[import] in <\""<<filename<<"\">: error(s) occurred in "<<error_stage<<".\n";
return; return;
} }

View File

@ -124,7 +124,7 @@ void nasal_lexer::openfile(std::string& filename)
if(fin.fail()) if(fin.fail())
{ {
++error; ++error;
std::cout<<">> [lexer] cannot open file <"<<filename<<">.\n"; std::cout<<"[lexer] cannot open file <"<<filename<<">.\n";
fin.close(); fin.close();
return; return;
} }
@ -150,7 +150,7 @@ int nasal_lexer::get_tok_type(std::string& tk_str)
void nasal_lexer::die(const char* error_info) void nasal_lexer::die(const char* error_info)
{ {
++error; ++error;
std::cout<<">> [lexer] line "<<line<<" column "<<line_code.length()<<": \n"<<line_code<<"\n"; std::cout<<"[lexer] line "<<line<<" column "<<line_code.length()<<": \n"<<line_code<<"\n";
for(auto i:line_code) for(auto i:line_code)
std::cout<<(i=='\t'?'\t':' '); std::cout<<(i=='\t'?'\t':' ');
std::cout<<"^"<<error_info<<'\n'; std::cout<<"^"<<error_info<<'\n';

View File

@ -127,7 +127,7 @@ void nasal_parse::main_process(std::vector<token>& toks)
if(!error_token.size()) if(!error_token.size())
return; return;
++error; ++error;
std::cout<<">> [parse] line"; std::cout<<"[parse] line";
int err_line=0; int err_line=0;
for(auto& tok:error_token) for(auto& tok:error_token)
if(err_line!=tok.line) if(err_line!=tok.line)
@ -143,7 +143,7 @@ void nasal_parse::main_process(std::vector<token>& toks)
void nasal_parse::die(int line,std::string&& info) void nasal_parse::die(int line,std::string&& info)
{ {
++error; ++error;
std::cout<<">> [parse] line "<<line<<": "<<info<<".\n"; std::cout<<"[parse] line "<<line<<": "<<info<<".\n";
return; return;
} }
void nasal_parse::match(int type,const char* err_info) void nasal_parse::match(int type,const char* err_info)

View File

@ -206,7 +206,7 @@ void nasal_vm::stackinfo(int limit)
} }
void nasal_vm::die(std::string str) void nasal_vm::die(std::string str)
{ {
printf(">> [vm] error at 0x%.8x: %s\n",pc,str.c_str()); printf("[vm] error at 0x%.8x: %s\n",pc,str.c_str());
// trace back will use ret_stack // trace back will use ret_stack
ret.push(pc); ret.push(pc);
traceback(); traceback();
@ -216,7 +216,7 @@ void nasal_vm::die(std::string str)
} }
void nasal_vm::stackoverflow() void nasal_vm::stackoverflow()
{ {
printf(">> [vm] stack overflow\n"); printf("[vm] stack overflow\n");
traceback(); traceback();
stackinfo(10); stackinfo(10);
return; return;