Skip to main content

A placeholder language with shareable bytecode IR

Project description

X Programming Language

X is a placeholder language with a python and JS like syntax and a shareable bytecode IR that can be translated into any other programming language.

Languages Supported

  1. C
  2. C++
  3. Java
  4. Python

What does this list mean? This means that you can compile your X code into any one of these programming languages 😲😲😲😲!

Pipeline

Steps to run

  1. Write a script in X and save it with .x extension.

  2. To run the script:

user@programmer~:$ x -i <filename>.x
  1. To compile to C:
user@programmer~:$ x -i <filename.x> --decompile-c
  1. To compile to C++:
user@programmer~:$ x -i <filename.x> --decompile-cpp
  1. To compile to Java:
user@programmer~:$ x -i <filename.x> --decompile-java
  1. To compile to Python:
user@programmer~:$ x -i <filename.x> --decompile-py

Tools for X language developers

  1. Check the tokens for the script
user@programmer~:$ x -i <filename>.x -t
  1. Check the syntax tree for the script
user@programmer~:$ x -i <filename>.x -p
  1. Check the compiled bytecodes for the script
user@programmer~:$ x -i <filename>.x -c
  1. X also offers a web based debugger called xdb. To use it start the xdb server and follow along
user@programmer~:$ xdb

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langx-0.1a0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

langx-0.1a0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file langx-0.1a0.tar.gz.

File metadata

  • Download URL: langx-0.1a0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for langx-0.1a0.tar.gz
Algorithm Hash digest
SHA256 25807858d96cf1c59b3be65a3ebde3fb38415eec42754389170b7d852a8a2802
MD5 178d8be0d305f9347d754cc4fad7bc90
BLAKE2b-256 2873aea3b788b421bce6abddd046f52acea25c8be475ac19735ba1a3a63ab484

See more details on using hashes here.

File details

Details for the file langx-0.1a0-py3-none-any.whl.

File metadata

  • Download URL: langx-0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for langx-0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3c5ca8e5d3d1b32b81debeb259de5b2568074820b4647e013589953c6f3ec7b
MD5 571f619e0e01a363488f329930195615
BLAKE2b-256 fba3b975f43d303d9d40fa4a3733596455f07530a5e3c03086cdf95e96919f65

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page