From f5def18c2656af64b47f052fb10735ea85aba6f9 Mon Sep 17 00:00:00 2001 From: Quinten Kock Date: Thu, 16 Jul 2020 18:14:46 +0200 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ Makefile | 21 +++++++++++++++++++++ include/types.h | 38 ++++++++++++++++++++++++++++++++++++++ src/main.c | 6 ++++++ 4 files changed, 67 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 include/types.h create mode 100644 src/main.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3aff456 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/lbce +/obj/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cf3dc85 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +src := $(wildcard src/*.c) +obj := $(src:src/%.c=obj/%.o) +headers := $(wildcard include/*.h) + +CC = gcc +CFLAGS = -g -O2 + +.PHONY: clean + +lbce: obj $(obj) $(headers) + $(CC) -o lbce $(LDFLAGS) $(obj) $(LOADLIBES) $(LDLIBS) + +obj/%.o: src/%.c $(headers) + $(CC) -c -o $@ $(CFLAGS) $< + +obj: + mkdir -p obj + +clean: + rm -r obj + rm lbce diff --git a/include/types.h b/include/types.h new file mode 100644 index 0000000..791f495 --- /dev/null +++ b/include/types.h @@ -0,0 +1,38 @@ +#ifndef __TYPES_H +#define __TYPES_H + +#include + +typedef Integer int; + +typedef byte uint8_t; + +struct String { + size_t size; + char* data; +} + +struct Header { + uint32_t signature; + uint8_t lua_version; + uint8_t format_version; + uint8_t endianness; + uint8_t int_size; + uint8_t size_size; + uint8_t instr_size; + uint8_t number_size; + uint8_t integral; +} + +struct Function { + String source_name; + Integer line_def; + Integer line_end; + byte upval_num; + byte param_num; + byte is_vararg; + byte max_stack; + +} + +#endif \ No newline at end of file diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..593f510 --- /dev/null +++ b/src/main.c @@ -0,0 +1,6 @@ +#include + +int main() { + printf("hello"); + return 0; +}