Xolir (Tel IR schema)
Goal
Some languages, like Tel, compile to multiple other languages. All the parsing and type checking is shared, but codegen is different.
To facilitate this, there needs to be a clear api that different code generator backends can consume. Since these backends may be different processes, it should be serializable.
That is Xolir - a cross-language intermediary representation (xo l ir). It is made for, but not restricted to, Tel.
Usage
The IR is specified in Protobuf3 format. You can compile this yourself with protoc
rm -rf target/ &&\
bash run.sh build &&\
sudo chown $USER:$USER -R target/
Tests
There is a test that generates some Xolir data with python and generates Java code.
See tests/test.sh to run this.
Implementation
Note that the language you generate the code for doesn't have to be the same language that the code generator is implemented in.
This uses protobuf. While this is not as descriptive as e.g. json-schema, this has better support for generating fast code in a range of languages.
Metadata
Release files for xolir 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xolir-0.0.1.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xolir-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.7 kB
Release files / xolir-0.0.1.tar.gz
| Download URL | xolir-0.0.1.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1d2b2b3ff34560e6b88243d1d7b9db193bfe9c4a26e497c7c589fc3b55a6baa
|
|
BLAKE2b-256 checksum How to use checksums |
b16c758efbdee9f7ccb02efc57bf678751df5312ecf7f4ec7aa5e0ca8bd7bea4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / xolir-0.0.1-py3-none-any.whl
| Download URL | xolir-0.0.1-py3-none-any.whl |
|---|---|
| Size | 2.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c65f8851efca779bd1bb3291493cc407a14c4d8e799dff2b0727450160a17b5
|
|
BLAKE2b-256 checksum How to use checksums |
36f182256f57ff3e60fbeb102242b6836c27caaae547f62a686dbde1de901803
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|