Вопросы по теме 'abstract-syntax-tree'

javac.exe Пример программного доступа AST
Можно ли программно получить доступ к абстрактному синтаксическому дереву (AST) внутри javac.exe? Не могли бы вы привести пример?
5960 просмотров
schedule 18.02.2023

Как должен выглядеть мой AST для простых преобразований?
У меня есть минимальный игрушечный язык, похожий на javascript. Я создаю AST, чтобы опробовать некоторые методы оптимизации, такие как escape-анализ, вывод типов. Я попробовал несколько подходов, таких как обобщение токенов операторов вместо...
564 просмотров

Как я могу использовать абстрактное синтаксическое дерево java Eclipse в проекте вне Eclipse? (т.е. не плагин eclipse)
Как я могу использовать абстрактное синтаксическое дерево java Eclipse в проекте вне Eclipse? (т.е. не плагин eclipse) Все примеры Eclipse AST, которые я видел, относятся к подключаемым модулям Eclipse. Есть ли способ (т.е. пример) проекта,...
9220 просмотров
schedule 29.09.2022

Как я могу получить полный AST в Python?
Мне нравятся опции, предлагаемые модулем _ast , он действительно мощный. Есть ли способ получить от него полный AST? Например, если я получаю AST следующего кода: import os os.listdir(".") используя : ast =...
3038 просмотров
schedule 22.09.2022

Использование Groovy AST Transform для модификации java
Можно ли использовать код преобразования groovy ast для управления классами Java? Если да, приведите пример. Если нет, укажите, почему.
2986 просмотров
schedule 14.02.2023

Ваша любимая оптимизация абстрактного синтаксического дерева
Если бы вы создавали компилятор, какую оптимизацию на уровне AST было бы лучше всего иметь?
4463 просмотров

Groovy — преобразования AST, практический пример
преобразования AST реализованы в Groovy. Каков практический пример использования преобразования AST?
1531 просмотров
schedule 20.05.2022

Преобразование синтаксического дерева Antlr в полезные объекты
В настоящее время я обдумываю, как лучше всего взять AST, сгенерированный с помощью Antlr, и преобразовать его в полезные объекты, которые я могу использовать в своей программе. Целью моей грамматики (помимо обучения) является создание исполняемого...
3412 просмотров

Возможно ли получить AST для программы OCaml?
Я хотел бы иметь возможность получить AST для данной программы OCaml (например, я хотел бы пройтись по AST и сгенерировать инструментальную версию кода или выполнить какое-то преобразование). Поддерживает ли какой-либо из инструментов OCaml эту...
649 просмотров
schedule 01.11.2022

элегантный способ проверить AST Python на равенство (не ссылку или идентичность объекта)
Не уверен в терминологии здесь, но это будет разница между eq? и equal? в схеме или разница между == и strncmp со строками C; где в каждом случае первая вернет false для двух разных строк, которые фактически имеют одинаковое содержимое, а...
2404 просмотров
schedule 20.05.2022

Какие типы шаблонов я могу применить в коде, чтобы упростить перевод на другой язык программирования?
Я собираюсь сделать побочный проект, целью которого является перевод кода с одного языка программирования на другой. Языки, с которых я начинаю, - это PHP и Python (с Python на PHP должно быть проще начать), но в идеале я мог бы добавить другие языки...
21282 просмотров

Как реализовать вызов функции с помощью Antlr, чтобы его можно было вызывать еще до того, как он будет определен?
Как лучше всего реализовать обходчик дерева после создания AST, чтобы функции можно было определять и вызывать в любом порядке? Например, это допустимо в PHP: <?php f(); // function called before it’s defined function f() { print 3; }...
5968 просмотров

Создание простого AST в ANTLR
Я немного играю с ANTLR и хочу создать такую ​​​​функцию: MOVE x y z pitch roll Это производит следующий AST: MOVE |---x |---y |---z |---pitch |---roll До сих пор я безуспешно пытался, и я продолжаю получать параметры...
3188 просмотров

Проблема со сборкой ANTLR AST
Я не могу получить AST " risk & factors | concise" | item 503 используя следующую грамматику grammar BoolExpRep; options { output=AST; } tokens { MultiWordNode; } start : exp EOF! ; exp : atom (expRest^)? | '('!...
269 просмотров
schedule 26.06.2022

Преобразования Groovy AST — как определить возвращаемый тип выражения MethodCallExpression?
Как с помощью преобразований Groovy AST определить тип возвращаемого значения ВыражениеMethodCallExpression ? MethodCallExpression.getType() всегда возвращает java.lang.Object , даже если я явно определяю возвращаемый тип метода в...
356 просмотров
schedule 01.07.2022

Как мне перекомпилировать AST Ripper обратно в код Ruby?
Ripper — это библиотека синтаксического анализа, которая поставляется с Ruby 1.9. Он преобразует код Ruby в AST, например: pp Ripper.sexp("def foo; yield :a; return 1 end") #=> [:program, [[:def, [:@ident, "foo", [1, 4]], [:params,...
1284 просмотров
schedule 02.09.2022

Ресурсы по преобразованию синтаксического дерева в сборку?
В первую очередь в качестве учебного упражнения я пишу виртуальную машину, ассемблер и компилятор с нуля, без каких-либо внешних инструментов. Я считаю, что у меня есть хорошее концептуальное представление о том, как будут работать виртуальная...
2391 просмотров

Насколько сложно написать интерпретируемый язык, если у вас есть AST?
У меня уже есть парсер для языка, над которым я работаю. Сложно ли это интерпретировать? Я думал, что это просто. Парсинг и проверка синтаксиса завершены. У меня просто дерево объектов. Каждый раз, когда создается объект, я создаю ветку и...
2054 просмотров

Преобразование AST в Groovy: создание макроса для предоставления базового конструктора
Я хотел бы сделать макрос, который бы существенно расширил это: @WithBasicConstructor class Person { private String name private String address } в это: class Person { private String name private String address Person(String...
494 просмотров

Как получить ICopmpilationUnit из текущего редактора на экране - Eclipse
Я пытался получить/создать ICompilationUnit из исходного кода, отображаемого в редакторе, я хочу сделать это, чтобы позже создать AST. Кто-нибудь может мне помочь? спасибо...
44 просмотров