Size: a a a

Rust — русскоговорящее сообществo

2020 April 08

G

Gymmasssorla in Rust — русскоговорящее сообществo
Сейчас у меня план просто закостылить N функций демультиплексации, как в стд поступили с массивами
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
И потом, возможно, спрятать под макрос demux!(...)
источник

dp

dark pit in Rust — русскоговорящее сообществo
как-то раньше не задумывался, но ведь можно юзать голый Box<[T]> для многомерных массивов.

и заодно дженерики с лайфтаймами попрактиковал.

https://gist.github.com/ratijas/c0122a7ec276966513f8f6e92bd080d0
источник

p

polunin.ai in Rust — русскоговорящее сообществo
такс, а какой парсер из существующих в расте самый удобный для написания? знаю pest и nom. у первого можно грамматику описать в файле, но из-за процмакросов нет подсветки в IDE. у второго больше низкоуровневые функции, а мне хотелось бы более высокоуровневых.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ход конем: взять пест, запустить cargo expand и скопипастить
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
Представляю какое чудовище там выйдет
источник

p

polunin.ai in Rust — русскоговорящее сообществo
гениально) в принципе, если там код человекочитаемый, то можно и так
источник

С

Сергей in Rust — русскоговорящее сообществo
polunin.ai
такс, а какой парсер из существующих в расте самый удобный для написания? знаю pest и nom. у первого можно грамматику описать в файле, но из-за процмакросов нет подсветки в IDE. у второго больше низкоуровневые функции, а мне хотелось бы более высокоуровневых.
combine, но он тоже уровня nom примерно. А что в вашем понимании высокий уровень парсера?
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
polunin.ai
гениально) в принципе, если там код человекочитаемый, то можно и так
Человекочитаемый, ну-ну )))
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Gymmasssorla
Представляю какое чудовище там выйдет
игрушечное
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А если серьезно, отсутствие автокомплита для песта - не сильно страшно.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Сергей
combine, но он тоже уровня nom примерно. А что в вашем понимании высокий уровень парсера?
например в песте встроено определение span для токенов, а для nom придется самому создавать велосипеды
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Mikail Bagishov
А если серьезно, отсутствие автокомплита для песта - не сильно страшно.
Имхо страшно то что там DSL, когда в nom обычный растокод
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
polunin.ai
например в песте встроено определение span для токенов, а для nom придется самому создавать велосипеды
велосипеды уже написаны: https://lib.rs/crates/nom_locate
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Casual tears
велосипеды уже написаны: https://lib.rs/crates/nom_locate
спасибо
источник

С

Сергей in Rust — русскоговорящее сообществo
polunin.ai
например в песте встроено определение span для токенов, а для nom придется самому создавать велосипеды
тогда посмотрите на combine. Он может сложноватый, особенно когда в его типы начинаешь погружаться, но и высокоуровневые парсеры вроде есть, и без макросов почти
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Сергей
тогда посмотрите на combine. Он может сложноватый, особенно когда в его типы начинаешь погружаться, но и высокоуровневые парсеры вроде есть, и без макросов почти
вроде бы выглядит не так пугающе, спасибо
источник

СХ

Судзумия Харухи in Rust — русскоговорящее сообществo
Только будьте заранее готовым к тому, что 50 строчек парсера будут компилироваться пол-минуты. Там много логики на типах сделано
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
rust-peg
источник

p

polunin.ai in Rust — русскоговорящее сообществo
хм, какой-то синтаксис инопланетный. тоже посмотрю
источник