aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2014-02-23 08:56:38 +0100
committerDrahflow <drahflow@gmx.de>2014-02-23 08:56:38 +0100
commit1265229f8e72fb50ea23e128376a80273c170262 (patch)
tree1bf197341e5809e3ba4988fec678219dad71e9cc
parent9c3e0d41cc2c716e625aae53d72e6e989287d691 (diff)
Added >'
-rw-r--r--compiler/elymasGlobal.ey17
-rw-r--r--notes1
2 files changed, 18 insertions, 0 deletions
diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey
index 4435518..52f9aae 100644
--- a/compiler/elymasGlobal.ey
+++ b/compiler/elymasGlobal.ey
@@ -1158,6 +1158,23 @@
:retn
] /ey> defv
+ # switch parent of current scope to stack top object
+ # push current scope onto stack
+ # switch current scope to original parent
+ # 0 -> new parent
+ # 0 <- scope just exited
+ [
+ /rbx :popqReg
+ /rdx :popqReg
+ 16 /r14 /rax :movqMemDisp8Reg
+ /rdx 16 /r14 :movqRegMemDisp8
+ /r14 :pushqReg
+ /rax /r14 :movqRegReg
+ /rbx :pushqReg
+
+ :retn
+ ] /ey>' defv
+
# push current scope onto stack
# 0 <- current scope
[
diff --git a/notes b/notes
index 9aca225..99b8af4 100644
--- a/notes
+++ b/notes
@@ -46,6 +46,7 @@ v =name -> set current value of name to v, leave modes intact
< -> push new scope
> -> pop scope, structured data object now on stack
< 0 =a 0 =b > -> something which has a and b is on top of stack
+< ... parent >' -> push scope with non-local parent (at the end only)
0 1 2 _ -> 0 1 2 2
0 1 2 -0 -> 0 1 2