aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCody <cody@codyq.dev>2023-03-30 02:44:54 -0500
committerCody <cody@codyq.dev>2023-03-30 02:44:54 -0500
commit2970520a9592b5c6d45291f54073552a474b71b4 (patch)
treef42ecc1be0989367cf7c70d0b7909bac0b86904e /docs
parentbb95375f8b24141bf7dfe5a8b1bba5c995f61253 (diff)
downloadsloth-2970520a9592b5c6d45291f54073552a474b71b4.tar.gz
Restructure
Diffstat (limited to 'docs')
-rw-r--r--docs/grammar.md39
-rw-r--r--docs/precedence.md17
2 files changed, 0 insertions, 56 deletions
diff --git a/docs/grammar.md b/docs/grammar.md
deleted file mode 100644
index d172254..0000000
--- a/docs/grammar.md
+++ /dev/null
@@ -1,39 +0,0 @@
-Formal grammar definition for Sloth.
-
-```
-program → statement* ;
-block → "{" statement* "}"
-
-statement → exprStmt
- | valStmt
- | varStmt
- | returnStmt
- | printStmt
- | functionStmt
- | ifStmt
- | forStmt ;
-
-exprStmt → expression ";" ;
-valStmt → "val" IDENTIFIER "=" expression ";" ;
-varStmt → "var" IDENTIFIER "=" expression ";" ;
-returnStmt → "return" expression ";" ;
-printStmt → "print" expression ";" ;
-
-functionStmt → "fn" IDENTIFIER "(" (IDENTIFIER ":" IDENTIFIER)* ")" block ;
-ifStmt → "if" expression block ;
-forStmt → "for" IDENTIFIER "in" expression ".." expression block ;
-
-expression → logical_or ;
-
-logical_or → logical_and ( "||" logical_and )* ;
-logical_and → equality ( "&&" equality )* ;
-equality → comparison ( ( "!=" | "==" ) comparison )* ;
-comparison → bitwise_shift ( ( "<" | ">" | "<=" | ">=" ) bitwise_shift )* ;
-bitwise_shifting → additive ( ( "<<" | ">>" ) additive )* ;
-additive → multiplicative ( ( "+" | "-" ) multiplicative )* ;
-multiplicative → unary ( ( "*" | "/" | "%" ) unary )* ;
-unary → ( "!" | "+" | "-" ) unary | call ;
-
-call → primary ( "(" arguments? ")" )* ;
-primary → "true" | "false" | NUMBER | STRING | IDENTIFIER | "(" expression ")" ;
-```
diff --git a/docs/precedence.md b/docs/precedence.md
deleted file mode 100644
index 32cc5de..0000000
--- a/docs/precedence.md
+++ /dev/null
@@ -1,17 +0,0 @@
-Operating precedence in sloth from highest to lowest.
-
-| Name | Operators | Associates |
-| -------------- | --------- | ---------- |
-| parentheses | () | Left |
-| member access | . ! !! ?. | Left |
-| defaulting | ?: | Right |
-| function call | () | Left |
-| unary | ! + - | Right |
-| multiplicative | \* / % | Left |
-| additive | + - | Left |
-| bitwise shift | << >> | Left |
-| comparison | < > <= >= | Left |
-| equality | == != | Left |
-| bitwise | & ^ \| | Left |
-| logical and | && | Left |
-| logical or | \|\| | Left |