aboutsummaryrefslogtreecommitdiff
path: root/language/statements/assignment.rst
diff options
context:
space:
mode:
Diffstat (limited to 'language/statements/assignment.rst')
-rw-r--r--language/statements/assignment.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/language/statements/assignment.rst b/language/statements/assignment.rst
new file mode 100644
index 0000000..f8c1600
--- /dev/null
+++ b/language/statements/assignment.rst
@@ -0,0 +1,15 @@
+Assignments
+^^^^^^^^^^^
+
+.. crowbar:element:: AssignmentStatement <- AssignmentBody ';'
+ AssignmentBody <- DirectAssignmentBody / UpdateAssignmentBody / CrementAssignmentBody
+
+.. crowbar:element:: DirectAssignmentBody <- AssignmentTarget '=' Expression
+
+ .. todo:: define direct assignment
+
+.. crowbar:element:: UpdateAssignmentBody <- AssignmentTarget ('+=' / '-=' / '*=' / '/=' / '%=' / '&=' / '^=' / '|=') Expression
+
+.. crowbar:element:: CrementAssignmentBody <- AssignmentTarget ('++' / '--')
+
+.. todo:: define other assignments relative to direct