МетаПрограммирование (в голове созрел ещё не ясный, но уже план)

Тема в разделе "WASM.PROJECTS", создана пользователем antifatum, 9 окт 2005.

  1. vladfind

    vladfind New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    64
    Адрес:
    Лен. обл., г. Кириши




    Конечно, естественно! Именно на основе "синтактического анализатора". Когда исходный код программы будет преобразован в список структур, раскраска элементарная операция. Хочу в одних из первых версий добавить преобразования исходного кода программы в такой же код, только оформленный в по одному из договоров о кодировании (имена переменный, функций, отступы, комментарии и т.д.) Это важно для четкого и стандартного оформления кода и лучшего понимания для участников создания программного продукта.





    Техническое задание следующее:

    а) на языке высокого уровня создается разбор коммандной строки (сейчас использую gentee, си-подобный язык).

    б) код программы преобразую (пока в ручную) в метаописание.

    в) Из метаописание по правилам из базы знаний программиста будет происходить кодогенерация на диалекты языков программирования, с тем чтобы автоматически получить работоспособный код разбора коммандной строки для различных осей (Windows, Linux и Menuet).

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



    Чуешь куда клоню? Это и есть элементы технологии программирования, которые войдут в проект "робот-программист "Ванюша".
     
  2. vladfind

    vladfind New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    64
    Адрес:
    Лен. обл., г. Кириши
    > Как я понял Ваши интересы переместились в сторону переноса в

    > BlackBox продуктов предназначенных для работы с

    > конфигурациями 1С.



    Мой интерес не конкретный язык, а построение инструментальных средств для программиста кодера. В 1С, как открытая система построения информационных систем, нарабботано много решений. Почему бы эти крупицы опыта не перенести в метаописание с целью трансляции на другой язык? В BlackBox замечательная среда быстрой разработки, отладки и сопровождения проектов. Конечно это только начальные кубики. Но какие!! Как не хватает подобной графической системы для FASM и других продуктов с "командной строкой".





    > Для меня же важно добавлять в BlackBox средства, расширяющие

    > его использование сейчас.



    И для меня! Не хватает рекламы, агитации пользователей. Не хватает толковых для массового пользователя статей, где бы в сравнении и подробно описаны реализованные идеи в компонентном Паскеле. И, далее, разве построение базы знаний программиста для среды BlackBox не есть интересная и перспективная задача? Только сегодня удалось открыть для себя клад с решениями, а именно код программы http://www.zinnamturm.de и в часности:





    * Babel Compiler Compiler.

    * C to Component Pascal Translator.

    * Turbo Pascal to Component Pascal Translator.

    * Pascal to Oberon Translator.

    * Oberon-0 Compiler for BlackBox.







    В длижайшие дни начну разбирать исходный код и перерабатывать. Меня тоже интересует "расширяющие способности BB" в разрезе эргономики Компьютер-Человек. Или понятнее - повышение производительности кодирования. BB - интеснейший продукт. Так лаконично и элегантно написана TEXT система! Для FASM+IDE-TEXT на BB понравится пользователем.



    Кстати, а почему некоторые ссылки по BB стали недоступные? Бросили развивать или другая причина?





    > Если Вам удобнее использовать GenTee - пишите на нём.



    Отказался, как и писать большие проектв на Странник (Модуля-Си-Паскаль) http://home.perm.ru/~strannik/ Автор высказал и реализовал идеи в своём компиляторе. Часть этих идей рбязательно использую, уже использую! Но как неудобно написан IDE. По старинке. Писать на нём не производительно. Пытался но оставил затею из-за большой трудоёмкости. GenTee - тоже всё в командной строке, а значит объём предварительной работы очень большой. Плюс особенности реализации синтаксиса языка и error в моменты исполнения. А вот на BlackBox - теперь рабочий инструмент. Тем более другие программисты это прочувствовали и реализовали модули по трансляции с одного языка на другой.



    > Всё-таки с одного языка высокого уровня на другой перенести код

    > легче, чем с низкоуровневого.



    Конечно легче. Но и ASM очень нужен. Автор компиляторя "Странник" отдал сообществу исходные тексты на языке Modula. Т.е. Странником можно собрать Странник. Работает - проверял. Можно взять часть, где реализован ASM и уже сейчас использовать в BlackBox. Проверю Oberon-0 Compiler for BlackBox и возможно автоматически транслирую код в среду BB. В "ручную" переписать можно, но нет ресурса - свободного времени.



    > Мне представляется следующий синаксис для вставки

    > ассемблерного кода. Поддерживаю Вас!

    Код:

    ПРОЦЕДУРА имя;

    НАЧАЛО

    ASM

    ОператорASM;

    ОператорASM;

    ...

    КОНЕЦ;

    КОНЕЦ имя;



    С уважением, Владимир.