Page 62 of 71

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 1:14 am
by bad_Dr3dd0x
Я тут скачал. немного не понял. Как запустить Compiler.exe в KoOS?

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 1:50 am
by akron1
Скачивать надо здесь:
http://board.kolibrios.org/viewtopic.ph ... =75#p70777

Это не совсем компилятор, а пока только транслятор в FASM.
Рабочий стол при его использовании выглядит примерно так:
Spoiler:
1.PNG
1.PNG (57.62 KiB)
Viewed 15969 times
Общий порядок действий:

- Сохранить редактируемый файл в TinyPad
- Запустить компилятор с помощью Run ("Запуск программы")
- Запустить компилятор FASM ("Компил.")
- Запустить полученную программу

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 8:23 am
by bad_Dr3dd0x
Нда... А Оберон от Паскаля сильно отличается?

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 9:24 am
by 0CodErr
Alex2003 wrote:Оберон от Паскаля сильно отличается?
Есть перевод оригинального сообщения о языке https://models.molpit.org/oberon.html
Также существует книга Вирта "Алгоритмы и структуры данных" для языка Pascal и "Никлаус Вирт: Алгоритмы и структуры данных. Новая версия для Оберона".
Вместе с компилятором идут некоторые примеры. Также я выкладывал в той теме http://board.kolibrios.org/viewtopic.ph ... =45#p70389 кое-что.
Например, такой код
Spoiler:

Code: Select all

MODULE MultiplicationTables;

IMPORT In, Out;

CONST
  N = 18;

VAR
  I, J: INTEGER;

BEGIN
  In.Open; Out.Open;
  FOR J := 1 TO N - 1 DO
    Out.Int(J, 3);
    Out.String(" ");
  END;
  Out.Int(N, 3);
  Out.Ln;
  FOR J := 0 TO N - 1 DO
    Out.String("----");
  END;
  Out.String("+");
  Out.Ln;
  FOR I := 1 TO N DO
    FOR J := 1 TO N DO
      IF J < I THEN
        Out.String("    ");
      ELSE
        Out.Int(I * J, 3);
        Out.String(" ");
      END;
    END;
    Out.String("| ");
    Out.Int(I, 2);
    Out.Ln;
  END;
  In.Ln;
END MultiplicationTables.
выведет в консоли такую таблицу умножения:
Spoiler:

Code: Select all

  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
------------------------------------------------------------------------+
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18 |  1
      4   6   8  10  12  14  16  18  20  22  24  26  28  30  32  34  36 |  2
          9  12  15  18  21  24  27  30  33  36  39  42  45  48  51  54 |  3
             16  20  24  28  32  36  40  44  48  52  56  60  64  68  72 |  4
                 25  30  35  40  45  50  55  60  65  70  75  80  85  90 |  5
                     36  42  48  54  60  66  72  78  84  90  96 102 108 |  6
                         49  56  63  70  77  84  91  98 105 112 119 126 |  7
                             64  72  80  88  96 104 112 120 128 136 144 |  8
                                 81  90  99 108 117 126 135 144 153 162 |  9
                                    100 110 120 130 140 150 160 170 180 | 10
                                        121 132 143 154 165 176 187 198 | 11
                                            144 156 168 180 192 204 216 | 12
                                                169 182 195 208 221 234 | 13
                                                    196 210 224 238 252 | 14
                                                        225 240 255 270 | 15
                                                            256 272 288 | 16
                                                                289 306 | 17
                                                                    324 | 18

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 10:13 am
by bad_Dr3dd0x
Ага. Ну что же, попробую кодить!

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 3:02 pm
by 0CodErr
akron1 wrote:Общий порядок действий:

- Сохранить редактируемый файл в TinyPad
- Запустить компилятор с помощью Run ("Запуск программы")
- Запустить компилятор FASM ("Компил.")
- Запустить полученную программу
Можно ещё использовать скрипт для Shell.
Например, для компиляции HW_con.ob07 из папки "Samples/KolibriOS" нужно закинуть в эту папку скрипт make(HW_con).sh такого содержания:

