Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Конечный автомат / 6 сообщений из 6, страница 1 из 1
18.11.2005, 16:59
    #33387470
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
Нужно тут простенький парсер сделать.
Вот не знаю как реализовать на С++, на простом С - запросто.
Мнеб примерчик посмотреть. Есть у кого?
...
Рейтинг: 0 / 0
18.11.2005, 19:41
    #33387788
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
Какой полезный эффект или выгоду вы хотите получить от использования C++?
...
Рейтинг: 0 / 0
19.11.2005, 17:48
    #33388387
gl@z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
Посмотрите топик "Как вычислить AnsiString="12+13,44*5-5/100" ???"
...
Рейтинг: 0 / 0
21.11.2005, 11:54
    #33389539
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
>> Посмотрите топик "Как вычислить AnsiString="12+13,44*5-5/100" ???"
На plain C я эту задачу решал еще лет 8 назад.

Обычно конечный автомат реализуется с помощью таблицы переходов и указателей на функции плюс пара глобальных переменных. А вот как это лучше сделать на C++.. я не знаю.
Понятное дело что таблица переходов должна быть. т.е. пусть у нас будет класс CParser содержащий таблицу переходов и абстрактный класс CLex - лексема. Возможно также придется вставить в CParser стэк лексем....
Я вот думаю... при изменении состояния автомата должна вызываться функция следующее состояние = f (предыдущее состояние, лексема), которая и генерит разобранный код. Вот эту мысль и я как думаю. Куда эту самую фукцию повесить? на лексему либо на парсер?... Так чтоб внесение изменений в будущем было относительно легким, потому, как таблица переходов будет сисльно разраздаться как за счет допустимых состояний, так и за счет лексем.
типа - не хочется слишком длинные запутанные case иметь. :)
...
Рейтинг: 0 / 0
22.11.2005, 07:44
    #33391296
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
На C++ можно написать как на C.
В чем проблема языка?
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
22.11.2005, 12:56
    #33392203
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конечный автомат
Проблема не в языке, а в попытке реализации парсера используя методы ООП.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Конечный автомат / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]