Разработка интерпретаторов
  • Разработка интерпретаторов
v3.0.3
Search Results for

    Show / Hide Table of Contents

    Как устроена разработка с помощью ИИ

    Вы разговариваете с ИИ-клиентом — чатом в редакторе кода или в терминале. Клиент читает навыки и файлы вашей рабочей папки, правит исходники интерпретатора, собирает его и запускает CAM систему или NC Тюнер, в которых интерпретатор моделирует УП. Особых серверов не нужно, а из расширений Visual Studio Code — только сам чат и расширение C# для сборки и отладки: ассистент работает с теми же файлами и программами, что и вы.

            вы
             |
       ИИ-клиент  (чат в Visual Studio Code или в терминале)
             |
             +--> читает навыки                       папка skills
             +--> читает УП, проект станка,            рабочая папка
             |    руководство стойки, ваши заметки
             +--> правит и собирает интерпретатор     исходники, .NET SDK
             |
             v
       CAM система или NC Тюнер --->  моделирование УП  --->  журнал
                                           |
                                           v
                                   сравнение и ваша проверка
    

    Из чего всё состоит

    Часть Что это Что она вам даёт
    ИИ-клиент Чат-расширение Visual Studio Code или программа в терминале Разговор с ассистентом, которому разрешено читать файлы, править их и запускать команды в рабочей папке
    Навыки (skills) Текстовые файлы SKILL.md Написанный словами порядок работы, поэтому цикл каждый раз одинаков: сначала факты, потом изменение, потом проверка. Ведёт работу общий навык interpreter-development, остальные он подключает по ходу
    Рабочая папка Обычная папка на вашем компьютере УП, проект станка, руководство стойки и ваши заметки — всё, что ассистент знает о вашей задаче
    Исходники интерпретатора Проект на C# из шаблона или нативный проект То, что ассистент меняет
    .NET SDK и Visual Studio Code с расширением C# Средства сборки и отладки Сборка интерпретатора и запуск под отладчиком клавишей F5
    CAM система или NC Тюнер Установленный продукт Загружает интерпретатор и моделирует УП в операции на основе текста УП
    Журнал взаимодействия с интерпретатором Файл журнала продукта Что ядро и интерпретатор сделали с каждым кадром: прочитанные слова, предупреждения, ошибки

    Как CAM система читает кадр

    Работой управляет ядро CAM системы, а не интерпретатор: ядро читает текст УП, по таблице регистров интерпретатора разбирает кадр на слова, ставит их в очередь и вызывает код интерпретатора, чтобы он выполнил каждое слово. Какие функции и в каком порядке вызываются, описано в разделе Процесс интерпретации текста управляющей программы; навык nc-interpreter-foundations пересказывает это для ассистента вместе с ловушками, на которых ошибаются чаще всего: первое движение операции, координаты в повёрнутой системе, шпиндели, циклы.

    Смысл каждого слова задаёт интерпретатор, а одно и то же слово на разных стойках значит разное. Поэтому ассистент всегда начинает с фактических программ и руководства стойки, а не с названия слова. Интерпретатор моделирует то, что сделала бы стойка, а не то, что задумывала CAM операция.

    C# (.NET) по умолчанию

    Новый интерпретатор ассистент создаёт на C# из шаблона CAM системы. Такой интерпретатор собирается одной командой, отлаживается в Visual Studio Code и легко читается людьми, которые знают станок лучше, чем программирование. Нативный интерпретатор на Delphi или C++ — только когда вы прямо об этом попросили или когда правите уже нативный. Подробно — Рабочий цикл .NET и Рабочий цикл нативного интерпретатора.

    Что ассистент делает хорошо, а что не может

    Он хорошо собирает перечень всех слов, которые встречаются в ваших программах, находит место в интерпретаторе, где читается слово, объясняет незнакомый код, готовит небольшое изменение в стиле окружающего кода, прогоняет все УП до и после изменения и сравнивает результаты кадр за кадром.

    Он не может знать поведение стойки, которого нет ни в руководстве, ни в программах, увидеть станок, судить о безопасности перемещений и отвечать за интерпретатор, переданный заказчику. Почему успешной сборки и моделирования без ошибок недостаточно и как проверять результат — в разделе Проверка и подтверждение результата.

    In this article