Merge pull request #8 from alsoGAMER/patch-1

Changed the checkmarks to prevent rendering issues
This commit is contained in:
Productive2 2020-10-22 00:53:16 +02:00 committed by GitHub
commit 18c7a04703
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 19 deletions

View File

@ -1,11 +1,10 @@
# JAPL - Just Another Programming Language
JAPL is an interpreted, dynamically-typed, garbage-collected and minimalistic programming language with C- and Java-like syntax.
JAPL is an interpreted, dynamically-typed, garbage-collected, and minimalistic programming language with C- and Java-like syntax.
# J.. what?
You may wonder what's the meaning of JAPL: well, it turns out to be an acronym
for __Just Another Programming Language__, but beware! Despite the name, the pronounciation is actually the same as "JPL".
for __Just Another Programming Language__, but beware! Despite the name, the pronunciation is the same as "JPL".
## Disclaimer
@ -23,23 +22,23 @@ JAPL is licensed under the Apache 2.0 license.
In no particular order, here's a list that is constantly updated and that helps us to keep track
of what's done in JAPL:
- Parsing/Lexing
- Parsing/Lexing :heavy_check_mark:
- Type system (__Rework Needed__)
- Control flow (if/else)
- Loops (for/while)
- Basic comparisons operators (`>`, `<`, `>=`, `<=`, `!=`, `==`)
- Logical operators (`!`, `or`, `and`)
- Multi-line comments `/* like this */` (can be nested)
- Differentiation between integers and floating point numbers
- `inf` and `nan` types
- Basic arithmetic (`+`, `-`, `/`, `*`)
- Modulo division (`%`) and exponentiation (`**`)
- Bitwise operators (AND, OR, XOR, NOT)
- Control flow (if/else) :heavy_check_mark:
- Loops (for/while) :heavy_check_mark:
- Basic comparisons operators (`>`, `<`, `>=`, `<=`, `!=`, `==`) :heavy_check_mark:
- Logical operators (`!`, `or`, `and`) :heavy_check_mark:
- Multi-line comments `/* like this */` (can be nested) :heavy_check_mark:
- Differentiation between integers and floating point numbers :heavy_check_mark:
- `inf` and `nan` types [X]
- Basic arithmetic (`+`, `-`, `/`, `*`) :heavy_check_mark:
- Modulo division (`%`) and exponentiation (`**`) :heavy_check_mark:
- Bitwise operators (AND, OR, XOR, NOT) :heavy_check_mark:
- Global and local variables (__WIP__)
- Explicit scopes using brackets (__WIP__)
- Garbage collector
- String slicing, with start:end syntax as well
- Operations on strings (addition, multiplication)
- String slicing, with start:end syntax as well :heavy_check_mark:
- Operations on strings (addition, multiplication) :heavy_check_mark:
- Functions and Closures (__WIP__)
- Functions default and keyword arguments (__WIP__)
- An OOP system (prototype- or class-based) (__Coming soon__)
@ -60,12 +59,12 @@ of what's done in JAPL:
- __WIP__: Work In Progress, being implemented right now
- __Coming Soon__: Not yet implemented/designed but scheduled
- __Rework Needed__: The feature works, but can (and must) be optimized/reimplemented properly
- : The feature works as intended
- :heavy_check_mark:: The feature works as intended
## Contributing
If you want to contribute, feel free to send a PR!
If you want to contribute, feel free to open a PR!
Right now there are some major issues with the virtual machine which need to be addressed
before the development can proceed, and some help is ~~desperately needed~~ greatly appreciated!
@ -84,4 +83,3 @@ our community :D
JAPL is born thanks to the amazing work of Bob Nystrom that wrote a book available completely for free
at [this](https://craftinginterpreters.com) link, where he describes the implementation of a simple language called Lox.