crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Реализация конечного автомата
Andrew Selivanov
  опции профиля:
сообщение 1.9.2008, 11:35
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Как реализовать конечный автомат с использованием метапрограммирования: http://www.rsdn.ru/article/alg/Static_Fini...ate_Machine.xml by Alexander Nikolayenko © 2005
Автор предлагает генерировать таблицу переходов с использованием шаблонов. Видимо следующий шаг после этого > Boost.Spirit :)

Признаться я в основном тупо использую switch/case конструкции (по разным причинам), хотелось бы услышать мнение других... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
sage
  опции профиля:
сообщение 12.11.2008, 16:36
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 12.11.2008
Из: Украина, Киев
Пользователь №: 418

Спасибо сказали: 0 раз(а)




Репутация:   0  


Конечные автоматы можно строить графически с помощью языка ДРАКОН
В конечном итоге схема выражается в виде
Цитата(Andrew Selivanov @ 1.9.2008, 10:35) *
switch/case конструкции
:)
Есть транслятор ДРАКОН-схем в программный код (Проект ДРОН) на языке Active Oberon, но язык вобщем-то может быть любой.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sage
  опции профиля:
сообщение 12.11.2008, 18:07
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 12.11.2008
Из: Украина, Киев
Пользователь №: 418

Спасибо сказали: 0 раз(а)




Репутация:   0  


А я предложение дописал
Цитата(sage @ 12.11.2008, 15:36) *
но язык вобщем-то может быть любой.
:)
ДРАКОН задаёт лишь управляющие конструкции, а наполнение блоков может быть осуществлено на любом языке :)
Таким образом, если нам необходима трансляция в С++, убираем из С++ все управляющие конструкции if, switch/case, while, и т.д. Их заменит графика! ;)
Если ещё и унифицировать синтаксис для наполнения блоков можно прийти к универсальному графическому представлению алгоритмов.
Похожая идея была у авторов сайта alglib, но там использованны морально устаревшие блок-схемы.
И что-бы не сложилось впечатление будто-бы это уход от темы ветки... Конечный автомат в полной мере реализуется схемой типа "силует" в ДРАКОНе :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 13.11.2008, 9:30
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(sage @ 12.11.2008, 18:07) *
Конечный автомат в полной мере реализуется схемой типа "силует" в ДРАКОНе :rolleyes:

Можно вопрос? А каким образом пользователь, особенно такой "дубовый", как я,
поймет, что слово "силует"("силуэт" возможно ?????) подразумевает конечный автомат? :blink:

Сообщение отредактировал AD - 13.11.2008, 9:30
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sage
  опции профиля:
сообщение 13.11.2008, 10:57
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 12.11.2008
Из: Украина, Киев
Пользователь №: 418

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(AD @ 13.11.2008, 8:30) *
Можно вопрос? А каким образом пользователь, особенно такой "дубовый", как я,
поймет, что слово "силует"("силуэт" возможно ?????) подразумевает конечный автомат?
Да, точно "силуэт", Вы правы :)
Насчёт "автоматности" "силуэта" шли жаркие дебаты. Но, на мой взгляд, тежело не увидеть очевидного... поскольку многие убедились на практике (в том числе и я), что "автоматные" задачи с помощью "силуэта" выражаются и успешно решаются. Что ещё нужно? ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 13.11.2008, 11:08
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(sage @ 13.11.2008, 10:57) *
Да, точно "силуэт", Вы правы :)
Насчёт "автоматности" "силуэта" шли жаркие дебаты. Но, на мой взгляд, тежело не увидеть очевидного... поскольку многие убедились на практике (в том числе и я), что "автоматные" задачи с помощью "силуэта" выражаются и успешно решаются. Что ещё нужно? ;)

Вопрос не в том! просто где-то из программы, в которой есть этот элемент, не читая тонны документации, можно узнать что с помощью СИЛУЭТА можно описать конечный автомат? Как это сделать прочитав КРАТКУЮ справку, предположим где-то в инете, можно "чайнику" создать этот автомат? Или же перед этим требуется хорошо разобраться в программе? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Andrew Selivanov   Реализация конечного автомата   1.9.2008, 11:35
- - Tonal   Зачем Boost.Spirit? Почему не Boost.Statechart?   1.9.2008, 12:41
- - Litkevich Yuriy   Цитата(Andrew Selivanov @ 1.9.2008, 15:35...   1.9.2008, 12:47
- - Red Devil   Switch/Case из буста для конечных автоматов лучше ...   3.9.2008, 16:23
- - sage   Конечные автоматы можно строить графически с помощ...   12.11.2008, 16:36
|- - sage   А я предложение дописал Цитата(sage @ 12.11.2...   12.11.2008, 18:07
|- - AD   Цитата(sage @ 12.11.2008, 18:07) Конечный...   13.11.2008, 9:30
|- - sage   Цитата(AD @ 13.11.2008, 8:30) Можно вопро...   13.11.2008, 10:57
|- - AD   Цитата(sage @ 13.11.2008, 10:57) Да, точн...   13.11.2008, 11:08
|- - sage   Цитата(AD @ 13.11.2008, 10:08) не читая т...   13.11.2008, 12:06
- - Litkevich Yuriy   sage, читал я про дракон, сыро сильно, и плохие во...   12.11.2008, 16:40
|- - sage   Цитата(Litkevich Yuriy @ 12.11.2008, 15:4...   12.11.2008, 16:52
- - ViGOur   Цитата(sage @ 12.11.2008, 16:52) Новый ре...   12.11.2008, 16:56
|- - sage   Цитата(ViGOur @ 12.11.2008, 15:56) присое...   12.11.2008, 17:00
- - Litkevich Yuriy   Цитата(Litkevich Yuriy @ 12.11.2008, 19:4...   12.11.2008, 17:29
- - kwisp   меня коллега ткнул носом на следующий способ реали...   22.7.2009, 16:19
- - AD   Цитата(kwisp @ 22.7.2009, 17:19) меня кол...   22.7.2009, 16:51


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 10:47