Skip to main content

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)

Source distribution for xolir 0.0.1
File Size Uploaded
xolir-0.0.1.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xolir 0.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page