]> gitweb.factorcode.org Git - factor.git/commitdiff
releasing 0.65
authorSlava Pestov <slava@factorcode.org>
Wed, 8 Sep 2004 06:46:40 +0000 (06:46 +0000)
committerSlava Pestov <slava@factorcode.org>
Wed, 8 Sep 2004 06:46:40 +0000 (06:46 +0000)
library/compiler/words.factor [new file with mode: 0644]
library/test/namespaces/java.factor

diff --git a/library/compiler/words.factor b/library/compiler/words.factor
new file mode 100644 (file)
index 0000000..973f7fb
--- /dev/null
@@ -0,0 +1,49 @@
+! :folding=indent:collapseFolds=1:
+
+! $Id$
+!
+! Copyright (C) 2004 Slava Pestov.
+! 
+! Redistribution and use in source and binary forms, with or without
+! modification, are permitted provided that the following conditions are met:
+! 
+! 1. Redistributions of source code must retain the above copyright notice,
+!    this list of conditions and the following disclaimer.
+! 
+! 2. Redistributions in binary form must reproduce the above copyright notice,
+!    this list of conditions and the following disclaimer in the documentation
+!    and/or other materials provided with the distribution.
+! 
+! THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+! INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+! DEVELOPERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+! OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+! WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+! OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+! ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+IN: compiler
+USE: words
+USE: stack
+USE: kernel
+USE: math
+
+: compile-ifte ( -- )
+    pop-literal pop-literal  commit-literals
+    POP-DS
+    ! ptr to condition is now in EAX
+    f address-of EAX CMP-I-[R]
+    compiled-offset JE ( -- fixup ) >r
+    ( t -- ) compile-quot
+    RET
+    compiled-offset  r> ( fixup -- ) fixup
+    ( f -- ) compile-quot
+    RET ;
+
+[ compile-ifte ]
+"compiling"
+"ifte" [ "combinators" ] search
+set-word-property
index 8a73e051f7528b07cc1df498818871375c3b9c09..1e0369b3266502d16ad52222a23bce41d749b8a3 100644 (file)
@@ -1,4 +1,5 @@
 IN: scratchpad
+USE: combinators
 USE: compiler
 USE: kernel
 USE: math