Середовище програмування MADL

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Середовище програмування MADL » MADL2023 » MD00 » MD00. Вступ


MD00. Вступ

Сообщений 1 страница 11 из 11

1

УВАГА! Даний опис орієнтований не тільки для користувачів, але і для себе коханого, :-) тому не дивуйтесь можливим дивинам у цьому описі.:-)

Наприкінці кожної процедури є {CodeProc=<число>}, число означає код процедури. Якщо в кінці коду встановлено " # " , тобто {CodeProc=<число>#} це означає, що процедурі можливі помилки компіляції.

Примітка.
Всі описані процедури та функції повинні виконуватись після INITCompiler та до функції FINALCompiler;

Підрозділи даної теми:
Типи які використовуються в MADL (MD00)

Список усіх процедур та їх кодів, які використовуються в MADL (MD00)

Типи процедур MADL (MD00)

Тип1. Основні процедури (функції) компілятора

Тип2. Процедури успішної компіляції

Тип3. Процедури невдалої компіляції

Тип4. Процедури встановлення ім'я програми та файлу

Модулі MD00, які повинні підключатись до проекту

Дивіться також:
MADL. Компілятори для MADL
MADL. Аналогія мнемо МАДЛ, КР580, АСМ
MD00. Процедури мнемонікою АСМ (КР580) в MADL
MD00. Процедури мнемонікою MADL в MADL
MD00. Процедури, функції їх коди та їх опис
МD00. Помилки компіляції
Навігатор форуму

2

Типи які використовуються в MADL (MD00):

Код:
Type
String6=string[6];
String255=string[255];

3


4


5

Список усіх процедур та їх кодів, які використовуються в MADL (MD00)
1.SetAddrRAM   2.DB   3.StartProgram   4.INITCompiler   5.FINALCompiler

6.Rem   7.SetNameInternal   8.FillChar   9.ComA   10.ComB

11.ComC   12.FillDB   13.SetFullNameLVTfile   14.SetfSaveLVT   15.SetfSE

16.SetCLU   17.SetfCLU   18.SetfSEi   19.SetNameInternalKOI   20.SetFileOutError

21.SetErrorCLU   22.SetfError   23.SetfErrorfCLU   24.SetfErrorTXTinFile
   
28.FillDW   29.DW   32.FillDD   33.DD   34.FillDQ   35.DQ

37.DString255   38.SetAddrRAM2   39.SetFileOutReportMD00   40.SetReportMD00TXTinFile

6

7

Тип1. Основні процедури (функції) компілятора.
Ці процедури (функції) напряму впливають на компіляцію кода КР580 або ж є обов'язковими (такі як 4.INITCompiler , 5.FINALCompiler ) виключенням є тільки  6.Rem, яка не є обов'язковою та не впливає на компіляцію кода КР580.

До типу 1 належать такі процедури (функції):

1.SetAddrRAM   2.DB   3.StartProgram   4.INITCompiler   5.FINALCompiler   6.Rem

8.FillChar   9.ComA   10.ComB   11.ComC   12.FillDB   28.FillDW   29.DW

32.FillDD   33.DD   34.FillDQ   35.DQ   37.DString255   38.SetAddrRAM2

8

Тип2. Процедури успішної компіляції.
Процедури, які визначають подальший хід компілятора після успішної компіляції. Ці процедури не впливають на компіляцію самого кода КР580, а лише визначають хід компілятора після успішної компіляції. Вони визначають чи потрібно створювати  LVT-файл, його ім'я, чи потрібен запуск емулятора  та якого саме (внутрішнього чи зовнішнього чи то вказаного користувачем), також процедурами можна задавати “рядок користувача2, необхідності звіту компіляції, ім'я файлу звіту і т.д.

До типу 2 належать такі процедури (функції):

14.SetfSaveLVT   15.SetfSE   16.SetCLU   17.SetfCLU

18.SetfSEi   39.SetFileOutReportMD00   40.SetReportMD00TXTinFile

9

Тип3. Процедури невдалої компіляції.
Процедури, які визначають подальший хід компілятора у разі невдалої компіляції. Ці процедури не впливають  на компіляцію самого кода КР580, а лише визначають хід компілятора у разі невдалої компіляції. Вони включають або виключають виведення помилок у файл, задають ім'я файлу для виведення помилок, встановлюють  переглядач який використовується для переглядання помилок і т.д.

До типу 3 належать такі процедури (функції):

20.SetFileOutError   21.SetErrorCLU   22.SetfError   23.SetfErrorfCLU   24.SetfErrorTXTinFile

10

Тип4. Процедури встановлення ім'я програми та файлу.
Процедури, які встановлюють “внутрішнє” та зовнішнє  ім'я программи. Ці процедури не впливають  на компіляцію самого кода КР580.

До типу 4 належать такі процедури (функції):

7.SetNameInternal   13.SetFullNameLVTfile   19.SetNameInternalKOI

11

Модулі MD00, які повинні підключатись до проекту.

В MADL-MD00 до проекту повинні бути під'єднані модулі  uMD00_AnsiToKOI,  uMD00_SStr, uMD00_LVT,   uMD00_Report,   uMD00_Error, uMD00_Main,  uMD00u;
Рекомендовано в тієї ж послідовності як написано вище. В усякому разі модуль uMD00u, повинен бути завершуваним у списку. В цілому шаблон для написання програми в MADL-MD00, виглядає ось так.

Код:
program Project1;
uses
  uMD00_AnsiToKOI in '..\..\_UNIT\uMD00_AnsiToKOI.pas',
  uMD00_SStr in '..\..\_UNIT\uMD00_SStr.pas',
  uMD00_LVT in '..\..\_UNIT\uMD00_LVT.pas',
  uMD00_Report in '..\..\_UNIT\uMD00_Report.pas',
  uMD00_Error in '..\..\_UNIT\uMD00_Error.pas',
  uMD00_Main in '..\..\_UNIT\uMD00_Main.pas',
  uMD00u in '..\..\_UNIT\uMD00u.pas';
BEGIN
INITCompiler; {Обов'язкова процедура}
{.....}
StartProgram; {Обов'язкова процедура, яка вказує на стартову точку в програмі}
{.....}
FINALCompiler;{Обов'язкова процедура}
END.

Примітка.
Прописаний шлях до модулів MADL-MD00 залежить від розташування програми та модулів. В даному прикладі, розташування модулів, знаходиться C:\MADL2023\_UNIT\ , а розташування програми в C:\MADL2023\ProgramA\Proba.
Цей спосіб підключення модулів є повним і працює, як з середовища так і з командної строки!

Є короткий спосіб  підключення модулів:

Код:
program Project1;
uses
  uMD00u in '..\..\_UNIT\uMD00u.pas';
BEGIN
INITCompiler; {Обов'язкова процедура}
{.....}
StartProgram; {Обов'язкова процедура, яка вказує на стартову точку в програмі}
{.....}
FINALCompiler;{Обов'язкова процедура}
END.

Якщо використовувати короткий спосіб, то він працюватиме лише з командної строки, в якій повинно бути прописаний шлях до модулів  MADL-MD00, ось так “-U..\..\_UNIT\”.
Приклад: CompileRUN_Project.DPR.bat

Код:
del Project1.exe, Project.exe, Project.TMP
C:\DelphiCompilers\D07compilerMY\dcc32.exe -UC:\DelphiCompilers\D07compilerMY\ -U..\..\_UNIT\  Project1.DPR
Project1.exe

звісно це все працює при умові, що розташування модулів, знаходиться C:\MADL2023\_UNIT\ , а розташування програми в C:\MADL2023\ProgramA\Proba.

Для того щоб коротким способом підключати модулі та користуватись з середовища, є спосіб описаний ось тут,  -
Використання  встановленого компілятора Delphi (середовища)  , треба налаштувати Project\Options...” (Shift+Ctrl+F11) і т.д. Але відразу ж скажу, що наприклад я не прихильник цього способу, саме мені він точно не підходить, так як є не зручним для розробки MADL та інших проектів одночасно.


Вы здесь » Середовище програмування MADL » MADL2023 » MD00 » MD00. Вступ