summaryrefslogtreecommitdiff
path: root/docs/syntax.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-08-22 15:37:56 -0400
committernodist <kevin.comas.git@gmail.com>2026-08-22 15:37:56 -0400
commit496ef1254b41de5f490c10c39dafe3b8ddc1a55a (patch)
treee03fd9b44ae31e10d4bb6bd2e0ff15ebe6507e7e /docs/syntax.md
parentd25ad596b0f7c77e44055adc7669971b1187bcab (diff)
new syntax
Diffstat (limited to 'docs/syntax.md')
-rw-r--r--docs/syntax.md115
1 files changed, 115 insertions, 0 deletions
diff --git a/docs/syntax.md b/docs/syntax.md
new file mode 100644
index 0000000..0868143
--- /dev/null
+++ b/docs/syntax.md
@@ -0,0 +1,115 @@
+# Syntax
+
+---
+
+## Comments
+
+```text
+// Comment Until End Of Line
+
+/* Comment */
+```
+
+## Numbers
+
+### Integers
+
+```text
+1234
+1_000_000
+```
+
+### Floats
+
+```text
+1.2
+```
+
+## Glyphs
+
+### Characters `''`
+
+```text
+'a'
+'Σ'
+```
+
+### Strings `""`
+
+## Operators
+
+### Symbol
+
+```text
+1 + 2
+```
+
+### Named ``[a-z]\w+`
+
+## Variables `[a-z][a-zA-Z0-9_]{0,49}`
+
+## Constants `_[a-zA-Z0-9_]{0,49}`
+
+## Types `[A-Z][a-zA-Z0-9_]{0,49}`
+
+## Tags `\.[a-zA-Z0-9_]{1,50}`
+
+## Blocks `{}`
+
+## Collections `()`
+
+## Modifiers `[]`
+
+## Separators `;|\n`
+
+## Actions
+
+### If `?`
+
+```text
+? condition {[arguments] statements } { else statements }
+
+? {
+ condition {[arguments] statements }
+ ...
+ { else statements }
+}
+```
+
+### Loop `@`
+
+```text
+@.tag condition {[arguments] statements }
+```
+
+#### ``break.tag
+
+#### ``continue.tag
+
+### Match `#`
+
+```text
+# match {
+ condition {[arguments] statements }
+ ...
+ { else statements }
+}
+```
+
+## Coroutines ``{[] ... }`
+
+### ``return.tag
+
+### ``sync
+
+### ``async
+
+### ``await
+
+## Generators `^{[] ... }`
+
+### ``yield
+
+### ``stop
+
+### ``next