Просмотр полной версии : HiSoft Pascal
Smalovsky
02.11.2015, 22:24
Привет всем.
Хочу познакомиться с языком Паскалем в версии для спека. Есть такой вопрос - Паскаль от ХайСофт является сейчас свободным (бесплатным)? Правообладатель( ХайСофт) существует, хотя сменил сферу деятельности на разработку веб-приложений, а также известно, что Паскаль имел коммерческое распространение. Учитывая всё вышеизложенное, можно ли свободно и без платы использовать Паскаль от ХайСофт?
Oleg N. Cher
03.11.2015, 00:24
Скорее всего, вопрос его коммерческого использования не может быть решён - всё обстоит примерно как и с остальным софтом для Спека, т.е. официально он не бесплатен, просто забыт за ненадобностью. И уже не найти людей, которые официально помогут его хотя бы купить. Не говоря уже о том чтобы его открыть или сделать freeware.
P.S. Кстати, есть ещё Mira Pascal (http://www.worldofspectrum.org/infoseekid.cgi?id=0011909) и Mira Modula-2 (http://www.worldofspectrum.org/infoseekid.cgi?id=0012459).
Andrew771
03.11.2015, 13:11
Кстати, есть ещё Mira Pascal и Mira Modula-2.
А есть ли описание к Mira Pascal, какие операторы поддерживает и в каком виде компилирует?
Oleg N. Cher
04.11.2015, 00:17
Не знаю, подробно не разбирался.
А отчего такой упор на Паскаль и полная игнорация Модулы-2 ? Не, я согласен, может в ней редактор не такой удобный, но если брать только язык?
Andrew771
10.11.2015, 09:32
А отчего такой упор на Паскаль и полная игнорация Модулы-2 ? Не, я согласен, может в ней редактор не такой удобный, но если брать только язык?
то, что привычнее :)
Я пробовал и на С перейти лет 10-12 назад, и на Яву недавно, но не воспринимаю их стиль.
Oleg N. Cher
10.11.2015, 14:21
Я тоже не в восторге от C/Java, но у Паскаля много достойных и, увы, мало известных наследников: Modula-2, Modula-2 Rev. 2010 (https://bitbucket.org/trijezdci/m2r10), Objective Modula-2, Modula-3 (http://rv82.blogspot.com/2009/03/modula-3.html), Oberon-0, Oberon-1, Oberon-2, Oberon-07, Active Oberon, OberonX (http://www.ethoberon.ethz.ch/native/compiler/x.index.html), Component Pascal, Zonnon и даже Ada.
Чтобы далеко не уходить от топика, вот какие есть компиляторы Модулы-2 для Z80 (кроме Mira Modula-2):
Modula-2:
========
- Hisoft FTL Modula-2 Hisoft
Good, fast, and extensive. Comes with editor. Lib source included.
Compiler is one-pass, so FORWARD declarations are needed.
Implements Modula-2 2nd edition(!)
Refs: u895217, cummings
- Turbo Modula-2 Borland Intl.
Editor, compiler, linker & librarian in one. Fast & good.
Can interface to .REL files (Macro-80).
Implements Modula-2 3rd edition(!)
Refs: svh, cummings
- Hochstrasser Z80-Modula-2 Hochstrasser Computing AG
Implements 2nd edition Modula-2. Troubles with large programs.
Refs: cummings
P.S. Тут по Оберон-рассылке пробегал список синтаксических отличий, за которые мы ценим Оберон-подобные языки, привожу:
I mentioned the similarity with Oberon-2 syntax because most other currently used programming languages are based directly or indirectly on
the ancient C syntax. Trankvila and Oberon-2 syntax differs from those, for example, in the following aspects:
- assignment with ":=" instead of "="
- test for equality with "=" and "#" instead of "==" and "!="
- keywords instead of curly braces to delimit blocks
- declaration of variables and parameters in the form "name1, name2:
Type" instead of "Type name1, Type name2"
- semicolon is used as a separator, not as a delimiter
- type-bound functions/procedures ("methods") use an explicitly defined
receiver parameter instead of "this" or "self".
- all keywords are written with upper-case instead of lower-case characters
- and the main difference: the entire EBNF grammar fits on a single
instead of several pages :)
Smalovsky
28.11.2015, 04:10
Не одному мне интересен спектрумовский Паскаль, поэтому привожу ссылки с описанием на русском.
Описание языка из книги "Системные программы для ZX-Spectrum.Руководство пользователя"(том3, автор Григорьев О.В.):
PASCAL HP4T, НР80 - введение. Описание Паскаля. (http://zxpress.ru/book_articles.php?id=1314)
PASCAL HP4T, НР80 - встроенный редактор. Сообщения об ошибках. Представление данных в памяти. Особенности. (http://zxpress.ru/book_articles.php?id=1315)
Описание языка из книги "Справочник по системным программам для компьютера ZX Spectrum"(Издательство: «SILEX»):
Описание HISOFT PASCAL - язык программирования PASCAL. (http://zxpress.ru/book_articles.php?id=1764)
Описание HISOFT PASCAL - приложения к руководству. Ошибки. Зарезервированые слова. Представление и хранение данных. (http://zxpress.ru/book_articles.php?id=1765)
Описание HISOFT PASCAL - особенности применения HISOFT PASCAL (http://zxpress.ru/book_articles.php?id=1766)
Описание языка из книги "Языки программирования: Мега-Бейсик, Бета-Бейсик, Бета-Бейсик, Лазер-Бейсик, ZX-Форт, Паскаль HP4TM"(Издательство: «Инфорком»):
PASCAL НР4Т - введение. Синтаксис и семантика. Предварительно заданные идентификаторы. (http://zxpress.ru/book_articles.php?id=1826)
PASCAL НР4Т - комментарии и директивы компилятора. Встроенный редактор. Приложение 1. Сообщения об ошибках. Приложение 2. Зарезервированные слова, предварительно определенные идентификаторы. Приложение 3. Представление данных в памяти. (http://zxpress.ru/book_articles.php?id=1827)
PASCAL НР4Т - приложение 4. Примеры программ. Указания 1. Указания по работе с ПАСКАЛЕМ НР4Т на компьютерах ZX-Spectrum. Указания 2. Указания по работе с ПАСКАЛЕМ HP4T(vl.6M) на компьютерах ZX-Spectrum. Дополнение 1. Звук и графика в ПАСКАЛЕ 4Т на "Спектруме". Дополнение 2. "Черепашья" графика в ПАСКАЛЕ на "Спектруме". (http://zxpress.ru/book_articles.php?id=1828)
Oleg N. Cher
02.12.2015, 06:08
Интересен именно как реликт? Или всё же для разработки чего-то?
Если первое, то прошу извинить за этот пост.
Если второе, то всячески рекомендую напустить свою ностальгию по Паскалю на ZXDev, чтобы она дала буйные плоды. Потому что ZXDev неизмеримо богаче (возможно располагать код и данные с любого адреса, больше типов, строже и красивее язык, возможность пристыковки сишного и асмовского кода, готовые библиотеки (Best40, Laser, TrDos, Wham, ZX7 и т.д.), в общем, отличная площадка для массы интересных экспериментов, например, по стыковке с z88dk и splib1), а также несоизмеримо качественнее по кодогенерации. К тому же открытая и развивается.
Когда-то я начинал делать свой «Морской бой (http://www.worldofspectrum.org/infoseekid.cgi?id=0027419)» именно на Hisoft Pascal, знаю эту систему программирования отлично. И пытался использовать его именно для разработки своей игры. Слезть пришлось когда увидел код и, главное, размер рантайма. Это нельзя использовать никак иначе, чем для баловства.
А черепашку давно хотел переписать на ZXDev, просто руки не дошли. :) Хотя тоже баловство конечно.
Smalovsky
03.12.2015, 15:51
Oleg N. Cher, начал программировать.
Очень неясная работа со строками. Строкового типа нет как такового - вместо него массив символов как в си. Набросал программку по вводу и выводу строки. Строка выводится ненормально. Как сделать нормальный вывод строк?
Oleg N. Cher
03.12.2015, 18:24
У меня нету ответа. Количество знаков вопроса наводит на мысль, что так WRITELN выводит символ с нулевым кодом. Почему - непонятно. Вопрос к рантайму. Видимо, нужно написать свою собственную процедуру вывода.
vfiuchcikicshuusrch
03.12.2015, 18:37
а динамические массивы там возможны ? %)
а если там не нулевые сивмолы ?... если зачистить массив перед записью переменной ?
зачистить пробелами... а не нулевыми символами, наприме.
Smalovsky
03.12.2015, 21:19
если зачистить массив перед записью переменной ?
зачистить пробелами... а не нулевыми символами, наприме.
Не поможет.
"Выдержка из руководства для функции READ(V)(READLN(V)):
V имеет тип стринга (строки).
По команде READ может быть прочитан стринг символов, и в этом
случае читается последовательность символов до тех пор, пока не
будет достигнуто их количество, заданное размером стринга или пока
не будет встречен маркер "конец строки" и функция EOLN примет
значение TRUE. Если конец строки достигается до того, как прочитан
весь стринг, то конец стринга заполняется нулевыми символами CHR(O),
что дает программисту впоследствии возможность оценить длину
введенного стринга."
До конца строки всё заполняется нулевым символом, поэтому вопросы и выводит. Ну не может же быть такого ляпа в системе...
- - - Добавлено - - -
Вот что написано о строках:
"Разрешенные символы - полный набор кодов ASCII. Для обеспечения
совместимости со стандартным ПАСКАЛем нулевой символ можно
представлять только как CHR(O)."
Методом тыка я понял, что при выводе на экран выводятся все символы строки без влияния на вывод нулевого символа, а сам нулевой символ выводится знаком вопроса. Поэтому для корректного вывода строки нужно перед выводом заменить ненужные символы пробелами.
Решил проблему. После ввода строки заменил все нулевые символы в ней на пробелы. Заодно потренировался в определении длины массива. Листинг и результат работы программы:
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot