Вопросы по теме 'shunting-yard'
Есть ли простой способ токенизировать строку без полноценного лексера?
Я пытаюсь реализовать алгоритм маневровой станции , но мне нужна помощь в определении как лучше всего разделить строку на ее токены.
Если вы заметили, первым шагом алгоритма является «чтение токена». Это не совсем нетривиальная вещь. Токены...
1037 просмотров
schedule
20.08.2022
Какая из следующих постфиксных нотаций правильно представляет сумму инфиксов 1+2+3+4?
Я тестирую конвертер инфикс-постфикс-инфикс и обнаружил некоторую неопределенность. Например, простая инфиксная сумма
1 + 2 + 3 + 4
можно преобразовать в постфиксный
1 2 + 3 + 4 +
предполагая, что операторы с одинаковым приоритетом не...
1198 просмотров
schedule
13.06.2022
Пытаюсь написать парсер
Я пытаюсь разобрать синтаксис с помощью алгоритма Shunting Yard (SY). Синтаксис включает в себя следующие команды (хотя их много, много других!)
a + b // a and b are numbers
setxy c d //c,d can be numbers
setxy c+d b+a //all numbers
По сути,...
203 просмотров
schedule
13.01.2023
Сохранение скобок на маневровой станции
Я работаю над тем, что по сути является алгоритмом маневровой станции, но перемещая инфикс в префикс вместо RPN, я пытаюсь сохранить скобки, и у меня чертовски много времени. В настоящее время мой код
String s = inFixList.get(i);...
1193 просмотров
schedule
27.08.2023
Алгоритм маневровой станции на С++
Мне нужна функция, которая принимает инфиксную строку (например, "3 + 4 * 9") и преобразует ее в постфиксную (например, "4 9 * 3 +").
У меня это работает, пока вы не добавите скобки в скобки. Я работаю над этим весь день и не могу понять, что я...
11362 просмотров
schedule
19.01.2023
обработка унарного минуса для алгоритма маневровой станции
Есть ли лучший способ обработки унарного «-» при преобразовании инфиксного выражения в постфиксное?
Очевидным будет префикс каждого унарного «-» с 0. Кто-нибудь знает лучшую реализацию? Спасибо!
5077 просмотров
schedule
04.05.2022
Понимание абсолютных значений при синтаксическом анализе выражений в двоичном дереве?
Я пишу парсер для выражений, которые включают токены ),(,|,*,+,-,/, переменные и константы.
Пока что мой код работает с *,/,-,+,(,), но я не знаю, как работать с абсолютными значениями.
Со скобками я начинаю с ( и заканчиваю на ), что очень...
194 просмотров
schedule
27.12.2022
Алгоритм маневровой станции с переменными
В настоящее время я работаю над модифицированной версией алгоритма маневровой станции, которая будет работать с переменными, но я не могу понять, как заставить ее работать. Например, я хотел бы, чтобы алгоритм переписал 2 * (2x + 5) - 5 в 4x + 5....
1206 просмотров
schedule
13.03.2024
Функции маневровой станции
Я использую алгоритм Shunting-Yard ( https://en.wikipedia.org/wiki/Shunting-yard_algorithm ) в программе на Java для создания калькулятора. Я почти закончил, но мне еще нужно реализовать функции. Я столкнулся с проблемой: я хочу, чтобы калькулятор...
799 просмотров
schedule
01.09.2023
Расширение алгоритма маневровой станции для поддержки условного тернарного оператора
Как расширить алгоритм маневровой станции, изначально предназначенный для бинарных операторов, для поддержки условного тернарного оператора ("a ? b: c")? Я не видел ответа на этот вопрос здесь, и он у меня есть, поэтому я публикую его.
788 просмотров
schedule
15.08.2023
Разобрать строку пропозициональной логики
У меня есть формула пропозициональной логики
((a или b) и !d) или e -> c
Как можно разобрать эту строку, чтобы я мог составить дерево правды?
Думаю, мне следует разбить строку на -> , and и or , но это испортит круглые скобки....
918 просмотров
schedule
02.06.2023
Алгоритм маневровой станции с функциональной поддержкой [закрыт]
я нашел эту реализацию алгоритма Shunting-yard через Интернет ( Infix to Postfix с поддержкой функций )
infix_to_postfix(infix):
postfix = []
infix.add(')')
stack = []
stack.push('(')
for each token in infix:
if token is operand:...
668 просмотров
schedule
18.10.2023
Оценка переменной из постфиксного выражения
Я пытаюсь построить решатель для уравнений с одной переменной. Я использую алгоритм Shunting-yard, дополненный предложениями denver и rici . Очевидно, что этот алгоритм отлично работает для анализа заданного математического выражения, определения...
244 просмотров
schedule
28.03.2023
Добавление унарного оператора в алгоритм маневровой станции
Я создаю программу типа калькулятора, которая переводит ввод в постфиксную нотацию, а затем вычисляет выражение. Он работает для +,-,*,/ и ^, но я не могу заставить работать унарный -. В настоящее время я просто пытаюсь заставить унарный работать в...
200 просмотров
schedule
27.10.2023
преобразование инфикса в постфикс в C с вводом нескольких цифр
То, что я пытаюсь получить, - это калькулятор, который будет принимать инфиксную нотацию, игнорировать незначительные пробельные символы, такие как или «@», затем преобразовывать эту инфиксную нотацию в постфиксную нотацию и выполнять простые...
209 просмотров
schedule
29.04.2024