syx is a small Lisp-like interpreter written in C. It is intended as a compact, self-contained runtime for experimenting with S-expression syntax, evaluation, and language design.
The repository includes:
src/: interpreter implementation and language runtimesrc/main.c: program entry point and CLI handlingvendor/: bundled third-party headers and helperstests/: language and runtime test casestests.c: test runner implementationlanguage.md: design notes and language semanticstodo.md: planned work and ongoing tasks
This repository uses nob as the project helper.
After generating ./nob, you can run commands like:
./nob
./nob run
./nob tests
./nob clean./nob builds the project, runs the interpreter, executes tests, and manages generated artifacts.
If you want to explore or extend the language, start with language.md and src/.
Use ./nob tests to verify behavior after making changes.