Compare commits

...

2 Commits

Author SHA1 Message Date
34d35d6039 compile_commands.json should be generated per person
All checks were successful
ci/woodpecker/push/workflow Pipeline was successful
2025-09-30 21:44:14 +03:00
a476d1b9e9 Updated README.md, added status badge for continuous integration 2025-09-30 21:39:59 +03:00
3 changed files with 22 additions and 13 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
build/* build/*
.cache .cache
compile_commands.json

View File

@@ -1,9 +1,11 @@
# Lispy stuff # Lispy stuff
[![status-badge](https://ci.emin.software/api/badges/2/status.svg)](https://ci.emin.software/repos/2)
Simple lisp-ish language compiler written in C++. Simple lisp-ish language compiler written in C++.
Right now it doesn't compile much - it's just a parser. Right now it doesn't compile much - it's just a parser.
The goal is to emit bytecode. The bytecode format is not decided yet. The end goal is to emit bytecode. The bytecode format is not decided yet.
## Build ## Build
@@ -16,11 +18,14 @@ cmake ..
make make
``` ```
This will build two executables, `main` and `test`. `test` runs all tests
on the compiler itself
## Development ## Development
I use clangd as the language server. Appropriate `compile_commands.json` I use clangd as the language server. If you want your include files to be handled
(required for clangd, otherwise it can not find include files) is provided. correctly, you'll need to generate `compile_commands.json` yourself. You can
If you'd like to generate them yourself, just use cmake: do this using cmake:
```bash ```bash
cd build cd build
@@ -28,4 +33,15 @@ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
cp compile_commands.json ../ cp compile_commands.json ../
``` ```
After this, clangd should not give you errors on every included header.
## Progress
Woodpecker CI/CD system is integrated.
Currently using Catch2 for unit testing.
Lexing - complete, more token types may be added as necessary
Parsing - This is the next step.
Optimizations -
Emitting Bytecode - the goal.

View File

@@ -1,8 +0,0 @@
[
{
"directory": "/home/haxala1r/Desktop/Programming/C++/lispy-stuff/build",
"command": "/usr/bin/c++ -I/home/haxala1r/Desktop/Programming/C++/lispy-stuff/src/include -o CMakeFiles/main.dir/src/main.cpp.o -c /home/haxala1r/Desktop/Programming/C++/lispy-stuff/src/main.cpp",
"file": "/home/haxala1r/Desktop/Programming/C++/lispy-stuff/src/main.cpp",
"output": "CMakeFiles/main.dir/src/main.cpp.o"
}
]