Вопросы по теме 'abstract-syntax-tree'
javac.exe Пример программного доступа AST
Можно ли программно получить доступ к абстрактному синтаксическому дереву (AST) внутри javac.exe? Не могли бы вы привести пример?
5960 просмотров
schedule
18.02.2023
Как должен выглядеть мой AST для простых преобразований?
У меня есть минимальный игрушечный язык, похожий на javascript. Я создаю AST, чтобы опробовать некоторые методы оптимизации, такие как escape-анализ, вывод типов. Я попробовал несколько подходов, таких как обобщение токенов операторов вместо...
564 просмотров
schedule
26.04.2022
Как я могу использовать абстрактное синтаксическое дерево 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 просмотров
schedule
07.07.2023
Groovy — преобразования AST, практический пример
преобразования AST реализованы в Groovy. Каков практический пример использования преобразования AST?
1531 просмотров
schedule
20.05.2022
Преобразование синтаксического дерева Antlr в полезные объекты
В настоящее время я обдумываю, как лучше всего взять AST, сгенерированный с помощью Antlr, и преобразовать его в полезные объекты, которые я могу использовать в своей программе.
Целью моей грамматики (помимо обучения) является создание исполняемого...
3412 просмотров
schedule
18.01.2023
Возможно ли получить 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 просмотров
schedule
28.03.2022
Как реализовать вызов функции с помощью Antlr, чтобы его можно было вызывать еще до того, как он будет определен?
Как лучше всего реализовать обходчик дерева после создания AST, чтобы функции можно было определять и вызывать в любом порядке?
Например, это допустимо в PHP:
<?php
f(); // function called before it’s defined
function f() {
print 3;
}...
5968 просмотров
schedule
11.03.2024
Создание простого AST в ANTLR
Я немного играю с ANTLR и хочу создать такую функцию:
MOVE x y z pitch roll
Это производит следующий AST:
MOVE
|---x
|---y
|---z
|---pitch
|---roll
До сих пор я безуспешно пытался, и я продолжаю получать параметры...
3188 просмотров
schedule
22.04.2023
Проблема со сборкой 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 просмотров
schedule
20.07.2022
Насколько сложно написать интерпретируемый язык, если у вас есть AST?
У меня уже есть парсер для языка, над которым я работаю. Сложно ли это интерпретировать? Я думал, что это просто. Парсинг и проверка синтаксиса завершены. У меня просто дерево объектов. Каждый раз, когда создается объект, я создаю ветку и...
2054 просмотров
schedule
27.07.2023
Преобразование AST в Groovy: создание макроса для предоставления базового конструктора
Я хотел бы сделать макрос, который бы существенно расширил это:
@WithBasicConstructor
class Person {
private String name
private String address
}
в это:
class Person {
private String name
private String address
Person(String...
494 просмотров
schedule
16.05.2023
Как получить ICopmpilationUnit из текущего редактора на экране - Eclipse
Я пытался получить/создать ICompilationUnit из исходного кода, отображаемого в редакторе, я хочу сделать это, чтобы позже создать AST. Кто-нибудь может мне помочь? спасибо...
44 просмотров
schedule
20.03.2023