Code: Select all

#SHS
../../Compiler.kex HW_con.ob07 kos
waitfor
/sys/develop/fasm HW_con.asm,HW_con.kex,./
и запускать его.
Spoiler:
1.PNG
1.PNG (16.44 KiB)
Viewed 15942 times

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 5:21 pm
by bad_Dr3dd0x
У меня не получилось скомпилировать... :(

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 7:24 pm
by 0CodErr
Alex2003, нужно подробнее.
Если ты про пример из того http://board.kolibrios.org/viewtopic.php?p=70949#p70949 сообщения,
то, как написано вон там http://board.kolibrios.org/viewtopic.ph ... =45#p70376
akron1 wrote:
0CodErr wrote: Хотелось бы, чтобы примеры работали без переделки на всех поддерживаемых платформах. Они ведь кроссплатформенные.
Для этого надо делать кроссплатформенную библиотеку. Это у меня пока не приоритет.
Чтобы скомпилировать для KolibriOS надо добавить импорт ConsoleLib

Code: Select all

IMPORT In, Out, ConsoleLib;
и инициализацию консоли

Code: Select all

ConsoleLib.open(-1, -1, -1, -1, "MultiplicationTables");
У меня так компилируется и работает
Spoiler:
1.PNG
1.PNG (46.77 KiB)
Viewed 15921 times
Думаю, что правильнее всего добавить инициализацию в In.Open и Out.Open, чтобы всё происходило централизованно, но это уже вопрос к товарищу akron1.

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 7:26 pm
by theonlymirage
Alex2003 wrote:У меня не получилось скомпилировать... :(
Там сложно что-то сделать не так ;) На каком этапе у тебя не получилось? И собственно, в какой последовальности ты что-то делал?

Если запускаешь Колибри в виртуалке, то для начала попробуй скопировать файлы: содержимого директории lib и сам compiler.kex (из директории /kolibrios/develop/oberon07/) внутрь /tmp0/1. Рядом с ним помести файл исходного кода (например, HW_con.ob07 из директории /kolibrios/develop/oberon07/Samples/). Затем запускаешь Shell и пишешь:

Code: Select all

cd /tmp0/1
compiler.kex hw_con.ob07 kos  

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 7:34 pm
by bad_Dr3dd0x
Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
Комилил, открывая файл с помощью Compiler.kex
Может быть, из-за этого?

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 7:35 pm
by bad_Dr3dd0x
Колибри запускаю с хард-драйва.

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 8:00 pm
by theonlymirage
Alex2003 wrote:Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
Комилил, открывая файл с помощью Compiler.kex
Может быть, из-за этого?
(facepalm)
Ну в целом визуально языки конечно похожи, но они разные. И нет смысла компилить Паскаль в компиляторе Оберона.
Если уж так делаешь, то все ключевые слова пиши заглавными буквами. Например: INTEGER, BEGIN, END. Для Оберона это важный момент, Паскалю обычно всё-равно.

Ну а если пишешь на Pascal под Kolibri OS, то используй связку с Delphi7, которую выше предложил 0CodErr. Наверное это даже единственный вариант для нормальной работы Pascal с Kolibri.

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 9:44 pm
by bad_Dr3dd0x
Ну есть тут какой-нибудь нормальный компилятор Паскаль? :twisted:

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 10:00 pm
by 0CodErr
Alex2003 wrote:компилятор Паскаль? :twisted:
Вообще-то тебе уже был дан ответ 3 месяца назад вон в той теме http://board.kolibrios.org/viewtopic.php?f=2&t=3702

Re: Что я хочу увидеть в Колибри завтра....

Posted: Mon Aug 20, 2018 10:04 pm
by bad_Dr3dd0x
А как пользоваться exetokex?