Правильный порядок математических выражений в грамматике PEGPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Правильный порядок математических выражений в грамматике PEG

Сообщение Anonymous »


Я работаю над переписыванием рукописного синтаксического анализатора с кодом, сгенерированным 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, '
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как добавить неявное умножение в базовую грамматику калькулятора PHP PEG?
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Предотвратите чрезмерное замедление работы PEG.js
    Anonymous » » в форуме Javascript
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с обработкой расширенных математических выражений LaTeX с помощью latex2sympy
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как получить доступ к грамматике из построителя запросов?
    Гость » » в форуме Php
    0 Ответы
    28 Просмотры
    Последнее сообщение Гость
  • Почему прослушиватель ошибок не вызывается из-за недопустимого токена в моей грамматике antlr4?
    Гость » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость

Вернуться в «Php»