Что я хочу увидеть в Колибри завтра....
-
Я тут скачал. немного не понял. Как запустить Compiler.exe в KoOS?
Скачивать надо здесь:
http://board.kolibrios.org/viewtopic.ph ... =75#p70777
Это не совсем компилятор, а пока только транслятор в FASM.
Рабочий стол при его использовании выглядит примерно так:
Общий порядок действий:
- Сохранить редактируемый файл в TinyPad
- Запустить компилятор с помощью Run ("Запуск программы")
- Запустить компилятор FASM ("Компил.")
- Запустить полученную программу
http://board.kolibrios.org/viewtopic.ph ... =75#p70777
Это не совсем компилятор, а пока только транслятор в FASM.
Рабочий стол при его использовании выглядит примерно так:
Spoiler:
- Сохранить редактируемый файл в TinyPad
- Запустить компилятор с помощью Run ("Запуск программы")
- Запустить компилятор FASM ("Компил.")
- Запустить полученную программу
Нда... А Оберон от Паскаля сильно отличается?
Есть перевод оригинального сообщения о языке https://models.molpit.org/oberon.htmlAlex2003 wrote:Оберон от Паскаля сильно отличается?
Также существует книга Вирта "Алгоритмы и структуры данных" для языка 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
Ага. Ну что же, попробую кодить!
Можно ещё использовать скрипт для Shell.akron1 wrote:Общий порядок действий:
- Сохранить редактируемый файл в TinyPad
- Запустить компилятор с помощью Run ("Запуск программы")
- Запустить компилятор FASM ("Компил.")
- Запустить полученную программу
Например, для компиляции 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:
У меня не получилось скомпилировать...
Alex2003, нужно подробнее.
Если ты про пример из того http://board.kolibrios.org/viewtopic.php?p=70949#p70949 сообщения,
то, как написано вон там http://board.kolibrios.org/viewtopic.ph ... =45#p70376 и инициализацию консоли У меня так компилируется и работает Думаю, что правильнее всего добавить инициализацию в In.Open и Out.Open, чтобы всё происходило централизованно, но это уже вопрос к товарищу akron1.
Если ты про пример из того http://board.kolibrios.org/viewtopic.php?p=70949#p70949 сообщения,
то, как написано вон там http://board.kolibrios.org/viewtopic.ph ... =45#p70376
Чтобы скомпилировать для KolibriOS надо добавить импорт ConsoleLibakron1 wrote:Для этого надо делать кроссплатформенную библиотеку. Это у меня пока не приоритет.0CodErr wrote: Хотелось бы, чтобы примеры работали без переделки на всех поддерживаемых платформах. Они ведь кроссплатформенные.
Code: Select all
IMPORT In, Out, ConsoleLib;
Code: Select all
ConsoleLib.open(-1, -1, -1, -1, "MultiplicationTables");
Spoiler:
Там сложно что-то сделать не так На каком этапе у тебя не получилось? И собственно, в какой последовальности ты что-то делал?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
Может быть, из-за этого?
Комилил, открывая файл с помощью Compiler.kex
Может быть, из-за этого?
Колибри запускаю с хард-драйва.
(facepalm)Alex2003 wrote:Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
Комилил, открывая файл с помощью Compiler.kex
Может быть, из-за этого?
Ну в целом визуально языки конечно похожи, но они разные. И нет смысла компилить Паскаль в компиляторе Оберона.
Если уж так делаешь, то все ключевые слова пиши заглавными буквами. Например: INTEGER, BEGIN, END. Для Оберона это важный момент, Паскалю обычно всё-равно.
Ну а если пишешь на Pascal под Kolibri OS, то используй связку с Delphi7, которую выше предложил 0CodErr. Наверное это даже единственный вариант для нормальной работы Pascal с Kolibri.
Ну есть тут какой-нибудь нормальный компилятор Паскаль?
Вообще-то тебе уже был дан ответ 3 месяца назад вон в той теме http://board.kolibrios.org/viewtopic.php?f=2&t=3702Alex2003 wrote:компилятор Паскаль?
А как пользоваться exetokex?
Who is online
Users browsing this forum: No registered users and 2 guests