feat: add depth, pick, roll, ?dup, 2dup, 2drop, and 2swap words
Co-authored-by: aider (openrouter/deepseek/deepseek-v4-pro) <aider@aider.chat>
This commit is contained in:
@@ -166,4 +166,13 @@ void do_until(Word* w);
|
|||||||
void do_while(Word* w);
|
void do_while(Word* w);
|
||||||
void do_repeat(Word* w);
|
void do_repeat(Word* w);
|
||||||
|
|
||||||
|
/* Additional stack words */
|
||||||
|
void do_depth(Word* w);
|
||||||
|
void do_pick(Word* w);
|
||||||
|
void do_roll(Word* w);
|
||||||
|
void do_qdup(Word* w);
|
||||||
|
void do_2dup(Word* w);
|
||||||
|
void do_2drop(Word* w);
|
||||||
|
void do_2swap(Word* w);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -99,6 +99,15 @@ int main(void) {
|
|||||||
add_primitive("while", do_while, 1 << 7);
|
add_primitive("while", do_while, 1 << 7);
|
||||||
add_primitive("repeat", do_repeat, 1 << 7);
|
add_primitive("repeat", do_repeat, 1 << 7);
|
||||||
|
|
||||||
|
/* Additional words */
|
||||||
|
add_primitive("depth", do_depth, 0);
|
||||||
|
add_primitive("pick", do_pick, 0);
|
||||||
|
add_primitive("roll", do_roll, 0);
|
||||||
|
add_primitive("?dup", do_qdup, 0);
|
||||||
|
add_primitive("2dup", do_2dup, 0);
|
||||||
|
add_primitive("2drop", do_2drop, 0);
|
||||||
|
add_primitive("2swap", do_2swap, 0);
|
||||||
|
|
||||||
// Start outer interpreter
|
// Start outer interpreter
|
||||||
outer_interpreter();
|
outer_interpreter();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user