Правильный порядок математических выражений в грамматике PEG ⇐ Php
Правильный порядок математических выражений в грамматике PEG
Я работаю над переписыванием рукописного синтаксического анализатора с кодом, сгенерированным PEG, с использованием PHP-peg (есть более современная версия, которая публикуется для упаковщиков).
У меня проблема с вычислением этого выражения:
-8(5/2)^2*(1-sqrt(4))-8 Это должно быть оценено как 42, но получено -20. Я понятия не имею, почему он получил такие результаты. Я пытался поставить несколько скобок, чтобы понять это. Но не смог выяснить, в чем проблема и какой оператор был первым.
Когда я заменяю неявное умножение обычным:
-8*(5/2)^2*(1-sqrt(4))-8 Я получил правильные результаты для 42.
Я не совсем уверен, правильно ли я определил приоритет операторов. Это мой старый код, имеющий приоритет:
$ops_p = array( '&&' => 1, '||' => 1, '>' => 2, '=' => 2, '' => 0, '=' => 0, '
Я работаю над переписыванием рукописного синтаксического анализатора с кодом, сгенерированным PEG, с использованием PHP-peg (есть более современная версия, которая публикуется для упаковщиков).
У меня проблема с вычислением этого выражения:
-8(5/2)^2*(1-sqrt(4))-8 Это должно быть оценено как 42, но получено -20. Я понятия не имею, почему он получил такие результаты. Я пытался поставить несколько скобок, чтобы понять это. Но не смог выяснить, в чем проблема и какой оператор был первым.
Когда я заменяю неявное умножение обычным:
-8*(5/2)^2*(1-sqrt(4))-8 Я получил правильные результаты для 42.
Я не совсем уверен, правильно ли я определил приоритет операторов. Это мой старый код, имеющий приоритет:
$ops_p = array( '&&' => 1, '||' => 1, '>' => 2, '=' => 2, '' => 0, '=' => 0, '
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как добавить неявное умножение в базовую грамматику калькулятора PHP PEG?
Anonymous » » в форуме Php - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблемы с обработкой расширенных математических выражений LaTeX с помощью latex2sympy
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-