Есть ли анализатор, который будет выводить Isabelle / Isar AST в формате JSON?

#parsing #abstract-syntax-tree #isabelle

#синтаксический анализ #абстрактное синтаксическое дерево #isabelle

Вопрос:

Существуют ли какие-либо анализаторы языков Isabelle / Isar? В частности, тот, который будет анализировать синтаксис и выводить что-то полезное, в идеале в независимом от языка формате, таком как JSON. Я хотел бы в основном иметь представление файла Isabelle / Isar .thy в формате JSON.

Комментарии:

1. Какая информация вам нужна от AST? isabelle dump Инструмент предоставляет вам некоторую информацию о структуре и определении в формате, подобном Xml, но на самом деле это не AST.

2. Я хочу попробовать создать транспилятор на JavaScript, поэтому наличие какого-то псевдо-ast — это все, что мне действительно нужно. Некоторая структурированная форма исходного кода.

3. В этом случае я бы посмотрел на генератор кода для одного из существующих языков (например src/Tools/Code/code_scala.ML , ) и использовал его в качестве шаблона для генератора кода JS.

4. Ха, что за вопрос! Обсуждения пользователей Isabelle содержат некоторые темы по этому поводу, и Макариус сказал, что такой синтаксический анализ является весьма нетривиальной задачей, если это вообще возможно. Но, с другой стороны, есть dominique-unruh.github.io/scala-isabelle который я начал использовать для синтаксического анализа, и мне удалось его зажечь. Хотя я перешел к другим проектам. Isablle не является грамматикой onw, можно определить дополнительные правила грамматики, расширить грамматику, и именно поэтому не существует единой грамматики, которую можно использовать для ANTRL для генерации синтаксического анализа.

5. Ваш вопрос настолько глубок, насколько он актуален. Действительно, если кто-то может анализировать и создавать обратные выражения isablle, то их можно встроить в нейронные сети и использовать для всех видов обработки ИИ — автоматического доказательства теорем, автоматической генерации теорем и концепций и т. Д. Все используемые случаи, которые включают перевод на естественный язык в HOL и последующую обработку и перевод обратно. По сути, ваш запрос — это святой грааль.