rename implementation to version

This commit is contained in:
Koichi Nakamura 2021-01-10 20:44:50 +09:00
parent 226d6d33f3
commit 419d0d2cb9
5 changed files with 12 additions and 12 deletions

View file

@ -85,4 +85,4 @@ $ ./planck < bootstrap.fs example/fib.fs
| } | shr | ( a b -- c ) | c = a >> b (logical) | | } | shr | ( a b -- c ) | c = a >> b (logical) |
| ) | sar | ( a b -- c ) | c = a >> b (arithmetic) | | ) | sar | ( a b -- c ) | c = a >> b (arithmetic) |
| v | argv | ( -- a-addr u ) | argv and argc | | v | argv | ( -- a-addr u ) | argv and argc |
| V | impl | ( -- c-addr ) | Implementation String | | V | version | ( -- c-addr ) | Version String |

View file

@ -458,7 +458,7 @@ alias-builtin and &
alias-builtin or | alias-builtin or |
alias-builtin xor ^ alias-builtin xor ^
alias-builtin u< u alias-builtin u< u
alias-builtin implementation V alias-builtin version V
\ Rename existing FORTH words \ Rename existing FORTH words
: >cfa G ; : >cfa G ;
@ -2070,7 +2070,7 @@ v argc ! argv !
( === Environment-Dependent Code === ) ( === Environment-Dependent Code === )
implementation s" hand-written i386-linux" streq [if] version s" hand-written i386-linux" streq [if]
%000 constant eax immediate %000 constant eax immediate
%001 constant ecx immediate %001 constant ecx immediate
@ -2401,7 +2401,7 @@ need-defined (read)
words id. name>string name>link words id. name>string name>link
include included source >in include included source >in
next-arg shift-args arg argv argc implementation next-arg shift-args arg argv argc version
[if] [unless] [else] [then] defined? [if] [unless] [else] [then] defined?
open-file close-file write-file flush-file open-file close-file write-file flush-file
@ -2457,7 +2457,7 @@ need-defined (read)
next-arg dup argv @ ! next-arg dup argv @ !
included included
else else
." PlanckForth (implementation: " implementation type ." )" cr ." PlanckForth (" version type ." )" cr
." Ready." cr ." Ready." cr
s" /dev/tty" included s" /dev/tty" included
then then

View file

@ -13,7 +13,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
#define IMPLEMENTATION "C" #define VERSION "C"
typedef uintptr_t cell; typedef uintptr_t cell;
typedef void (**cfa)(); typedef void (**cfa)();
@ -143,7 +143,7 @@ defcode("t", type) { putchar(pop()); next(); }
defcode("x", exec) { (*(ip = (cfa) pop()))(); } defcode("x", exec) { (*(ip = (cfa) pop()))(); }
defcode("f", find_) { push((cell) find(pop())); next(); } defcode("f", find_) { push((cell) find(pop())); next(); }
defcode("v", argv_) { push((cell) saved_argv); push(saved_argc); next(); } defcode("v", argv_) { push((cell) saved_argv); push(saved_argc); next(); }
defcode("V", impl) { push((cell) IMPLEMENTATION); next(); } defcode("V", impl) { push((cell) VERSION); next(); }
defcode("/", divmod) { defcode("/", divmod) {
intptr_t b = pop(); intptr_t b = pop();
intptr_t a = pop(); intptr_t a = pop();

View file

@ -9,7 +9,7 @@ import operator
import array import array
import ctypes import ctypes
IMPLEMENTATION = "Python 3.x" VERSION = "Python 3.x"
MEMORY_SIZE = 0x10000 MEMORY_SIZE = 0x10000
memory = array.array('i', [0]*MEMORY_SIZE) memory = array.array('i', [0]*MEMORY_SIZE)
@ -169,8 +169,8 @@ for addr in argv_addrs:
comma(addr) comma(addr)
# Version String # Version String
IMPLEMENTATION_ADDR = read(HERE_CELL) VERSION_ADDR = read(HERE_CELL)
comma_string(IMPLEMENTATION) comma_string(VERSION)
align() align()
def docol(ip, np): def docol(ip, np):
@ -239,7 +239,7 @@ def argv():
push(ARGV_ADDR) push(ARGV_ADDR)
push(len(sys.argv)) push(len(sys.argv))
add_simple_operator('v', argv) add_simple_operator('v', argv)
add_simple_operator('V', lambda: push(IMPLEMENTATION_ADDR)) add_simple_operator('V', lambda: push(VERSION_ADDR))
SUCCESS = 0 SUCCESS = 0
ALLOCATE_ERROR = -59 ALLOCATE_ERROR = -59

View file

@ -168,7 +168,7 @@
000003b8: 0408 89c3 83c3 0453 movl %eax,%ebx; addl $4,%ebx; pushl %ebx 000003b8: 0408 89c3 83c3 0453 movl %eax,%ebx; addl $4,%ebx; pushl %ebx
000003c0: ff30 adff 2000 0000 pushl (%eax); next; 000003c0: ff30 adff 2000 0000 pushl (%eax); next;
000003c8: a883 0408 0156 0000 V: implementation 000003c8: a883 0408 0156 0000 V: version
000003d0: d483 0408 68dc 8304 pushl $version 000003d0: d483 0408 68dc 8304 pushl $version
000003d8: 08ad ff20 6861 6e64 next; <version>hand 000003d8: 08ad ff20 6861 6e64 next; <version>hand
000003e0: 2d77 7269 7474 656e -written 000003e0: 2d77 7269 7474 656e -written