
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.11.2005, 16:59
|
|||
|---|---|---|---|
Конечный автомат |
|||
|
#18+
Нужно тут простенький парсер сделать. Вот не знаю как реализовать на С++, на простом С - запросто. Мнеб примерчик посмотреть. Есть у кого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2005, 19:41
|
|||
|---|---|---|---|
Конечный автомат |
|||
|
#18+
Какой полезный эффект или выгоду вы хотите получить от использования C++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.11.2005, 17:48
|
|||
|---|---|---|---|
|
|||
Конечный автомат |
|||
|
#18+
Посмотрите топик "Как вычислить AnsiString="12+13,44*5-5/100" ???" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2005, 11:54
|
|||
|---|---|---|---|
Конечный автомат |
|||
|
#18+
>> Посмотрите топик "Как вычислить AnsiString="12+13,44*5-5/100" ???" На plain C я эту задачу решал еще лет 8 назад. Обычно конечный автомат реализуется с помощью таблицы переходов и указателей на функции плюс пара глобальных переменных. А вот как это лучше сделать на C++.. я не знаю. Понятное дело что таблица переходов должна быть. т.е. пусть у нас будет класс CParser содержащий таблицу переходов и абстрактный класс CLex - лексема. Возможно также придется вставить в CParser стэк лексем.... Я вот думаю... при изменении состояния автомата должна вызываться функция следующее состояние = f (предыдущее состояние, лексема), которая и генерит разобранный код. Вот эту мысль и я как думаю. Куда эту самую фукцию повесить? на лексему либо на парсер?... Так чтоб внесение изменений в будущем было относительно легким, потому, как таблица переходов будет сисльно разраздаться как за счет допустимых состояний, так и за счет лексем. типа - не хочется слишком длинные запутанные case иметь. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2032424]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 339ms |

| 0 / 0 |
