Никто не видел такого макроса, который бы по множеству состояний, множеству входных символов и наборам [старое состояние, входной символ, новое состояние, функция] генерировал бы мне тип, каждый экземпляр которого имел свое состояние, а набор функций, вызываемых при переходах, был бы общим.
Здравствуйте, Flem1234, Вы писали:
F>Никто не видел такого макроса, который бы по множеству состояний, множеству входных символов и наборам [старое состояние, входной символ, новое состояние, функция] генерировал бы мне тип, каждый экземпляр которого имел свое состояние, а набор функций, вызываемых при переходах, был бы общим.
Думаю, что увидеть такой макрос будет не просто, так как это довольно не эффективная реализация. Меж тем есть макро-код в компиляторе который преобразует в ДКА yield-функции (итераторы C#). А так же на этом форуме можно найти ссылку на реализацию генератора парсеров реализованного в виде макроса и (что вполне естественно) генерирующего код для ДКА.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.