Я заинтересован в изменении синтаксиса java и некоторых неявных парадигм. Поскольку я разрабатываю с помощью eclipse, который предоставляет собственный компилятор, который также можно использовать автономно, мне стало интересно, нельзя ли расширить ecj для соблюдения дополнительных правил грамматики (и их правильной обработки). Все мои синтаксические изменения можно разрешить, удаляя элементы из AST и создавая некоторые новые, поэтому я предполагаю, что то, что я хочу сделать, возможно без погружения в байт-код.
По сути, то, что я хочу сделать, можно сделать путем «виртуального» изменения исходного кода перед фактической компиляцией. Однако я подозреваю, что это может испортить исходное сопоставление, что приведет к отладке ада.
О sidenote: Мне известен проект Lombok, который расширяет и изменяет компиляцию классов, однако lombok использует только аннотации, и не изменяет синтаксис, строго говоря. Поэтому то, что я хочу сделать, более инвазивно к языковым спецификациям.