diff --git a/makefile b/makefile index 0fbaaad..1b571d5 100644 --- a/makefile +++ b/makefile @@ -1,5 +1,23 @@ STD=c++17 +NASAL_HEADER=\ + src/ast_dumper.h\ + src/ast_visitor.h\ + src/nasal_ast.h\ + src/nasal_builtin.h\ + src/nasal_codegen.h\ + src/nasal_dbg.h\ + src/nasal_err.h\ + src/nasal_gc.h\ + src/nasal_import.h\ + src/nasal_lexer.h\ + src/nasal_opcode.h\ + src/nasal_parse.h\ + src/nasal_vm.h\ + src/nasal.h\ + src/optimizer.h\ + src/symbol_finder.h + NASAL_OBJECT=\ build/nasal_err.o\ build/nasal_ast.o\ @@ -29,55 +47,96 @@ nasal.exe: $(NASAL_OBJECT) | build build: @ if [ ! -d build ]; then mkdir build; fi -build/main.o: src/nasal.h src/nasal_err.h src/nasal_lexer.h src/main.cpp | build +build/main.o: $(NASAL_HEADER) src/main.cpp | build $(CXX) -std=$(STD) -c -O3 src/main.cpp -fno-exceptions -fPIC -o build/main.o -I . build/nasal_misc.o: src/nasal.h src/nasal_misc.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_misc.cpp -fno-exceptions -fPIC -o build/nasal_misc.o -I . -build/nasal_err.o: src/nasal_err.h src/nasal_err.cpp | build +build/nasal_err.o: src/nasal.h src/nasal_err.h src/nasal_err.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_err.cpp -fno-exceptions -fPIC -o build/nasal_err.o -I . -build/nasal_gc.o: src/nasal_gc.h src/nasal_gc.cpp | build +build/nasal_gc.o: src/nasal.h src/nasal_gc.h src/nasal_gc.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_gc.cpp -fno-exceptions -fPIC -o build/nasal_gc.o -I . -build/nasal_import.o: src/nasal_import.h src/nasal_import.cpp | build +build/nasal_import.o: \ + src/nasal.h\ + src/nasal_ast.h\ + src/nasal_lexer.h\ + src/nasal_parse.h\ + src/nasal_import.h src/nasal_import.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_import.cpp -fno-exceptions -fPIC -o build/nasal_import.o -I . -build/nasal_lexer.o: src/nasal_lexer.h src/nasal_lexer.cpp | build +build/nasal_lexer.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_lexer.h src/nasal_lexer.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_lexer.cpp -fno-exceptions -fPIC -o build/nasal_lexer.o -I . -build/nasal_ast.o: src/nasal_ast.h src/nasal_ast.cpp | build +build/nasal_ast.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_ast.h src/nasal_ast.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_ast.cpp -fno-exceptions -fPIC -o build/nasal_ast.o -I . -build/nasal_builtin.o: src/nasal_builtin.h src/nasal_builtin.cpp | build +build/nasal_builtin.o: \ + src/nasal.h\ + src/nasal_gc.h\ + src/nasal_builtin.h src/nasal_builtin.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_builtin.cpp -fno-exceptions -fPIC -o build/nasal_builtin.o -I . -build/nasal_codegen.o: src/nasal_codegen.h src/nasal_codegen.cpp | build +build/nasal_codegen.o: $(NASAL_HEADER) src/nasal_codegen.h src/nasal_codegen.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_codegen.cpp -fno-exceptions -fPIC -o build/nasal_codegen.o -I . -build/nasal_opcode.o: src/nasal_opcode.h src/nasal_opcode.cpp | build +build/nasal_opcode.o: \ + src/nasal.h\ + src/nasal_builtin.h\ + src/nasal_opcode.h src/nasal_opcode.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_opcode.cpp -fno-exceptions -fPIC -o build/nasal_opcode.o -I . -build/nasal_parse.o: src/nasal_parse.h src/nasal_parse.cpp src/nasal_ast.h | build +build/nasal_parse.o: \ + src/nasal.h\ + src/nasal_ast.h\ + src/nasal_lexer.h\ + src/nasal_err.h\ + src/nasal_parse.h src/nasal_parse.cpp src/nasal_ast.h | build $(CXX) -std=$(STD) -c -O3 src/nasal_parse.cpp -fno-exceptions -fPIC -o build/nasal_parse.o -I . -build/optimizer.o: src/optimizer.h src/optimizer.cpp src/nasal_ast.h | build +build/optimizer.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_ast.h\ + src/ast_visitor.h\ + src/optimizer.h src/optimizer.cpp src/nasal_ast.h | build $(CXX) -std=$(STD) -c -O3 src/optimizer.cpp -fno-exceptions -fPIC -o build/optimizer.o -I . -build/symbol_finder.o: src/symbol_finder.h src/symbol_finder.cpp src/nasal_ast.h | build +build/symbol_finder.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_ast.h\ + src/ast_visitor.h\ + src/symbol_finder.h src/symbol_finder.cpp src/nasal_ast.h | build $(CXX) -std=$(STD) -c -O3 src/symbol_finder.cpp -fno-exceptions -fPIC -o build/symbol_finder.o -I . -build/ast_visitor.o: src/nasal_ast.h src/ast_visitor.h src/ast_visitor.cpp | build +build/ast_visitor.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_ast.h\ + src/ast_visitor.h src/ast_visitor.cpp | build $(CXX) -std=$(STD) -c -O3 src/ast_visitor.cpp -fno-exceptions -fPIC -o build/ast_visitor.o -I . -build/ast_dumper.o: src/nasal_ast.h src/ast_visitor.h src/ast_dumper.h src/ast_dumper.cpp +build/ast_dumper.o: \ + src/nasal.h\ + src/nasal_err.h\ + src/nasal_ast.h\ + src/ast_visitor.h\ + src/ast_dumper.h src/ast_dumper.cpp | build $(CXX) -std=$(STD) -c -O3 src/ast_dumper.cpp -fno-exceptions -fPIC -o build/ast_dumper.o -I . -build/nasal_vm.o: src/nasal_vm.h src/nasal_vm.cpp | build +build/nasal_vm.o: $(NASAL_HEADER) src/nasal_vm.h src/nasal_vm.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_vm.cpp -fno-exceptions -fPIC -o build/nasal_vm.o -I . -build/nasal_dbg.o: src/nasal_dbg.h src/nasal_dbg.cpp | build +build/nasal_dbg.o: $(NASAL_HEADER) src/nasal_dbg.h src/nasal_dbg.cpp | build $(CXX) -std=$(STD) -c -O3 src/nasal_dbg.cpp -fno-exceptions -fPIC -o build/nasal_dbg.o -I . .PHONY: clean diff --git a/src/nasal_dbg.cpp b/src/nasal_dbg.cpp index d88e181..66b73f6 100644 --- a/src/nasal_dbg.cpp +++ b/src/nasal_dbg.cpp @@ -2,14 +2,13 @@ std::vector dbg::parse(const std::string& cmd) { std::vector res; - usize last=0; - usize pos=cmd.find(" ", 0); + usize last = 0, pos = cmd.find(" ", 0); while(pos!=std::string::npos) { if (pos>last) { res.push_back(cmd.substr(last, pos-last)); } - last=pos+1; - pos=cmd.find(" ", last); + last = pos+1; + pos = cmd.find(" ", last); } if (last dbg::parse(const std::string& cmd) { } u16 dbg::file_index(const std::string& filename) const { - for(u16 i=0;i\n" - <<" h, help | get help\n" - <<" bt, backtrace | get function call trace\n" - <<" c, continue | run program until break point or exit\n" - <<" f, file | see all the compiled files\n" - <<" g, global | see global values\n" - <<" l, local | see local values\n" - <<" u, upval | see upvalue\n" - <<" r, register | show vm register detail\n" - <<" a, all | show global,local and upvalue\n" - <<" n, next | execute next bytecode\n" - <<" q, exit | exit debugger\n" - <<"