Je parcourais les esolangs et suis tombé sur cette langue: https://github.com/catseye/Quylthulg .
Une chose intéressante à propos de ce langage, c'est qu'il n'utilise pas de préfixe, de suffixe ou d'infixe, il utilise les trois , appelant cela la notation "panfix".
Voici un exemple. Pour représenter infix normale 1+2dans panfix, il devient: +1+2+. Remarquez comment l'opérateur est à la fois avant, entre et après les opérandes. Un autre exemple est (1+2)*3. Cela devient *+1+2+*3*. Remarquez à nouveau comment se *trouve dans les trois endroits par rapport aux opérandes +1+2+et 3.
Le défi
Comme vous l'avez peut-être deviné, votre tâche dans ce défi est de convertir une expression d'infixe en panfix.
Quelques précisions:
- Vous n'avez qu'à gérer les quatre opérations de base:
+-*/ - Vous n'aurez pas à vous occuper des versions unaires de celles-ci, seulement binaires
- Vous devez gérer les parenthèses
- Supposons les règles de priorité normales d'
*/alors+-et d'associativité gauche pour chacun d'eux. - Les nombres seront des entiers non négatifs
- Vous pouvez éventuellement avoir des espaces à la fois en entrée et en sortie
Cas de test
1+2 -> +1+2+
1+2+3 -> ++1+2++3+
(1+2)*3 -> *+1+2+*3*
10/2*5 -> */10/2/*5*
(5+3)*((9+18)/4-1) -> *+5+3+*-/+9+18+/4/-1-*
C'est le code-golf , donc le code le plus court en octets gagne!

S.split``devrait être[...S], même si cela peut réellement aider à faire correspondre à l'/\d+|./gavance et à travailler à la place.