|
1 | | -This is the canonical implementation of the Prefix programming language in C17, targeting Clang on baseline x64 Windows. |
| 1 | +# Prefix |
2 | 2 |
|
3 | | -The versioning system used is [SemVer 2.0](https://semver.org/). |
| 3 | +C17 implementation of the Prefix programming language. |
| 4 | + |
| 5 | +Overview |
| 6 | +-------- |
| 7 | + |
| 8 | +This repository contains the reference implementation of the Prefix |
| 9 | +programming language, written in ISO C17 and targeting Clang on baseline |
| 10 | + x64 Windows. The codebase includes the lexer, parser, interpreter\runtime, |
| 11 | +standard library bindings, and supporting tools used by the reference |
| 12 | +implementation. |
| 13 | + |
| 14 | +Project layout |
| 15 | +-------------- |
| 16 | + |
| 17 | +- `.github\workflows\`: GH Actions CI configuration. |
| 18 | +- `docs\`: Documentation for Prefix, builds GH Pages site. |
| 19 | +- `ext\` |
| 20 | +- `lib\` |
| 21 | +- `src\`: Source code and headers for the interpreter. |
| 22 | +- `tests\`: Automated test suite. |
| 23 | +- `.gitignore`: Git ignore file. |
| 24 | +- `build.ps1`: Build script for the interpreter and tests. |
| 25 | +- `README.md`: This file. |
| 26 | + |
| 27 | + |
| 28 | +Requirements |
| 29 | +------------- |
| 30 | + |
| 31 | +- Windows Vista or newer. |
| 32 | +- LLVM\Clang toolchain with C17 support. |
| 33 | +- PowerShell (to run the included build script) |
| 34 | + |
| 35 | +Building |
| 36 | +-------- |
| 37 | + |
| 38 | +To build the interpreter run: |
| 39 | + |
| 40 | +```powershell |
| 41 | +& path\to\Prefix\build.ps1 |
| 42 | +``` |
| 43 | + |
| 44 | +The `build.ps1` script invokes Clang and produces the interpreter, standard library, and test binaries. |
| 45 | +Ensure your Clang installation is on `PATH` before running the script. |
| 46 | + |
| 47 | +Testing |
| 48 | +------- |
| 49 | + |
| 50 | +Automated tests live under the top-level `tests\` directory. You can run the test harness with PowerShell: |
| 51 | + |
| 52 | +```powershell |
| 53 | +& path\to\Prefix\tests\test.ps1 |
| 54 | +``` |
| 55 | + |
| 56 | +Documentation |
| 57 | +------------- |
| 58 | + |
| 59 | +The docs are located in `Prefix\docs\`. |
| 60 | + |
| 61 | +License |
| 62 | +------- |
| 63 | + |
| 64 | +Prefix is distributed under the [Unlicense](https://unlicense.org/). |
| 65 | + |
| 66 | +Versioning |
| 67 | +---------- |
| 68 | + |
| 69 | +Prefix follows [SemVer 2.0](https:\\semver.org), treating [the specification](https://python-processing-unit.github.io/Prefix/SPECIFICATION.html) as the public API. |
0 commit comments