Comments 9
Ох, всё-таки какая же жесть нечитаемая этот ваш Rust. Код на нём очень больно выглядит.
А если серьёзно, то простенький стековый интерпретатор SQL SELECT почти на любом языке укладывается в те же самые считанные сотни строк, если заюзать ANTLR, Bison, или любой другой подобный генератор для лексера/парсера. Не совсем понятно, зачем писать его с нуля. Искусства ради? Почему не использовать готовый инструмент?
Ох, всё-таки какая же жесть нечитаемая этот ваш Rust. Код на нём очень больно выглядит.
Со стандартным форматированием было бы чуть покрасивее.
На первый взгляд синтаксис Rust кажется "инопланетным", но если немного привыкнуть, не страшнее C++.
Не совсем понятно, зачем писать его с нуля.
Сегодня может быть проще реализовать парсер средствами языка, чем использовать традиционные инструменты. Использование комбинаторных парсеров требует примерно того же количества кода, что и какой-нибудь ANTLR, но процесс сборки проще, но вместе с тем производительность может быть хуже (опыт со scala parser combinators).
Про синтаксис Rust я вообще-то иронично заметил, но, видимо, слишком тонко. Не поняли. Видимо, мало кто уже помнит, как в былые годы писали на перле (я тоже писал), вот уж где было реально фиг распарсишь...
А вот что касается парсеров — да, можно. Но нужно ли? А если действительно нужно, то почему бы не поддержать тогда грамматику ANTLR, которая давно привычна?
«Просто понравилось» — это очень слабый аргумент.
Нет, чтобы поиграться-то нормально. Тут я не спорю, всегда интересно сделать очередной троллейбус из новой буханки. Но, как только проект становится сколько-нибудь «реальным» (а иногда это происходит неожиданно), поддержка подобных самоделок превращается в не менее реальную головную боль. Особенно, если ей приходится заниматься кому-то кроме непосредственного автора.
Промышленные инструменты на то и промышленные, что по ним есть база знаний, накопленная сообществом, и всегда есть кого спросить на стековерфлоу.
Программист на Fortran Q может написать программу на Fortran Q на любом языке.
И да, почему вы используете скрщн с вкдвнм глснх? Это нисколечко не прибавляет в читабельности.
Векторные языки — SQL интерпретатор в 100 строк