about summary refs log tree commit diff
path: root/boot/common.c
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-07-09 04:46:58 +0200
committerMel <mel@rnrd.eu>2025-07-09 04:46:58 +0200
commitefa510e6b58ce13c53e94f13a5be0007240e9dcc (patch)
tree7bcebe71e6d90d7e0004be1f975e5028b3c1b530 /boot/common.c
parent3620cabd1d722e4acc761c7278aa44aba902006c (diff)
downloadcatskill-efa510e6b58ce13c53e94f13a5be0007240e9dcc.tar.zst
catskill-efa510e6b58ce13c53e94f13a5be0007240e9dcc.zip
Display human-readable, informative parser error messages w/ source snippet
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'boot/common.c')
-rw-r--r--boot/common.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/boot/common.c b/boot/common.c
index a072f60..1835cd7 100644
--- a/boot/common.c
+++ b/boot/common.c
@@ -249,6 +249,14 @@ string_array_at(const struct String_Array* array, uint index)
     struct String str = array.strings[0];         \
     for (uint cursor = 0; cursor < array.count; str = array.strings[++cursor])
 
+// a source file given to the compiler.
+struct Source_File
+{
+    struct String source;
+    // path to the source file, relative to the current working directory.
+    struct String path;
+};
+
 // single iteration of the CRC32 checksum algorithm
 // described in POSIX.
 // see: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/cksum.html