Как я могу изменить свой Алгоритм Сортировочной станции, таким образом, он принимает унарные операторы?

Это кажется на занятие им правильным способом.

  • Тест
  • Осуществляет рефакторинг
  • Тест снова

, К сожалению, это может быть медленным и утомительным процессом. Нет действительно никакой замены для закапывания и понимания, что код пытается выполнить.

Одна книга, которую я могу рекомендовать (если Вам уже не зарегистрировали ее под "и т.д.") Рефакторинг к Шаблонам . Это приспособлено к людям, которые находятся в Вашей точной ситуации.

20
задан KingNestor 20 October 2009 в 21:25
поделиться

2 ответа

Мое предложение таково. не обрабатывайте '-' как арифметический оператор. рассматривать его как «знаковый» оператор. или относитесь к нему так, как будто это часть всего операнда (то есть его знак). Я имею в виду, что каждый раз, когда вы сталкиваетесь с '-', вам просто нужно умножить операнд после него на -1, а затем продолжить чтение следующего токена. :) Надеюсь, это поможет. просто мысль ...

4
ответ дан 30 November 2019 в 01:10
поделиться

Когда мне нужно было это поддержать, я делал это на промежуточном этапе. Я начал с создания списка всех лексем выражений, затем использовал вспомогательные функции для извлечения операторов и операндов, а функция «получить операнд» просто потребляла две лексемы всякий раз, когда она видела унарный оператор.

Это действительно помогает, если вы используете другой символ для означает "унарный минус".

1
ответ дан 30 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: