Welcome to Pseudolang! Pseudolang is a simple programming language written in Rust, inspired by College Board's Pseudocode.
This project aims to fully support Windows and Linux.
Goto nightly releases and download the binary for your operating system.
There is also an installer you can download in releases.
To use the compiled versions, run the executable and pass two parameters as the input and output file (pseudolang programs end with .psl
). Ex: fplc run main.psl
If fplc
is not added to path or environment variables, make sure to execute the binary specifically.
Free Pseudolang Compiler = fplc (like gcc :)
In order to compile the project yourself, you will need to have rust installed.
-
Install rust, and make sure you have it added to PATH.
-
Clone the repository
git clone https://github.com/Pseudolang-Software-Foundation/PseudoLang.git
-
- To build release, you will need bash, cross (cargo install cross), and docker. Then run
./build_release.sh
. The binaries for each operating system will be in therelease
folder.
- To build release, you will need bash, cross (cargo install cross), and docker. Then run
-
- To build debug, simply run
cargo build
. The binary will be in thetarget/debug
folder.
- To build debug, simply run
-
In order to run the unit tests, simply run
cargo test
. -
For the NSIS installer, just compile
./installer/pseudolang.nsi
Pseudolang.md contains a full explanation of Collegeboard's Pseudocode and many features specific to PseudoLang.
The file src/tests/mod.rs
also contains various unit tests (examples of code) for Pseudolang.
- Debian package
- GitHub issue template
- Proper documentation
Functionality
- Dictionaries
- Better error handling (line, column)
- Networking
- File IO
- System integration (terminal commands, process management, environment variables)
- Library support (remote procedures)
- Graphics
- Meta programming
- Multithreading
- Bundled compiler
Misc
- Testing for INPUT and SLEEP (mocking framework)
- More escape characters
Feel free to make issues for any bugs or trouble that you experience with this! Especially since this is new, and there are going to be a lot of them!
We welcome contributions! If there are any bugs, or particularly pointing out limitations in Pseudolang.md at the bottom, or adding things from the todo list, please make a pull request!
This project is licensed under the MIT License - see the LICENSE file file for details.