diff --git a/src/nasal.h b/src/nasal.h index 5b6b104..ad651b5 100644 --- a/src/nasal.h +++ b/src/nasal.h @@ -8,6 +8,7 @@ #include #include #include +#include #include // abbreviation of some useful basic type diff --git a/src/nasal_codegen.cpp b/src/nasal_codegen.cpp index 5be79a4..e82044a 100644 --- a/src/nasal_codegen.cpp +++ b/src/nasal_codegen.cpp @@ -1303,7 +1303,7 @@ void codegen::print(std::ostream& out) { out << std::hex << "<0x" << func_begin_stack.top() << std::dec << ">;\n"; // avoid two empty lines if (c.op!=op_newf) { - out<<"\n"; + out << "\n"; } func_begin_stack.pop(); func_end_stack.pop(); @@ -1322,7 +1322,7 @@ void codegen::print(std::ostream& out) { } // output bytecode - out << " " << codestream(c,i) << "\n"; + out << " " << codestream(c, i) << "\n"; } } diff --git a/src/nasal_import.cpp b/src/nasal_import.cpp index 3a5c2cf..f5b31f0 100644 --- a/src/nasal_import.cpp +++ b/src/nasal_import.cpp @@ -198,8 +198,10 @@ code_block* linker::import_regular_file(call_expr* node) { return new code_block({0, 0, 0, 0, filename}); } if (check_self_import(filename)) { - err.err("link", "self-referenced module <" + filename + ">:\n" + - " reference path: " + generate_self_import_path(filename)); + err.err("link", + "self-referenced module <" + filename + ">:\n" + + " reference path: " + generate_self_import_path(filename) + ); return new code_block({0, 0, 0, 0, filename}); } exist(filename); @@ -208,16 +210,19 @@ code_block* linker::import_regular_file(call_expr* node) { // start importing... if (lex.scan(filename).geterr()) { err.err("link", "error occurred when analysing <" + filename + ">"); + return new code_block({0, 0, 0, 0, filename}); } if (par.compile(lex).geterr()) { err.err("link", "error occurred when analysing <" + filename + ">"); + return new code_block({0, 0, 0, 0, filename}); } - auto tmp = par.swap(nullptr); - // check if tmp has 'import' - auto res = load(tmp, find(filename)); + auto parse_result = par.swap(nullptr); + + // check if parse result has 'import' + auto result = load(parse_result, find(filename)); module_load_stack.pop_back(); - return res; + return result; } code_block* linker::import_nasal_lib() { @@ -239,16 +244,18 @@ code_block* linker::import_nasal_lib() { err.err("link", "error occurred when analysing library <" + filename + ">" ); + return new code_block({0, 0, 0, 0, filename}); } if (par.compile(lex).geterr()) { err.err("link", "error occurred when analysing library <" + filename + ">" ); + return new code_block({0, 0, 0, 0, filename}); } - auto tmp = par.swap(nullptr); - // check if tmp has 'import' - return load(tmp, find(filename)); + auto parse_result = par.swap(nullptr); + // check if library has 'import' (in fact it should not) + return load(parse_result, find(filename)); } std::string linker::generate_module_name(const std::string& file_path) { diff --git a/src/optimizer.h b/src/optimizer.h index 3c33453..4a1d6a6 100644 --- a/src/optimizer.h +++ b/src/optimizer.h @@ -7,7 +7,7 @@ namespace nasal { -class optimizer:public ast_visitor { +class optimizer: public ast_visitor { private: void const_string(binary_operator*, string_literal*, string_literal*); void const_number(binary_operator*, number_literal*, number_literal*); diff --git a/src/symbol_finder.h b/src/symbol_finder.h index 3114179..aa7b0cf 100644 --- a/src/symbol_finder.h +++ b/src/symbol_finder.h @@ -9,7 +9,7 @@ namespace nasal { -class symbol_finder:public ast_visitor { +class symbol_finder: public ast_visitor { public: struct symbol_info { std::string name;