Quais são os primitivos operadores do Forth?

Estou interessado em implementar um sistema Forth, apenas para obter alguma experiência na criação de uma VM e tempo de execução simples.

Ao começar em Forth, normalmente se aprende sobre a pilha e seus operadores (DROP, DUP, SWAP etc.) primeiro, por isso é natural pensar neles como estando entre os operadores primitivos. Mas eles não são. Cada um deles pode ser dividido em operadores que manipulam diretamente a memória e os ponteiros da pilha. Mais tarde, aprendemos sobre a loja (!) E a busca (@) que podem ser usadas para implementar o DUP, SWAP e assim por diante (ha!).

Então, quais são os operadores primitivos? Quais devem ser implementados diretamente no ambiente de tempo de execução a partir do qual todos os outros podem ser construídos? Não estou interessado em alto desempenho; Quero algo que eu (e outros) possa aprender. A otimização do operador pode vir mais tarde.

(Sim, eu sei que posso começar com uma máquina de Turing e partir daí. Isso é um pouco extremo.)

Edit: O que estou buscando é semelhante à inicialização de um sistema operacional ou de um novo compilador. O que eu preciso implementar, no mínimo, para que eu possa construir o resto do sistema a partir desses blocos de construção primitivos? Não implementarei isso em hardware simples; como exercício educacional, eu escreveria minha própria VM mínima.

questionAnswers(7)

yourAnswerToTheQuestion