HeadlinesBriefing favicon HeadlinesBriefing.com

Design POP-2 Uxn

Hacker News •
×

Uma nova implementação do linguagem POP-2 direciona para a máquina virtual Uxn, com uma sintaxe tipo ALGOL e um modelo de avaliação concatenativo profundamente. Diferente de linguagens tradicionais, POP-2 utiliza uma pilha explícita de operandos onde atribuições como `123 -> foo` empurram valores antes de consumi-los. O compilador é notavelmente compacto, com menos de 800 linhas e que cabe em 2.5kb de memória.

A estrutura da linguagem parece Pascal com declarações lideradas por palavras-chave terminadas por ponto e vírgula. Funções retornam múltiplos valores deixando-os na pilha para operações subsequentes. Fluxo de controle inclui blocos `if/then/elseif/else/close` que empurram valores para a pilha, e loops utilizam declarações `goto` explícitas. Variáveis são declaradas em blocos `vars` com comprimentos de bytes configuráveis.

Operações de E/S visam o sistema Varvara usando números de porta (por exemplo, `0x48 => 23` imprime "H" no porta de console 0x17/0x18). Arrays suportam aritmética de ponteiro via prefixo `#` e chaves para dessreferenciamento de memória. Uma função completa de impressão de string demonstra a abordagem baseada na pilha para iteração e saída. A implementação está escrita em Uxntal e hospedada em intercatlang.incoming.