diff options
| author | Drahflow <drahflow@gmx.de> | 2014-03-07 03:00:00 +0100 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2014-03-07 03:00:00 +0100 |
| commit | 08fb5ab0d295cab79d5d65e9dba7976b797e0348 (patch) | |
| tree | 88e9364644c1e6e3573fcbc13f579638e9047b44 | |
| parent | ee08bcf48cb6221295ae4b8663317a5320a6450b (diff) | |
Testcases (and some code) for #.=
| -rw-r--r-- | compiler/elymasGlobal.ey | 27 | ||||
| -rw-r--r-- | examples/working-compiler/undefined-resolution.test | 13 |
2 files changed, 30 insertions, 10 deletions
diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey index e8c419a..360758d 100644 --- a/compiler/elymasGlobal.ey +++ b/compiler/elymasGlobal.ey @@ -41,11 +41,14 @@ /rax /rax :testqRegReg /found :jnzLbl8 - "unresolved name in |: " ::outputError - /rbx /rdi :movqRegReg - ::internalDumpErrorString /rax :movqImmReg - /rax :callqReg - :ud2 + /rcx :popqReg + /rbx :pushqReg + /r14 :pushqReg + /rax :movqImmOOBReg "#.|" ::string + /rax :pushqReg + /rax :movqImmOOBReg "ey|" "ey." ::linkAbs64 + /rcx :pushqReg + /rax :jmpqReg @found /rcx :popqReg @@ -325,11 +328,15 @@ /rax /rax :testqRegReg /found :jnzLbl8 - "unresolved name in =: " ::outputError - /rbx /rdi :movqRegReg - ::internalDumpErrorString /rax :movqImmReg - /rax :callqReg - :ud2 + /rbx :pushqReg + /r14 :pushqReg + /rax :movqImmOOBReg "#.=" ::string + /rax :pushqReg + /rax :movqImmOOBReg "ey=" "ey." ::linkAbs64 + + /r15 :pushqMem + 8 /r15 :addqImm8Reg + /rax :jmpqReg @found /rcx :popqMem diff --git a/examples/working-compiler/undefined-resolution.test b/examples/working-compiler/undefined-resolution.test new file mode 100644 index 0000000..6465d47 --- /dev/null +++ b/examples/working-compiler/undefined-resolution.test @@ -0,0 +1,13 @@ +< + { "#." dump dump } "#." deffd + { "#.|" dump dump } "#.|" deffd + { "#.?" dump dump } "#.?" deffd + { "#.=" dump dump dump } "#.=" deffd +> ==s + +< { |pipebare } =*f s >' .f +< { 42 =equalbare } =*f s >' .f +s .|dotpipe +s .?dotquestion +s .dot +< { bare } =*f s >' .f |
