An interpreter for 9608 pseudocode
Project description
An interpreter for 9608 pseudocode
Pseudo is an interpreter for 9608 pseudocode, a pseudocode syntax used in Cambridge International AS & A Level Computer Science.
Setup
pip install pseudo-9608
Usage
Shell: Running with a pseudocode file
$ pseudo myfile.pseudo
This will run the pseudocode interpreter on the file myfile.pseudo.
Python: Running with a pseudocode file
import pseudocode
pseudocode.runFile('myfile.pseudo')
This will run the pseudocode interpreter on the file myfile.pseudo.
Python: Running with a pseudocode string
import pseudocode
code = """
OUTPUT "Hello World!"
"""
pseudocode.run(code)
This will run the pseudocode interpreter on the string code.
Chapters
This project is also an attempt to write a programming book in a new style. Each chapter of this book is written as a pull request.
- 01a Scanning
- 01b Tokens
- 02 Expressions
- 03 Evaluation
- 04 Statements
- 05 Interpreting
- 06a Variables
- 06b Assignment
- 06c Retrieving variables
- 07 Resolving
- 08 Static typing
- 09 Conditionals
- 10 Loops
- 11 Input
- 12a Procedures
- 12b Procedure calls
- 12c Passing by reference
- 13a Functions
- 13b Loose ends
- 14a Reading from source
- 14b Line numbers
- 14c Referencing source code
- 14d Column info
- 15 File IO
- 16a OOP: Expressions
- 16b OOP: Statements
- 16c OOP: Expression Statements
- 16d OOP: Variables
- 16e OOP: Values
- 16f OOP: Frames
- 16g OOP: Error reporting
- 16h OOP: Tokens
- 17 Statement hierarchies
- 18a Boolean
- 18b Logical operators
- 18c Fix: logical operators (This is an addendum to 18b)
- 19 REALs
- 20 Packaging
- 21a Test: Data passing
- 21b Test: Checking output
- 21c Test: Checking Errors
- 22a Scoping: Recursion
- 22b Scoping: System
- 23a Object: Scopes
- 23b Object: Attributes
- 23c Object: ARRAY
- 24a Improvements: type annotation
- 24b Improvements: Decoupling
- 24c Improvements: Type Relationship
- 24d Improvements: Parser
- 24e Improvements: Resolver
- 24f Improvements: Interpreter
- 24g Improvements: Pseudo
- 25a Automation: Testing
- 25b Automation: Setup
- 25c Automation: Security
- 26a Release: Usage
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pseudo-9608-0.4.1.tar.gz.
File metadata
- Download URL: pseudo-9608-0.4.1.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.8.12 Linux/5.13.0-1027-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9adc6bfad4efa6cb8f3c9a4265e55ccc0dab5f5634d5f2f429be827098b730a0
|
|
| MD5 |
0df85c2a260944deea70f9c6ab9f2502
|
|
| BLAKE2b-256 |
b65b7585e9236db93e5472860aa5cb87c2f79d9b1833da3c18fa2206e79ba6cd
|
File details
Details for the file pseudo_9608-0.4.1-py3-none-any.whl.
File metadata
- Download URL: pseudo_9608-0.4.1-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.8.12 Linux/5.13.0-1027-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0428709e13dff6635a4e8f6994c1014aaaae42793134bede28b69b44456aeae8
|
|
| MD5 |
7b20736da3a5c9f4be8b1b4525a2d69e
|
|
| BLAKE2b-256 |
ce37e78672a1781e0a0cf4903f93eb1dc7ad5de59c4cacfe5a904bb3a3f4314d
|