Skip to content

Repository files navigation

Build Status

MeaningTree


Что это такое?

MeaningTree — это библиотека и консольное приложение на Java,
предоставляющие единый промежуточный формат (семантическое/универсальное AST‑дерево) для разбора,
анализа и трансляции исходного кода между разными языками программирования.


Область применения и ограничения

MeaningTree не является универсальным транспилятором. Проект намеренно ограничен подмножеством языковых конструкций, характерным для учебных примеров кода: базовые типы, выражения, ветвления, циклы, функции, простые классы, ввод‑вывод.

Такое ограничение — это осознанное проектное решение, а не временный недостаток. Цель — детерминированная конвертация без ошибок и без «додумывания»: любая конструкция, которая не может быть переведена в целевой язык корректно и однозначно, приводит к явной ошибке (UnsupportedViewingException / SupportReport), а не к правдоподобному, но неверному результату.

Именно поэтому трансляция здесь построена на явных правилах и разборе через tree-sitter, а не на LLM: языковая модель на таком материале даёт внешне корректный код, но допускает молчаливые смысловые расхождения и галлюцинации, недопустимые в обучающей системе, где сгенерированный код используется как эталон.

Практическое следствие: расширять поддержку конструкций следует только тогда, когда для них можно гарантировать корректный перевод во все поддерживаемые языки; в противном случае конструкция должна быть явно помечена как неподдерживаемая.


Документация

Вся документация находится в папке docs/.

Она организована по разделам:

  • docs/index.md - детальное оглавление документации
  • docs/application — пользовательское руководство по CLI‑приложению
  • docs/common — описание формата и основных возможностей
  • docs/languages — описание поддерживаемых языков и их возможностей
  • docs/test — документация по тестировочному фреймворку

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages