forked from ground/ground
More tests and readme
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Ground - A speedy platform for building cool software
|
||||
|
||||
## What is Ground?
|
||||
|
||||
Ground is an interpreter which processes and interprets Ground instructions. It is quite fast, and the syntax is simple.
|
||||
|
||||
## What are the main features of Ground?
|
||||
|
||||
* **Simple syntax:** Ground doesn't have very many features, and that's intentional. It makes Ground easy to learn, and keeps it speedy.
|
||||
* **Super speed:** Ground code is faster than Python and JavaScript, and nearly as fast as C++ and Rust, while still being interpreted. (Tested using tests/to1000.grnd)
|
||||
* **Tiny interpreter:** Ground contains 761 lines of code (and 233 lines of comments) at the time of writing, and compiles in seconds.
|
||||
* **Portable:** Ground's code only uses features from the C++ standard library, using features from C++17 and prior.
|
||||
|
||||
## How do I get started?
|
||||
|
||||
Clone the repo and compile with your favourite C++ compiler:
|
||||
|
||||
```
|
||||
g++ src/main.cpp -std=C++17 -O3 -o ground
|
||||
```
|
||||
|
||||
(You can omit the -std flag on systems which default to the latest standard, and the -O3 flag if you're fine with a slightly slower interpreter.)
|
||||
|
||||
Run a Ground program:
|
||||
|
||||
```
|
||||
./ground tests/input.grnd
|
||||
```
|
||||
|
||||
If you'd like to create your own Ground programs, read the files in the docs/ folder of the repository.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you want to help out, feel free to clone the repo and send pull requests! All the code is documented.
|
||||
|
||||
Feature requests also welcome! Reach out by emailing max at chookspace dot com.
|
3
tests/exiting.grnd
Normal file
3
tests/exiting.grnd
Normal file
@@ -0,0 +1,3 @@
|
||||
stdlnout "Time to exit Ground! We totally had an error, so there should be a return code of 1"
|
||||
|
||||
end 1
|
7
tests/input.grnd
Normal file
7
tests/input.grnd
Normal file
@@ -0,0 +1,7 @@
|
||||
stdout "Do you like cheese? "
|
||||
stdin &userin
|
||||
equal $userin "yes" &condition
|
||||
if $condition %7
|
||||
stdlnout "That is sad"
|
||||
jump %1
|
||||
stdlnout "Awesome! I do too!"
|
Reference in New Issue
Block a user