22 lines
896 B
Markdown
22 lines
896 B
Markdown
# 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.)
|
|
|
|
If not in string literals, whitespace doesn't matter.
|
|
|
|
Comments starts with `#` and end with the line.
|