Оцените данное выражение омнификса.
Omnifix похож на инфиксную нотацию обычной математики, но с дополнительными копиями каждого символа, окружающего аргументы. Внешние символы заменяют скобки, и поэтому нет необходимости в дополнительных скобках.
Вы должны поддерживать сложение, вычитание, умножение, деление и положительные действительные числа (можно записать отрицательные -0-n-) в разумных пределах для вашего языка.
Плюс и минус должны быть +и -, но вы можете использовать *или ×для раз и /или ÷для деления. Другие разумные символы будут разрешены по запросу.
Брауни указывает на пояснения и дополнительные функции (такие как дополнительные операции, отрицательные числа, строки и т. Д.) Даже если в вашем ответе нет этих функций, не стесняйтесь показать, как это возможно.
Пожалуйста, предоставьте ссылку, чтобы проверить ваше решение, если это возможно.
Примеры
Для ясности нижеприведенные пояснения используют высокий минус ( ¯) для обозначения отрицательных чисел. Вы можете вернуть отрицательные числа, используя любой разумный формат.
-5-2- → 3
+2+×3×2×+→ 8 ( +2+×3×2×+→ +2+6+→ 8)
-14--3-1--→ 12 ( -4--3-1--→ -14-2-→ 12)
+2.1+×3.5×2.2×+→ 9.8 ( +2.1+×3.5×2.2×+→ +2.1+7.7+→ 9.8)
×3×÷-0-6-÷2÷×→ -9 ( ×3×÷-0-6-÷2÷×→ ×3×÷¯6÷2÷×→ ×3ׯ3×→ ¯9)
÷4÷-3-÷1÷2÷-÷→ 1.6 ( ÷4÷-3-÷1÷2÷-÷→ ÷4÷-3-0.5-÷→ ÷4÷2.5÷→ 1.6)
-s можно спутать с -s, а ¯s нельзя спутать с -s.
The explanations below use high minus (`¯`) to indicate negative numbers.Вы определенно любите APL.