Описание тега abstract-syntax-tree

Абстрактные синтаксические деревья (AST) представляют рекурсивную структуру формального документа (исходного кода программы).
2 ответа

Бизон - передать значения для следующего производства

field_dec: type id_list ; id_list: ID punct id_list | ID SQUARE_OPEN INTEGER SQUARE_CLOSED punct id_list | ID punct | ID SQUARE_OPEN INTEGER SQUARE_CLOSED punct ; type: INT | BOOLEAN ; punct: COMMA | SEMICOLON ; У меня есть грамматика бизонов, как у…
11 окт '15 в 12:13
1 ответ

Организация требований и перемещение их в документ.

Я организую код в приложении. Операторы require не организованы, поэтому я создал этот код для сортировки и добавления их в верхней части страницы. Кодмод работает, почти идеально. У меня есть некоторые сомнения: Это нормально, или есть более правил…
21 июн '16 в 23:44
2 ответа

Что означает ключевое слово send в AST в Ruby?

Я пытаюсь изучить лексер и анализатор Ruby (анализатор whitequark), чтобы узнать больше о процедуре дальнейшей генерации машинного кода из сценария Ruby. При разборе следующей строки кода Ruby. def add(a, b) return a + b end puts add 1, 2 Это привод…
1 ответ

Построение дерева: размножить поддерево для ребенка

Предположим, у меня есть эта простая и бессмысленная грамматика: propagate : what^ where*; what : CHAR^; where : NUMBER -> ^(PLUS NUMBER); NUMBER : '0'..'9'; CHAR : 'a'..'z'; PLUS : '+'; Если он разбирает строку как a123456789, он генерирует AST,…
09 янв '13 в 19:24
2 ответа

clang libTooling: Как узнать, из какого заголовка вышел элемент AST?

Примеры, найденные в Интернете для инструментов clang, всегда выполняются на игрушечных примерах, которые обычно являются действительно тривиальными программами на Си. Я создаю инструмент, который выполняет преобразования исходного кода в код C++, ч…
22 сен '14 в 01:27
1 ответ

Как мне разобрать источник на Haskell в AST на Haskell?

Я пытаюсь разобрать исходный файл на Haskell в AST. Я новичок в парсерах, поэтому я не уверен, как сделать свой собственный. Мне просто интересно, есть ли функция, которая принимает файл и возвращает AST. Я также думал, что это может сработать, чтоб…
29 июл '13 в 21:54
3 ответа

Компилятор AST как реализовать операторы и выражения

В настоящее время работает над небольшим игрушечным компилятором, рассмотрим этот код // AST base class abstract class AST { /* codegen methods */} // abstract classes for Statements and Expressions abstract class Statement : AST {} abstract class E…
2 ответа

Получите детали исходного скрипта, аналогично inspect.getmembers(), без импорта скрипта

Я пытаюсь получить источник, список вызываемых, значения по умолчанию, ключевые слова, аргументы и переменные функций в скрипте Python. В настоящее время я импортирую модуль и использую питон inspect модуля getmembers функция и прохождение isfunctio…
14 авг '17 в 23:07
1 ответ

Застрял на шаге 0 использования LibTooling и LibASTMatchers

Я пытаюсь следовать учебному руководству в http://clang.llvm.org/docs/LibASTMatchersTutorial.html и застрял на шаге 0. Я управляю командой git checkout next и я получаю error: pathspec 'release' did not match any file(s) known to git Пожалуйста помо…
12 янв '18 в 16:50
2 ответа

Как создать анализатор AST, который допускает синтаксические ошибки?

Во-первых, что читать о разборе и построении AST? Как создать синтаксический анализатор для языка (например, SQL), который будет создавать AST и допускать синтаксические ошибки? Например, для "3+4*5": + / \ 3 * / \ 4 5 А для "3+4*+" с синтаксической…
1 ответ

Как визуализировать каждый шаг построения АСТ

Я кодирую синтаксический анализатор выражения и его визуализации, что означает, что каждый шаг разбора рекурсивного спуска или построения AST будет визуализироваться как крошечная версия VisuAlgo. // Expression grammer Goal -> Expr Expr -> Ter…
0 ответов

Как получить все поля из Javaparser

У меня есть пример кода, который использует анализатор библиотеки рекордера, чтобы получить все поля любого исходного кода Java. Вот код Первый класс абстрагирует метод execute import java.util.List; import recoder.abstraction.Field; import recoder.…
23 авг '18 в 14:35
1 ответ

Как получить и изменить Xtend AST

Привет всем, Я хотел бы написать плагин Eclipse для обработки и изменения AST текущего редактора xtend. Как я могу получить AST редактора xtend? Спасибо!
30 ноя '14 в 11:18
0 ответов

Слияние файлов JS независимо от форматирования. ех. слияние esprima ast's

Знаете ли вы какой-либо инструмент для слияния файла JS в другой, но сохранить форматирование? напр., слияние x({a: 5, b: 6}); в x({ a: 1, b: 2, }); и результат будет x({ a: 5, b: 6, }); вместо конфликта слияния Я думаю, что инструмент, который може…
04 мар '15 в 09:07
0 ответов

Макрос VBA, который вычисляет выражение, данное в файле XML

На самом деле, с учетом XML-файла, описываемого с помощью дерева AST-выражения (математического), вам нужно создать макрос, который должен считать мое выражение и выводить ответ с готовой формулой. Есть идеи программно, но очень далеко введите описа…
0 ответов

ObjCArray Литеральное соответствие в clang

При использовании лягушки ASTMatchers кажется, что нет API для обработки сопоставления с ObjCArrayLiteral. Я ошибаюсь или есть API для этого?
23 мар '18 в 20:47
1 ответ

Как ast.literal_eval работает со списком словарей?

Работает ли ast.literal_eval() со списком словарей? Для меня это дает неправильную строку? [[u'ABN ', u'12', u '', 2.69, u'222.222.222.222 ', u'253', u'ID99 ', u'Savings', u'300 ', u'-120', u'Not Useful '], [u'DB', u'44 ', u' ', 2.628, u'333.333.333…
18 апр '14 в 22:35
0 ответов

Неустановленный шаблон функции / класса ast не генерируется clang

Я работаю над синтаксическим анализатором C/C++, основанным на clang libtooling. Я использую AST, сгенерированный clang для разбора кода. Недавно я заметил, что для шаблонного класса или функции, которая не является экземпляром Clang, не генерируетс…
1 ответ

Как найти все поля для чтения / записи с помощью Clang?

Учитывая исходный код C++, я хочу найти поля класса, которые каждая функция пишет и читает. Каков наилучший способ сделать это с помощью внешнего интерфейса Clang? (Я не прошу подробного объяснения всех шагов; однако отправная точка для эффективного…
1 ответ

Изменение синтаксиса Java

Я хочу использовать существующий Java AST от Rascal, предоставляемый в библиотеке m3, но я хотел бы расширить его, чтобы добавить некоторые функции. Мы работаем с Java-подобным языком (около 95% Java и 5% наших специфических функций). В идеале я хот…
11 авг '15 в 14:15