Pcse
Interpreter of IGCSE Computer Science 0478 pseudocode
Install / Use
/learn @virchau13/PcseREADME
pcse
pcse is a tree-walk interpreter for the the programming language known as "pseudocode" in the IGCSE Computer Science 0478 course, written in C++17.
Why did you make this?
At the school I go to, the students are taught some Java before they are taught pseudocode so they get the fundamentals of programming down.
I noticed that many of my fellow students disliked pseudocode, but liked Java. So obviously, I wanted to know why.
I found out the reason they liked Java was because they could actually run it and see the impact of the code they wrote; whereas pseudocode is simply something to write down, that doesn't actually do anything. After I realised that, I realised that an interpreter for the language could really help future students.
I've always wanted to write a programming language, so I decided to try it.
Getting Started
In the future, there will be a VSCode extension to make installing easy. Since pcse is still in development, it must be built from scratch.
Note that these instructions are written so that (hopefully) a non-programmer can follow them. If you have trouble understanding anything, please open an issue!
Prerequisites
Install git and a C++ compiler. (Note that the compiler must support C++17.) Then, install CMake. (Optional) If you want to run the tests, install Catch2.
Building
Open a terminal, and clone this repo:
git clone https://github.com/virchau13/pcse
Then run these commands:
cd pcse
cmake .
make
After the commands have finished, pcse will be built.
In order to use it, you can write your code in a file in that directory, and then run ./pcse <filename> in a terminal.
Documentation and Examples
Documentation can be found in docs/, and examples can be found in examples/. You can run a specific example by doing ./pcse examples/filename.pcse.
What is there left to do?
- [x] lexer
- [x] parser
- [x] interpreter
- [x] CLI
- [x] VSCode extension
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
