https://github.com/molnarmark/alos
A somewhat working interpreter for practice.
https://github.com/molnarmark/alos
Last synced: 10 months ago
JSON representation
A somewhat working interpreter for practice.
- Host: GitHub
- URL: https://github.com/molnarmark/alos
- Owner: molnarmark
- Created: 2020-10-13T20:56:25.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-20T16:28:48.000Z (almost 6 years ago)
- Last Synced: 2025-03-05T13:44:53.358Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 92.8 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Alos Programming Language
## The Plan
```perl
module main;
# imports folder/file.alos
use "folder/file";
let a = "Random string";
fixed b = "Random fixed string";
# Builtins get called with @
@println(a, b);
sub blockSub(a, b) -> {
return 1;
}
sub arrowSub(a, b) -> 1;
blockSub(a, b);
```
## Roadmap
### Lexer & Parser
- [x] Variable Definitions
- [x] Variable reassignment
- [x] fixed (const) variables
- [x] Function Definitions
- [x] Binary Expressions
- [x] Evaluation (infix -> postfix)
- [x] use statement
- [x] module definition
- [x] Builtin debug functions (@print & @println)
- [x] Grouped expressions
- [x] Blocks
- [x] Argument lists
- [ ] If statement
- [ ] One fixed loop type
- [ ] Ternary operator
- [ ] Increment, decrement (++, --, += -=) operators
- [ ] not (!) operator
- [ ] Comparison (==, !=, >, < >=, <=) operators
### Evaluator / Interpreter
- [x] Scopes
- [x] Function calls
- [x] Function argument passing
- [ ] Module loading, namespaces