169 похожих чатов

Ребят, нужно написать утилитку которая по одному котлин коду -

генерит новый котлин код
Как сейчас это принято делать? Интересует что-то простоЕ, но умнее регулярок)

PS Для генерации kotlin-poet планирую взять

11 ответов

8 просмотров

По сорцам? Не думаю, что это прям ходовая задача :)

ast парсеры какие нить

А что будет анализироваться? Классы, сигнатуры функций? Или содержимое самих функций?

Igor- Автор вопроса
Vladimir Petraković
Тогда kapt 🌚

Ну это на крайний случай, если совсем регексы не помогут (хотя пока хватало) Мне нужно это один раз сделать, а не при каждой компиляции. Типа миграцию кода провести.

Igor
Ну это на крайний случай, если совсем регексы не п...

Я не заглядывал, может, в ANTLR есть грамматика котлина?

Andrew Mikhaylov
Я не заглядывал, может, в ANTLR есть грамматика ко...

ANTLR грамматика есть в репо спеки: https://github.com/Kotlin/kotlin-spec/tree/release/grammar

Victor Petukhov
ANTLR грамматика есть в репо спеки: https://github...

Да, там чуть ниже скинули https://github.com/Kotlinx/ast, которая как раз пользуется официальной грамматикой из спеки (https://kotlinlang.org/docs/reference/grammar.html)

Igor- Автор вопроса

Короче, если кто хочет сделать что-то полезное для Kotlin-комьюнити Вот вам идея тулзы для портирования на котлин https://scalacenter.github.io/scalafix/

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта