ForthMinus
From OpenSimulator
(Difference between revisions)
| Line 33: | Line 33: | ||
| Loads the words in n.dll | | Loads the words in n.dll | ||
|- | |- | ||
| − | | : | + | | : [;] |
| Special | | Special | ||
| Define a user word. The first word following the : in the estack is the name. All words following until ; is the definition of the word | | Define a user word. The first word following the : in the estack is the name. All words following until ; is the definition of the word | ||
|- | |- | ||
| − | + | | savestack | |
| + | | ( ... n -- ) | ||
| + | | Pops the entire stack into variable n | ||
| + | |- | ||
| + | | loadstack | ||
| + | | ( n -- ... ) | ||
| + | | Push's the stack saved in variable n | ||
| + | |- | ||
| + | | clearstack | ||
| + | | ( ... -- ) | ||
| + | | Clears the entire stack | ||
| + | |- | ||
| + | | if,[else],then | ||
| + | | ( n -- ) | ||
| + | | If n is true, execute words until else or then. If n is false, execute else to then | ||
| + | |- | ||
| + | | not | ||
| + | | ( n -- n ) | ||
| + | | If n is true, push false, if n is false, push true | ||
| + | |- | ||
| + | | > | ||
| + | | ( n1 n2 -- n ) | ||
| + | | If n1 > n2, push true else push false | ||
| + | |- | ||
| + | | < | ||
| + | | ( n1 n2 -- n) | ||
| + | | If n1 < n2, push true else push false | ||
| + | |- | ||
| + | | >= | ||
| + | | ( n1 n2 -- n ) | ||
| + | | If n1 >= n2, push true else push false | ||
| + | |- | ||
| + | | <= | ||
| + | | ( n1 n2 -- n) | ||
| + | | If n1 <= n2, push true else push false | ||
| + | |- | ||
| + | | = | ||
| + | | ( n1 n2 -- n ) | ||
| + | | If n1 == n2, push true else push false | ||
| + | |- | ||
| + | | != | ||
| + | | ( n1 n2 -- n ) | ||
| + | | If n1 != n2, push true else push false (technically pushes "= not" to estack) | ||
| + | |- | ||
| + | | ! | ||
| + | | ( n1 n2 -- ) | ||
| + | | Saves n1 to variable n2 | ||
| + | |- | ||
| + | | @ | ||
| + | | ( n -- n ) | ||
| + | | Pushes variable n to stack | ||
|} | |} | ||
Revision as of 10:29, 20 January 2008
LibCore
| Word | Stack | Description |
|---|---|---|
| dup | ( n -- n n ) | Duplicates the top item of the stack |
| . * | ( n -- ) | Prints the top item of the stack in console |
| dump * | ( -- ) | Dumps the VM's current status in console |
| swap | ( n1 n2 -- n2 n1) | Swaps the order of the top two items in the stack |
| savestate * | ( n -- ) | Saves the VM's state to file n.fmo |
| words * | ( -- ) | Lists the primitive words loaded to console |
| loadlib | ( n -- ) | Loads the words in n.dll |
| : [;] | Special | Define a user word. The first word following the : in the estack is the name. All words following until ; is the definition of the word |
| savestack | ( ... n -- ) | Pops the entire stack into variable n |
| loadstack | ( n -- ... ) | Push's the stack saved in variable n |
| clearstack | ( ... -- ) | Clears the entire stack |
| if,[else],then | ( n -- ) | If n is true, execute words until else or then. If n is false, execute else to then |
| not | ( n -- n ) | If n is true, push false, if n is false, push true |
| > | ( n1 n2 -- n ) | If n1 > n2, push true else push false |
| < | ( n1 n2 -- n) | If n1 < n2, push true else push false |
| >= | ( n1 n2 -- n ) | If n1 >= n2, push true else push false |
| <= | ( n1 n2 -- n) | If n1 <= n2, push true else push false |
| = | ( n1 n2 -- n ) | If n1 == n2, push true else push false |
| != | ( n1 n2 -- n ) | If n1 != n2, push true else push false (technically pushes "= not" to estack) |
| ! | ( n1 n2 -- ) | Saves n1 to variable n2 |
| @ | ( n -- n ) | Pushes variable n to stack |