HeadlinesBriefing favicon HeadlinesBriefing.com

Conception POP-2 Uxn

Hacker News •
×

Une nouvelle implémentation du langage POP-2 cible la machine virtuelle Uxn, avec une syntax type ALGOL et un modèle d'évaluation concatenatif profond. Contrairement aux langages traditionnels, POP-2 utilise une pile d'opérandes explicite où les affectations comme `123 -> foo` empilent les valeurs avant leur consommation. Le compilateur est remarquablement compact, moins de 800 lignes tenant dans 2.5ko de mémoire.

La structure du langage ressemble au Pascal avec des instructions menées par des mots-clés terminées par des points-virgules. Les fonctions renvoient plusieurs valeurs en les laissant sur la pile pour les opérations suivantes. Le flux de contrôle comprend des blocs `if/then/elseif/else/close` qui empilent des valeurs, et les boucles utilisent des déclarations `goto` explicites. Les variables sont déclarées dans des blocs `vars` avec des longueurs de octets configurables.

Les opérations E/S ciblent le système Varvara using des numéros de port (par exemple, `0x48 => 23` affiche "H" sur le port de console 0x17/0x18). Les tableaux supportent l'arithmétique de pointeur via le préfixe `#` et les accolades pour le déréférencement mémoire. Une fonction complète d'impression de chaîne démontre l'approche basée sur la pile pour l'itération et la sortie. L'implémentation est écrite en Uxntal et hébergée sur intercatlang.incoming.