Описание тега concrete-syntax-tree
Конкретное синтаксическое дерево предназначено для вопросов, связанных с синтаксическим анализом, необходимым для автоматического рефакторинга исходного кода или разработки инструмента синтаксического анализа.
1
ответ
Можно ли по-человечески исправить проблемы с размером отступа без доступа к синтаксическому дереву?
Если спросить иначе, если я покажу вам этот файл маскированного кода, используя только ваш человеческий мозг, можно ли исправить проблемы с отступами, даже если вы знаете, что это отступ с двумя пробелами? xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx…
20 мар '15 в 21:15
1
ответ
Как мне уменьшить дерево разбора до абстрактного синтаксического дерева?
Каковы общие стратегии преобразования дерева синтаксического анализа (т.е. конкретного синтаксического дерева) в абстрактное синтаксическое дерево? Например, у меня есть следующее правило грамматики: statement_list : statement | statement_list state…
30 июл '13 в 01:25
1
ответ
Как я могу преобразовать конкретные значения синтаксиса в другие виды значений?
Учитывая какое-то конкретное значение синтаксиса, как я могу сопоставить его с другим типом значения (в этом случае int)? // Syntax start syntax MyTree = \node: "(" MyTree left "," MyTree right ")" | leaf: Leaf leaf ; layout MyLayout = [\ \t\n\r]*; …
28 июн '16 в 15:43
1
ответ
Как я могу создать конкретный синтаксис `X?`
У меня есть этот конкретный синтаксис: syntax SomeMore = [...] SyncBlock? sync; syntax SyncBlock = "sync" "{" SyncStatement* stats "}"; syntax SyncStatement = [...]; [SyncBlock]"sync { <syncStrings> }" кажется, работает, но когда я пытаюсь исп…
22 дек '16 в 09:02
1
ответ
Как перевести LR(1) Parse в абстрактное синтаксическое дерево?
Я закодировал анализатор LR(1), управляемый таблицей, и он работает очень хорошо, однако у меня возникли некоторые проблемы на этапе анализа синтаксического дерева / абстрактного синтаксического дерева. Это проект, которым я очень увлечен, но я прос…
25 май '15 в 20:21
9
ответов
В чем разница между абстрактным синтаксическим деревом и конкретным синтаксическим деревом?
Я немного читал о том, как работают интерпретаторы / компиляторы, и одна область, в которой я запутался, - это разница между AST и CST. Насколько я понимаю, парсер создает CST, передает его семантическому анализатору, который превращает его в AST. Т…
11 дек '09 в 15:33
5
ответов
Разобрать дерево и грамматику
Кто-нибудь знает, где найти хорошие онлайн-ресурсы с примерами того, как создавать грамматики и разбирать деревья? Желательно вводные материалы. Информация, которая является дружественной к n00b, не нашла ничего хорошего в Google. Редактировать: я д…
17 сен '08 в 13:18
1
ответ
OCL: от AST к конкретному синтаксису
Evrything находится в заголовке: у меня есть OCL AST (с правами root org.eclipse.ocl.ecore.Constraint), который я изменил. Я хотел бы проанализировать его еще раз, но я нахожу только "однострочную грамматику OCL", которую вы получаете при печати огр…
24 фев '17 в 22:48
1
ответ
Как NullLiteral представлен в виде дерева?
Согласно спецификации ECMAScript в разделе 7.8.1 a NullLiteral определяется следующим образом: NullLiteral:: ноль Я пытаюсь понять, как это представляется в виде дерева, когда NullLiteral включен в следующие произведения, найденные в разделах 7.6.1 …
14 июл '10 в 15:32
2
ответа
Разница между синтаксическим анализом дерева DOM и синтаксическим анализом дерева?
После анализа файла HTML или XML мы можем получить дерево DOM. После разбора C, C++ или JavaScript мы можем получить синтаксическое дерево. Обратите внимание, что синтаксическое дерево построено на основе контекстно-свободной грамматики, которая опр…
15 май '12 в 19:22
1
ответ
Как остановить `ast.parse` от преобразования числовых значений в int/float?
Например:: >>> import ast >>> print(type(ast.parse('1.2', mode='eval').body.n) float Как мне позволить парсеру конвертировать исходный файл python в синтаксическое дерево, сохраняя при этом исходные значения узлов в str тип? Потому…
17 окт '13 в 20:04
1
ответ
Когда использовать абстрактное или конкретное синтаксическое дерево?
Я занимался исследованием компиляторов. Лексер кажется очень прямым: возьмите "предложение" и разбейте его на слова (или жетоны). Для обеспечения правильной грамматики необходим синтаксический анализатор. Парсер обычно берет токены и строит дерево, …
26 фев '12 в 19:35
2
ответа
Что мне делать с конкретным синтаксическим деревом?
Я использую pyPEG для создания дерева разбора для простой грамматики. Дерево представлено с использованием списков и кортежей. Вот пример: [('command', [('directives', [('directive', [('name', 'retrieve')]), ('directive', [('name', 'commit')])]), ('…
03 фев '10 в 02:50
0
ответов
Есть ли способ описать, как CST должен быть переведен в AST?
Я по сути интересуюсь тем, как можно было бы написать спецификацию, описывающую преобразование CST в AST. В декларативной (и, следовательно, языковой) манере. CST отличаются от AST. AST может быть даже создан без посредника CST. Существует ли какой-…
07 май '18 в 07:03
0
ответов
Как добавить собственный узел в AST в Pharo SmaCC?
Я создаю CST с универсальными настраиваемыми узлами для языка Java в SmaCC с Pharo. Я нашел грамматику (парсер и сканер) и протестировал ее на нескольких примерах, создание абстрактного синтаксического дерева отлично работает. Но мне нужно создать к…
10 сен '19 в 22:44
0
ответов
Конкретное синтаксическое дерево - в - абстрактное синтаксическое дерево перевод - начинать с корня или листьев?
Я создаю библиотеку для перевода Конкретного синтаксического дерева (дерево синтаксического анализа, сгенерированного ANTLR 4) в абстрактное синтаксическое дерево, которое создается из классов, которые я объявил сам (https://ruslanspivak.com/lsbasi-…
07 май '20 в 20:52
0
ответов
Как красиво распечатать исходный код при использовании AST, созданного из CST
Я знаю, что довольно просто распечатать код с помощью CST, поскольку информация о грамматике хранится в узле. Однако при преобразовании в AST большая часть исходной структуры исходного кода теряется из-за десугаринга и других преобразований. Таким о…
19 май '21 в 23:21
2
ответа
libcst: при вставке нового узла добавляется встроенный код и точка с запятой
Я пытаюсь ввести новый узел (как новую строку кода) непосредственно перед узлом Assign. Проблема возникает при использовании FlattenSentinel чтобы представить новый узел, поскольку я хочу, чтобы узел был отдельным, но libcst объединяет их, используя…
10 июн '21 в 19:53
0
ответов
Tree-Sitter.py все пути от листа к листу
Я пытаюсь извлечь весь путь от листа к листу из синтаксического дерева, созданного с помощью tree-sitter, для использования в code2vec, но я не могу понять, как идентифицировать листья, а затем как разработать алгоритм.
28 июн '21 в 16:13
1
ответ
Как получить абстрактное синтаксическое дерево, используя конкретное синтаксическое дерево языка?
Как использовать конкретное синтаксическое дерево для анализа файла и создания абстрактного синтаксического дерева? Я наткнулся на конкретные синтаксические деревья в этом сообщении блога о неграмме . Но я не могу осмыслить, как построить парсер.
13 сен '21 в 22:34