NPI

, par MiKaël Navarro

Calculatrice en Notation Polonaise Inverse pour le shell Unix avec historique et complétion des commandes.

Cet article a pour but de réparer une injustice, à savoir un article dédié à l’outil NPI que j’utilise pourtant régulièrement.

Ce petit logiciel est une calculatrice, pour le shell Unix.
Pourquoi, me direz-vous alors, implémenter une calculatrice pour le shell
Unix alors qu’il en existe tant d’autres (bc, ...) ?

Et bien parcequ’elle est en Notation Polonaise Inverse, comme la HP48 !
Dans les années 20, Jan Lukasiewicz a développé un système de logique formelle
permettant aux expressions mathématiques d’être indiquées sans parenthèses en
plaçant les opérateurs avant (notation de préfixe) ou après (notation de
suffixe) les opérandes.
La notation de préfixe est également connue en tant que notation polonaise en
l’honneur de Lukasiewicz.
Et la notation de suffixe est nommé notation polonaise inversée (RPN = Reverse
Polish Notation) également en l’honneur de Lukasiewicz.

Possédant une HP48GX, j’ai voulu avoir l’équivalent pour le shell Unix.
Certe, le projet x48 existait déjà, mais mon idée était d’avoir
un outil légé et rapide fonctionnant sur la plupart des plates-formes
Unix.

Fonctionnalités :
 Portabilité, robustesse (POSIX) ;
 Simplicité de programmation par le système de pointeur de fonctions ;
 Fonctions de manipulations de la pile ;
 Implémentations des fonctions mathématiques (math.h) ;
 Ajout de fonctions de probabilités ;
 Complétion des commandes.

Annonce du projet NPI sur freshmeat.net

P.-S.

MàJ : porté en Python (v0.2.0+) à partir d’août 2005, puis en Python 3000 fin 2011, à suivre sur pyNPI