define tick word as an user word instead of a nat

This commit is contained in:
tocariimaa 2025-02-05 19:01:25 -03:00
parent 95fbe92b2f
commit 2f2be8e2a2

14
pila.c
View file

@ -417,17 +417,6 @@ next_word_read_get(Pila *st)
return w; return w;
} }
void
tick_nat(Pila *st)
{
Word *w = next_word_read_get(st);
if (w == nil) {
push_val(st, BOX_INTN(0));
return;
}
push_val(st, BOX_INTN((u64)w));
}
void void
exec_nat(Pila *st) exec_nat(Pila *st)
{ {
@ -700,7 +689,6 @@ main(int argc, char **argv)
{ .name = Sl(";"), .flags = WRDF_IMMEDIATE, { .name = Sl(";"), .flags = WRDF_IMMEDIATE,
.kind = WORD_NATIVE, .nat = compile_end_nat .kind = WORD_NATIVE, .nat = compile_end_nat
}, },
{.name = Sl("'"), .kind = WORD_NATIVE, .nat = tick_nat },
{.name = Sl(">#"), .kind = WORD_NATIVE, .nat = to_number_nat }, {.name = Sl(">#"), .kind = WORD_NATIVE, .nat = to_number_nat },
{.name = Sl("parse-word"), .kind = WORD_NATIVE, .nat = parse_word_nat }, {.name = Sl("parse-word"), .kind = WORD_NATIVE, .nat = parse_word_nat },
{.name = Sl("find-word"), .kind = WORD_NATIVE, .nat = find_word_nat }, {.name = Sl("find-word"), .kind = WORD_NATIVE, .nat = find_word_nat },
@ -719,6 +707,8 @@ main(int argc, char **argv)
for (isize i = 0; i < countof(natws); ++i) for (isize i = 0; i < countof(natws); ++i)
add_word(&st, &natws[i]); add_word(&st, &natws[i]);
eval(&st, Sl(": ' parse-word find-word ;"));
if (argc > 1) { if (argc > 1) {
eval(&st, Str_from_c(argv[1])); eval(&st, Str_from_c(argv[1]));
} }