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

Drivers for sound cards
  • Скачивать надо здесь:
    http://board.kolibrios.org/viewtopic.ph ... =75#p70777

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

    - Сохранить редактируемый файл в TinyPad
    - Запустить компилятор с помощью Run ("Запуск программы")
    - Запустить компилятор FASM ("Компил.")
    - Запустить полученную программу
  • Нда... А Оберон от Паскаля сильно отличается?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • 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
    
  • Ага. Ну что же, попробую кодить!
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • 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 15432 times
  • У меня не получилось скомпилировать... :(
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • 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 15411 times
    Думаю, что правильнее всего добавить инициализацию в In.Open и Out.Open, чтобы всё происходило централизованно, но это уже вопрос к товарищу akron1.
  • 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  
    Last edited by theonlymirage on Mon Aug 20, 2018 9:48 pm, edited 1 time in total.
  • Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
    Комилил, открывая файл с помощью Compiler.kex
    Может быть, из-за этого?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Колибри запускаю с хард-драйва.
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Alex2003 wrote:Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
    Комилил, открывая файл с помощью Compiler.kex
    Может быть, из-за этого?
    (facepalm)
    Ну в целом визуально языки конечно похожи, но они разные. И нет смысла компилить Паскаль в компиляторе Оберона.
    Если уж так делаешь, то все ключевые слова пиши заглавными буквами. Например: INTEGER, BEGIN, END. Для Оберона это важный момент, Паскалю обычно всё-равно.

    Ну а если пишешь на Pascal под Kolibri OS, то используй связку с Delphi7, которую выше предложил 0CodErr. Наверное это даже единственный вариант для нормальной работы Pascal с Kolibri.
  • Ну есть тут какой-нибудь нормальный компилятор Паскаль? :twisted:
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Alex2003 wrote:компилятор Паскаль? :twisted:
    Вообще-то тебе уже был дан ответ 3 месяца назад вон в той теме http://board.kolibrios.org/viewtopic.php?f=2&t=3702
  • А как пользоваться exetokex?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Who is online

    Users browsing this forum: No registered users and 7 guests