The x++ programming language.
Project description
an interpreted, minimalistic programming language
Introduction
Welcome to the official documentation for x++! This documentation will get you started in the development of your first x++ project or will help you learn more about x++ in general with in-depth explanations and tutorials.
Table of Contents
About
x++ (Pronounced "ex-plus-plus") is a high-level, interpreted language written in Python by iiPython with low-level syntax, similar to that of x86 Assembly (and additionally inspired by Batch).
x++ contains features such as:
- Automatic garbage collection
- Scoped/file/global variables
- Sectioning/function system
- Mature python integration
- Import/export/module system
- Object-oriented programming through the use of files
- ... much more!
Getting Started
Step 1: Installation
First and foremost, make sure you have Python (Python 3.10 is required, however we recommend 3.11+) installed on your device. You can check if you have Python installed by opening up a terminal and typing:
python3 -V
(on NT* platforms, replace python3
with py
)
It is highly recommended to have a text editor or Integrated Development Environment, such as Visual Studio Code, as its built-in development tools and add-ons will speed up and facilitate your development process. However, a simple text editor like notepad is sufficient.
Next, visit our github repository and download a clone of the repository by clicking on the green Code ▾
button and the Download ZIP
option. Optionally, if you have git installed on your device, you can also clone the repository by opening up a terminal and typing:
git clone https://github.com/iiPythonx/xpp
To install xpp system-wide, run the following:
pip install .
You will now have the xpp
command available for use.
If you are choosing Visual Studio Code as your Integrated Development Environment, you can also install the x++ extension on the marketplace to get syntax highlighting on your x++ files.
Step 2: Set-Up
Once you open up your x++ project, you should be able to find a file named main.xpp
. By default, this is your main entry file and is where you will be writing your x++ code. Within the file, you should see an example program similar to:
:: Main
prt "Hello, world!"
Any x++ files should always end in the .xpp
extension.
You can edit the main entry file by editing the configuration in .xconfig
. It is a JSON-like file that contains all the configurations for your x++ project. Within it, you should see:
{
"main": "main.xpp"
}
You can learn more about setting up your project in the tutorials.
Step 3: Execution
After you are done writing your x++ code, you can execute your x++ project immediately by opening up a terminal and typing:
xpp .
Currently, you should see the terminal output:
"Hello, world!"
You can also compile your xpp code into Python using caffeine.
Frequently Asked Questions
Q: Why is it called x++?
The language originally started as the "X Programming Language" because the name sounded cool. As development went on, a second revision was published and the name was changed to x2
.
Starting on March 6th, 2023, x2 was deprecated in favor of x++ as the language was beginning to undergo major changes.
Q: Can I use x++ for data management, game design, or simply for fun?
Most of the things you could think of making are able to be created within x++. However, you can also supercharge xpp with the power of Python; see here.
Credits & Links
Contributors
- iiPython - Developer, Documentation
- DmmD Gaming - Original Documentation, Ideas, & Standard Library
Resources
Last Updated: March 9th, 2024 by iiPython
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xpp-3.1.3.tar.gz
.
File metadata
- Download URL: xpp-3.1.3.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec46b293242ff9b4d8a4c1dee1b19495f529769c2d1802996a6638750a039ea |
|
MD5 | 96eb54bd2fccbe43912cb13f5755debd |
|
BLAKE2b-256 | 429d656b32a45f7b8488344a7eb7a0382ec05dd33efe91eb523bb556da760e75 |
Provenance
The following attestation bundles were made for xpp-3.1.3.tar.gz
:
Publisher:
publish.yml
on iiPythonx/xpp
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
xpp-3.1.3.tar.gz
- Subject digest:
6ec46b293242ff9b4d8a4c1dee1b19495f529769c2d1802996a6638750a039ea
- Sigstore transparency entry: 150143555
- Sigstore integration time:
- Predicate type:
File details
Details for the file xpp-3.1.3-py3-none-any.whl
.
File metadata
- Download URL: xpp-3.1.3-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b08fee936b1234867b85896bcd173a6a0122bd3ff591deeb2684dee0a2fab35c |
|
MD5 | 7c5097e5182da4c5b77289a02f09de86 |
|
BLAKE2b-256 | cc63bf91741a1bc5b5f68cfeebb678271cac2b173ffa899920df2ac20c538b62 |
Provenance
The following attestation bundles were made for xpp-3.1.3-py3-none-any.whl
:
Publisher:
publish.yml
on iiPythonx/xpp
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
xpp-3.1.3-py3-none-any.whl
- Subject digest:
b08fee936b1234867b85896bcd173a6a0122bd3ff591deeb2684dee0a2fab35c
- Sigstore transparency entry: 150143557
- Sigstore integration time:
- Predicate type: