aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-03 17:29:12 +0900
committernsfisis <nsfisis@gmail.com>2026-05-03 18:42:58 +0900
commit3654ce578e6fff53950874adf7e0e4ae0a6eb956 (patch)
tree5b6c04273de38dba70b7c25e55da144f5f7c37da
parent1b406b13b03055d2b2d08e8279a4a80c41ca7c20 (diff)
downloadducc-3654ce578e6fff53950874adf7e0e4ae0a6eb956.tar.gz
ducc-3654ce578e6fff53950874adf7e0e4ae0a6eb956.tar.zst
ducc-3654ce578e6fff53950874adf7e0e4ae0a6eb956.zip
refactor: organize directory structureHEADmain
-rw-r--r--Makefile32
-rw-r--r--src/cc1/ast.c (renamed from src/ast.c)2
-rw-r--r--src/cc1/ast.h (renamed from src/ast.h)2
-rw-r--r--src/cc1/codegen.c (renamed from src/codegen.c)2
-rw-r--r--src/cc1/codegen.h (renamed from src/codegen.h)0
-rw-r--r--src/cc1/codegen_wasm.c (renamed from src/codegen_wasm.c)2
-rw-r--r--src/cc1/codegen_wasm.h (renamed from src/codegen_wasm.h)0
-rw-r--r--src/cc1/fs.c (renamed from src/fs.c)0
-rw-r--r--src/cc1/fs.h (renamed from src/fs.h)0
-rw-r--r--src/cc1/io.c (renamed from src/io.c)4
-rw-r--r--src/cc1/io.h (renamed from src/io.h)2
-rw-r--r--src/cc1/parse.c (renamed from src/parse.c)2
-rw-r--r--src/cc1/parse.h (renamed from src/parse.h)2
-rw-r--r--src/cc1/preprocess.c (renamed from src/preprocess.c)2
-rw-r--r--src/cc1/preprocess.h (renamed from src/preprocess.h)2
-rw-r--r--src/cc1/sys.c (renamed from src/sys.c)2
-rw-r--r--src/cc1/sys.h (renamed from src/sys.h)0
-rw-r--r--src/cc1/token.c (renamed from src/token.c)4
-rw-r--r--src/cc1/token.h (renamed from src/token.h)2
-rw-r--r--src/cc1/tokenize.c (renamed from src/tokenize.c)2
-rw-r--r--src/cc1/tokenize.h (renamed from src/tokenize.h)0
-rw-r--r--src/ducc/cli.c (renamed from src/cli.c)2
-rw-r--r--src/ducc/cli.h (renamed from src/cli.h)2
-rw-r--r--src/ducc/main.c (renamed from src/main.c)18
-rw-r--r--src/ducc/version.h (renamed from src/version.h)0
-rw-r--r--src/lib/common.c (renamed from src/common.c)0
-rw-r--r--src/lib/common.h (renamed from src/common.h)0
-rw-r--r--src/lib/ducc.h (renamed from src/ducc.h)0
-rw-r--r--src/lib/json.c (renamed from src/json.c)0
-rw-r--r--src/lib/json.h (renamed from src/json.h)0
30 files changed, 44 insertions, 42 deletions
diff --git a/Makefile b/Makefile
index c4eb6bb..c8c27cd 100644
--- a/Makefile
+++ b/Makefile
@@ -4,26 +4,28 @@ BUILD_ROOT_DIR := build
BUILD_DIR := $(BUILD_ROOT_DIR)/.$(TARGET)
OBJECTS := \
- $(BUILD_DIR)/main.o \
- $(BUILD_DIR)/ast.o \
- $(BUILD_DIR)/cli.o \
- $(BUILD_DIR)/codegen.o \
- $(BUILD_DIR)/codegen_wasm.o \
- $(BUILD_DIR)/common.o \
- $(BUILD_DIR)/fs.o \
- $(BUILD_DIR)/io.o \
- $(BUILD_DIR)/json.o \
- $(BUILD_DIR)/parse.o \
- $(BUILD_DIR)/preprocess.o \
- $(BUILD_DIR)/sys.o \
- $(BUILD_DIR)/token.o \
- $(BUILD_DIR)/tokenize.o
+ $(BUILD_DIR)/cc1/ast.o \
+ $(BUILD_DIR)/cc1/codegen.o \
+ $(BUILD_DIR)/cc1/codegen_wasm.o \
+ $(BUILD_DIR)/cc1/fs.o \
+ $(BUILD_DIR)/cc1/io.o \
+ $(BUILD_DIR)/cc1/parse.o \
+ $(BUILD_DIR)/cc1/preprocess.o \
+ $(BUILD_DIR)/cc1/sys.o \
+ $(BUILD_DIR)/cc1/token.o \
+ $(BUILD_DIR)/cc1/tokenize.o \
+ $(BUILD_DIR)/ducc/cli.o \
+ $(BUILD_DIR)/ducc/main.o \
+ $(BUILD_DIR)/lib/common.o \
+ $(BUILD_DIR)/lib/json.o
.PHONY: all
all: $(BUILD_DIR) $(BUILD_ROOT_DIR)/$(TARGET)
$(BUILD_DIR):
- @mkdir -p $(BUILD_DIR)
+ @mkdir -p $(BUILD_DIR)/cc1
+ @mkdir -p $(BUILD_DIR)/ducc
+ @mkdir -p $(BUILD_DIR)/lib
# TODO: provide release build?
# TODO: use -std=c23 instead of -std=gnu23
diff --git a/src/ast.c b/src/cc1/ast.c
index 0dcec0d..efd16ae 100644
--- a/src/ast.c
+++ b/src/cc1/ast.c
@@ -1,5 +1,5 @@
#include "ast.h"
-#include "common.h"
+#include "../lib/common.h"
#include "preprocess.h"
const char* storageclass_stringify(StorageClass s) {
diff --git a/src/ast.h b/src/cc1/ast.h
index c6fd0e2..ef984a9 100644
--- a/src/ast.h
+++ b/src/cc1/ast.h
@@ -1,7 +1,7 @@
#ifndef DUCC_AST_H
#define DUCC_AST_H
-#include "ducc.h"
+#include "../lib/ducc.h"
#include "io.h"
typedef enum {
diff --git a/src/codegen.c b/src/cc1/codegen.c
index 10a0287..a08f6ad 100644
--- a/src/codegen.c
+++ b/src/cc1/codegen.c
@@ -1,7 +1,7 @@
#include "codegen.h"
#include <stdlib.h>
#include <string.h>
-#include "common.h"
+#include "../lib/common.h"
#include "parse.h"
#include "preprocess.h"
diff --git a/src/codegen.h b/src/cc1/codegen.h
index 2c1d7b3..2c1d7b3 100644
--- a/src/codegen.h
+++ b/src/cc1/codegen.h
diff --git a/src/codegen_wasm.c b/src/cc1/codegen_wasm.c
index 01dfe42..c7f8870 100644
--- a/src/codegen_wasm.c
+++ b/src/cc1/codegen_wasm.c
@@ -1,7 +1,7 @@
#include <stdlib.h>
#include <string.h>
+#include "../lib/common.h"
#include "codegen.h"
-#include "common.h"
#include "preprocess.h"
typedef enum {
diff --git a/src/codegen_wasm.h b/src/cc1/codegen_wasm.h
index 1089154..1089154 100644
--- a/src/codegen_wasm.h
+++ b/src/cc1/codegen_wasm.h
diff --git a/src/fs.c b/src/cc1/fs.c
index c702fa4..c702fa4 100644
--- a/src/fs.c
+++ b/src/cc1/fs.c
diff --git a/src/fs.h b/src/cc1/fs.h
index b71889f..b71889f 100644
--- a/src/fs.h
+++ b/src/cc1/fs.h
diff --git a/src/io.c b/src/cc1/io.c
index 469c868..65cd448 100644
--- a/src/io.c
+++ b/src/cc1/io.c
@@ -2,8 +2,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "common.h"
-#include "json.h"
+#include "../lib/common.h"
+#include "../lib/json.h"
void sourcelocation_build_json(JsonBuilder* builder, SourceLocation* loc) {
jsonbuilder_object_start(builder);
diff --git a/src/io.h b/src/cc1/io.h
index 71e25b0..be48b51 100644
--- a/src/io.h
+++ b/src/cc1/io.h
@@ -1,7 +1,7 @@
#ifndef DUCC_IO_H
#define DUCC_IO_H
-#include "json.h"
+#include "../lib/json.h"
typedef struct {
const char* filename;
diff --git a/src/parse.c b/src/cc1/parse.c
index b95bc1e..52167c1 100644
--- a/src/parse.c
+++ b/src/cc1/parse.c
@@ -1,5 +1,5 @@
#include "parse.h"
-#include "common.h"
+#include "../lib/common.h"
#include "tokenize.h"
typedef struct {
diff --git a/src/parse.h b/src/cc1/parse.h
index d5a443c..f229b77 100644
--- a/src/parse.h
+++ b/src/cc1/parse.h
@@ -1,8 +1,8 @@
#ifndef DUCC_PARSE_H
#define DUCC_PARSE_H
+#include "../lib/common.h"
#include "ast.h"
-#include "common.h"
#include "preprocess.h"
Program* parse(TokenArray* tokens);
diff --git a/src/preprocess.c b/src/cc1/preprocess.c
index 1bdaaf9..d050119 100644
--- a/src/preprocess.c
+++ b/src/cc1/preprocess.c
@@ -1,7 +1,7 @@
#include "preprocess.h"
#include <libgen.h>
#include <unistd.h>
-#include "common.h"
+#include "../lib/common.h"
#include "parse.h"
#include "sys.h"
#include "tokenize.h"
diff --git a/src/preprocess.h b/src/cc1/preprocess.h
index 60672c6..8d86fe5 100644
--- a/src/preprocess.h
+++ b/src/cc1/preprocess.h
@@ -1,7 +1,7 @@
#ifndef DUCC_PREPROCESS_H
#define DUCC_PREPROCESS_H
-#include "common.h"
+#include "../lib/common.h"
#include "io.h"
#include "token.h"
diff --git a/src/sys.c b/src/cc1/sys.c
index 7e0025a..693062a 100644
--- a/src/sys.c
+++ b/src/cc1/sys.c
@@ -2,7 +2,7 @@
#include <libgen.h>
#include <linux/limits.h>
#include <unistd.h>
-#include "ducc.h"
+#include "../lib/ducc.h"
static char* get_self_path() {
char* buf = calloc(PATH_MAX, sizeof(char));
diff --git a/src/sys.h b/src/cc1/sys.h
index 2527724..2527724 100644
--- a/src/sys.h
+++ b/src/cc1/sys.h
diff --git a/src/token.c b/src/cc1/token.c
index 726a912..480a9a5 100644
--- a/src/token.c
+++ b/src/cc1/token.c
@@ -1,6 +1,6 @@
#include "token.h"
-#include "common.h"
-#include "json.h"
+#include "../lib/common.h"
+#include "../lib/json.h"
const char* token_kind_stringify(TokenKind k) {
if (k == TokenKind_eof)
diff --git a/src/token.h b/src/cc1/token.h
index 6c4f20b..46490c1 100644
--- a/src/token.h
+++ b/src/cc1/token.h
@@ -1,7 +1,7 @@
#ifndef DUCC_TOKEN_H
#define DUCC_TOKEN_H
-#include "ducc.h"
+#include "../lib/ducc.h"
#include "io.h"
typedef enum {
diff --git a/src/tokenize.c b/src/cc1/tokenize.c
index 6e9ad43..78b1acb 100644
--- a/src/tokenize.c
+++ b/src/cc1/tokenize.c
@@ -1,6 +1,6 @@
#include "tokenize.h"
#include <ctype.h>
-#include "common.h"
+#include "../lib/common.h"
typedef struct {
InFile* src;
diff --git a/src/tokenize.h b/src/cc1/tokenize.h
index fd334a1..fd334a1 100644
--- a/src/tokenize.h
+++ b/src/cc1/tokenize.h
diff --git a/src/cli.c b/src/ducc/cli.c
index b890375..3ea363a 100644
--- a/src/cli.c
+++ b/src/ducc/cli.c
@@ -2,7 +2,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "common.h"
+#include "../lib/common.h"
#include "version.h"
static void print_version() {
diff --git a/src/cli.h b/src/ducc/cli.h
index 7691323..b9cfc87 100644
--- a/src/cli.h
+++ b/src/ducc/cli.h
@@ -1,7 +1,7 @@
#ifndef DUCC_CLI_H
#define DUCC_CLI_H
-#include "common.h"
+#include "../lib/common.h"
typedef struct {
const char* input_filename;
diff --git a/src/main.c b/src/ducc/main.c
index 63422b5..18bdcbf 100644
--- a/src/main.c
+++ b/src/ducc/main.c
@@ -1,13 +1,13 @@
-#include "ast.h"
+#include "../cc1/ast.h"
+#include "../cc1/codegen.h"
+#include "../cc1/codegen_wasm.h"
+#include "../cc1/fs.h"
+#include "../cc1/io.h"
+#include "../cc1/parse.h"
+#include "../cc1/preprocess.h"
+#include "../cc1/tokenize.h"
+#include "../lib/common.h"
#include "cli.h"
-#include "codegen.h"
-#include "codegen_wasm.h"
-#include "common.h"
-#include "fs.h"
-#include "io.h"
-#include "parse.h"
-#include "preprocess.h"
-#include "tokenize.h"
int main(int argc, char** argv) {
CliArgs* cli_args = parse_cli_args(argc, argv);
diff --git a/src/version.h b/src/ducc/version.h
index 67c2352..67c2352 100644
--- a/src/version.h
+++ b/src/ducc/version.h
diff --git a/src/common.c b/src/lib/common.c
index af35064..af35064 100644
--- a/src/common.c
+++ b/src/lib/common.c
diff --git a/src/common.h b/src/lib/common.h
index bb94e79..bb94e79 100644
--- a/src/common.h
+++ b/src/lib/common.h
diff --git a/src/ducc.h b/src/lib/ducc.h
index 31ee977..31ee977 100644
--- a/src/ducc.h
+++ b/src/lib/ducc.h
diff --git a/src/json.c b/src/lib/json.c
index 0384516..0384516 100644
--- a/src/json.c
+++ b/src/lib/json.c
diff --git a/src/json.h b/src/lib/json.h
index 9322901..9322901 100644
--- a/src/json.h
+++ b/src/lib/json.h