diff --git a/makefile b/makefile index e7da31d..d04c0e3 100644 --- a/makefile +++ b/makefile @@ -5,7 +5,7 @@ FLEX = flex TARGET = build/py2rb -$(TARGET): build/lexer.o build/parser.o build/ParserCtx.o +$(TARGET): build/lexer.o build/parser.o build/ParserCtx.o build/main.o $(CXX) $^ -o $@ build/lexer.hpp build/lexer.cpp: src/lexer.l build/parser.hpp build @@ -23,6 +23,9 @@ build/parser.o: build/parser.cpp build build/ParserCtx.o: src/ParserCtx.cpp build $(CXX) -c $(ARGS) $< -o $@ +build/main.o: src/main.cpp build + $(CXX) -c $(ARGS) $< -o $@ + build: mkdir -p build diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..260c9e2 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,7 @@ +#include "../build/parser.hpp" + +int main(int argc, char *argv[]) +{ + Elite::ParserCtx ctx; + return ctx.parser->parse(); +} \ No newline at end of file diff --git a/src/parser.y b/src/parser.y index 507b5e4..092e931 100644 --- a/src/parser.y +++ b/src/parser.y @@ -74,12 +74,6 @@ program: FUNCTION; %% -int main(int argc, char *argv[]) -{ - Elite::ParserCtx ctx; - return ctx.parser->parse(); -} - void yy::Parser::error(const yy::location& l, const std::string& m) { std::cerr << l << ": " << m << std::endl;