summaryrefslogtreecommitdiff
path: root/docs/lifecycle
diff options
context:
space:
mode:
Diffstat (limited to 'docs/lifecycle')
-rw-r--r--docs/lifecycle/check.md3
-rw-r--r--docs/lifecycle/eval.md3
-rw-r--r--docs/lifecycle/import.md3
-rw-r--r--docs/lifecycle/parse.md32
-rw-r--r--docs/lifecycle/register.md6
-rw-r--r--docs/lifecycle/scope.md15
6 files changed, 58 insertions, 4 deletions
diff --git a/docs/lifecycle/check.md b/docs/lifecycle/check.md
new file mode 100644
index 0000000..3e8177e
--- /dev/null
+++ b/docs/lifecycle/check.md
@@ -0,0 +1,3 @@
+# Check
+
+---
diff --git a/docs/lifecycle/eval.md b/docs/lifecycle/eval.md
new file mode 100644
index 0000000..8572f21
--- /dev/null
+++ b/docs/lifecycle/eval.md
@@ -0,0 +1,3 @@
+# Eval
+
+---
diff --git a/docs/lifecycle/import.md b/docs/lifecycle/import.md
new file mode 100644
index 0000000..bf7635d
--- /dev/null
+++ b/docs/lifecycle/import.md
@@ -0,0 +1,3 @@
+# Import
+
+---
diff --git a/docs/lifecycle/parse.md b/docs/lifecycle/parse.md
index 4c5851d..c9da979 100644
--- a/docs/lifecycle/parse.md
+++ b/docs/lifecycle/parse.md
@@ -4,4 +4,34 @@
Build initial AST
-## Initialize
+# Value
+
+## Integer `\d+`
+
+## Float `\d+\.\d+`
+
+## String `".*?"`
+
+## Char `'\\?.'
+
+# Name `[_a-z][a-zA-z0-9_]{0,59}`
+
+# Type `[A-Z][a-zA-z0-9_]{0,59}`
+
+On type completion look up if type is a builtin
+
+# Symbol `\.[a-zA-z0-9_]{0,60}`
+
+# Op
+
+## Op ``[a-z_]+|OPERATORS`
+
+## Action `[?@#^]`
+
+# List
+
+## List `()`
+
+## Define `[]`
+
+## Action `{}`
diff --git a/docs/lifecycle/register.md b/docs/lifecycle/register.md
index 5db7759..bffb3a8 100644
--- a/docs/lifecycle/register.md
+++ b/docs/lifecycle/register.md
@@ -6,11 +6,11 @@
1. Add findsert task to `namespace_module_mutex`
* If found, stop
-2. Create the namespace and add to namespace tree
+2. Create the namespace, lock its `export_mutex` and add to namespace tree
3. Create task on the new namespaces to read the file into a string
-4. On completion of the read task add a parse task into the namespace mutex
+4. On completion of the read task start a parse task
## String
1. Add task to set new `kpl_buffer` to `namespace_string` `module_string`
-2. The set task will add a parse task to `namespace_string`
+2. The set task will start a parse task
diff --git a/docs/lifecycle/scope.md b/docs/lifecycle/scope.md
new file mode 100644
index 0000000..849c52d
--- /dev/null
+++ b/docs/lifecycle/scope.md
@@ -0,0 +1,15 @@
+# Scope
+
+---
+
+Traverse AST and:
+
+## Link Parent Lists
+
+## Create Vars
+
+## Initialize Functions
+
+## Register Imports
+
+On finding an import node add a register task for the imported string