Ramzes писал(а):SLIM, где твоя совесть? пятница! вечер! Только позитифф
Ramzes писал(а):а где флуд? флуд мы в миг прекратим, если он в тематических разделах
Ну че будет, че будет, забаним!SLIM писал(а):Мама, сообщение за номером 666...пипец, что-то будет
tyomitch писал(а):1. Букварный пример же.
exp-->exp + exp
exp-->term
term-->term * term
term-->id
tyomitch писал(а):2.1. очевидно, S-->aS
Хакер писал(а):Что значит без рукотворного кода? Анализатор описания грамматики сам по себе зарождается?
Хакер писал(а):А TokenSequence можно обработать руками, можно скормить куда-то, можно превратить в дерево используя тот же DFA.
Анализатор описания грамматики (произвольной) != анализатор потока токенов для конкретной грамматики
Вот не сделаешь ты дерево из DFA, говорю же.
tyomitch писал(а):Я всё это учил и сдавал
Хакер писал(а):Вот не сделаешь ты дерево из DFA, говорю же.
Ну обоснуй это заявление.
DFA — не более чем технология построения программы в рантайме. Можно вообще всю программу сделать через DFA.
...tyomitch писал(а):Я всё это учил и сдавал
Ты учил и сдавал классику, но не то, что придумал я. Ты пытаешься смотреть на мой принцип разбора через призму классики, но этого делать нельзя.
Хакер писал(а):DFA --- не классическое понятие, а библиотека, функции которые имеют префикс "Dfa" и отвечают за построение того, что я описал в топике "Second hand (Хакерское abandonware)".
Хакер писал(а):А ты думал это Determinated Finite Automat?
Хакер писал(а):Про дерево не понял.
()((()(()))(())())
1 234 56 78 9
0
/ \
1 2
/|\
3 9 7
/ \ \
4 5 8
|
6
Задача любого синтаксического анализатора состоит в нескольких вещах
1. Принять поток данных и определить относится ли он к данному языку и грамматике (больше грамматики конечно)
2. Обработав все это нужно вывести дерево разбора, или ошибку в разборе если таковая имеется.
Понятие токен без грамматики то же самое что и атом - самостоятельно они бесполезны.
Ну а если задаться заданием структуры грамматики, тут вступает уже придуманные учеными методы. Я если честно сам пытался, но в итоге все стекается к уже придуманному...
Я бы поставил тебе памятник если бы была такая ситуация
1. Получаем строку неизвестно чего
2. Находим в нем структуру
3. В следующий раз при получении строки такой же структуры уже не переструктурируем, а используем старую структуру
4. При возникновении неправильности первой изночальной структуру, переструктурируем ее по-новой
Т.е. тогда не нужны ни грамматики ни что-то еще. Получив входную строку, программа сама анализирует что там и как, и потом будет это использовать. Тогда человек, желающий создать парсер под например ini будет просто посылать строку из любого готового ini, составится структура синтаксиса и сможешь работать с любым ini....и так везде, включая естествнные языки
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36