some language docs

This commit is contained in:
cozis
2022-08-18 05:46:38 +02:00
parent e4bc4fe253
commit 2da122a5ab
6 changed files with 265 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# Overview
Noja is a high level programming language implemented as a learning exercise. Still, it aims to be a non-trivial example of how a language may be built.
The use-cases of Noja are the same as Python since their abstraction level is comparable. The syntax is more similar to the C-family of languages though (curly brackets to denote scope).
## A Noja program
A Noja program is a sequence of statements separated by semi-colons (with some exceptions). The statements can be o various kinds:
* expressions
* function definitions
* if-else branches
* while loops
* do-while loops
* compound statements
* `break` jumps
* `return` statements
(You may note that there is no import statement! This is because the ability to import other files is exposed through a built-in function.)
Whitespace doesn't matter.
Comments starts with `#` and end with the line.
## Notable features
* No exceptions