Как я могу сделать моделирование в обратном порядке, анализируя программу на C и превращая ее в принципиальную схему, которая будет отображаться

Как я могу сделать моделирование в обратном порядке, анализируя программу на C и превращая ее в принципиальную схему для отображения.

пример

альтернативный текст

альтернативный текст

За исключением того, что это psedocode.

1 ответ

Решение

На первый взгляд, я бы сказал, что вам нужно создать компилятор C с нуля (или выбрать один из них) и проверить дерево синтаксического анализа в поисках конструкций, которые вы можете представить в своем списке простых символов. После того, как вы это сделаете, вам понадобится механизм рендеринга, который возьмет список обнаруженных конструкций и разместит их в красивой картине.

Несколько случайных наблюдений:

  1. Есть много концепций C, которые не могут быть представлены в упрощенном виде (например, указатели)

  2. Создание вашей картинки выглядит красиво будет сукой

  3. Doxygen был бы хорошим местом для поиска идей (сделайте хороший график структуры вызовов функций)

  4. Продолжая по касательной, вы можете взглянуть на языки программирования МЭК 61131-3 для ПЛК. Это графически выложенные языки, которые обеспечивают 5 различных способов описания управления программой и сосредоточены на представлениях логики

Другие вопросы по тегам