Comments 14
Хоть и перевод, но просто сравнивать double — такая себе затея.
Оформление кода тоже странноватое, хотят тут сложно сказать дефект перевода или оно так и есть в проекте.
Парсер тоже, сам по себе, наивен даже для двух дней.
Ну и, как мне кажется, для таких вот утилит, если хочется написать самому правильнее брать что-то типа python, а не бороться с плюсами как в плане синтаксиса, так и в плане удобства.
Оформление кода тоже странноватое, хотят тут сложно сказать дефект перевода или оно так и есть в проекте.
Парсер тоже, сам по себе, наивен даже для двух дней.
Ну и, как мне кажется, для таких вот утилит, если хочется написать самому правильнее брать что-то типа python, а не бороться с плюсами как в плане синтаксиса, так и в плане удобства.
Забавно читать, как автор статьи изобретает крайне неэффективный велосипед, даже не догадываясь о существовании алгоритма сортировочной станции.
Прежде, чем изобретать что-то своё или принимать решение о переводе статьи, имеет смысл заглянуть в учебник по теме. В данном случае — в любой приличный учебник по созданию компиляторов.
Прежде, чем изобретать что-то своё или принимать решение о переводе статьи, имеет смысл заглянуть в учебник по теме. В данном случае — в любой приличный учебник по созданию компиляторов.
Тильды эквивалентны знакам «минус», их нужно писать так, чтобы отличать от бинарного вычитания
Неспортивно.
s/(Д|д)воичн({\s}2)/бинарн$2/g
Про единицы измерения мне до сих пор помнится вопрос на экзамене по физике, который мне задал профессор:
П: Какой физический смысл имеет <какой-то мутный коэффициент в каком-то законе терподинамики>?
Я: (правильный ответ) Никакого!
П: Какой физический смысл имеет <какой-то мутный коэффициент в каком-то законе терподинамики>?
Я: (правильный ответ) Никакого!
Есть же более простой путь написания синтаксического анализатора через yacc например +ragel для удобства
Строгое сравнение двух double — сомнительное действие
bool operator==(const val& l, const val& r){
if(l.u != r.u) return false;
if(l.n != r.n) return false;
return true;
}
Про консольный калькулятор уже было. Помню я переписал на ассемблер UASM. Код получился даже наглядней С++11.
KvanTTT, как думаете, каждые сколько недель в среднем жители хабра пишут про парсинг математических выражений?
Sign up to leave a comment.
Пишем свой парсер математических выражений и калькулятор командной строки