Merge branch 'main' of git.vanten-s.com:vanten-s/plonkus
This commit is contained in:
commit
97c940ba65
44
README.md
Normal file
44
README.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Plonkus
|
||||
|
||||
## About
|
||||
This is a small hobby language that I created because I was bored.
|
||||
It only supports [my own architecture](https://github.com/vanten-s/8bit-computer) but I'm planning to extend it to x86 some day.
|
||||
|
||||
## Features
|
||||
Currently the language has the following
|
||||
- Expressions
|
||||
- Scopes
|
||||
- Functions
|
||||
- Variables
|
||||
|
||||
But more features like
|
||||
|
||||
- If statements
|
||||
- Loops
|
||||
- Function calls in expressions
|
||||
- Comments
|
||||
|
||||
Are coming.
|
||||
|
||||
## Syntax
|
||||
Here is example of functions, built-ins and variables and Scopes
|
||||
|
||||
```plonkus
|
||||
fn main {
|
||||
let a = 2;
|
||||
{
|
||||
let a = a + 1;
|
||||
out(a);
|
||||
}
|
||||
test(a);
|
||||
exit();
|
||||
};
|
||||
|
||||
fn test output {
|
||||
let numberToOutput = output;
|
||||
out(numberToOutput);
|
||||
};
|
||||
```
|
||||
|
||||
This code prints 3 and then 2.
|
||||
|
|
@ -310,7 +310,7 @@ impl Node for Expression {
|
|||
}
|
||||
|
||||
let stack_position = state.variables.len()
|
||||
- state.variables.iter().position(|x| x == name).unwrap()
|
||||
- state.variables.iter().rposition(|x| x == name).unwrap()
|
||||
- 1;
|
||||
|
||||
dbg!(&state.variables);
|
||||
|
|
Loading…
Reference in a new issue