Приложение F. Сопоставление со стандартом ISO Pascal
141
Приложение F. Сопоставление со стандартом ISO Pascal
В этом приложении дается сопоставление UniPascal-я со стандартом ISO Pascal,
описанным в книге K.Jensen N.Wirth, Pascal User Manual and Report, Springer-Verlag,
1974, 1985 (ISBN 3-540-96048-1).
F.1. Нереализованные возможности ISO Pascal-я
*
В ISO Pascal-е идентификатор может быть неограниченным по длине, при том все символы
имени значащие. В UniPascal-е идентификатор может содержать неограниченное число
симолов, но только первые 8 являются значащими.
*
В ISO Pascal-е символ @ является альтернативным представлением символа ^. В UniPascal-е
символ ^ не имеет другого представления.
*
В ISO Pascal-е разрешается использование различных комментарных скобок в одном
комментарии, т.е. комментарий может начинатся с (* и заканчиваться другой скобкой }
и наоборот. В UniPascal-е этого нельзя делать. Комментарии должны начинаться с скобки
одного типа и заканчиваться скобками того же самого типа.
*
В ISO Pascal-е каждое значение множества значений, принадлежащих типу поля
вариантной части записи, должно быть указанным. В UniPascal-е не существует такое
требование.
*
В ISO Pascal-е каждой переменной файлового типа ассоциирована буферная переменная.
В UniPascal-е файловым переменным не ассоциируются буферные переменные.
*
В ISO Pascal-е поле-селектор вариантной части записи не может быть использованным в
качестве фактического параметра-переменной. В UniPascal-е такое требование не
существует.
*
В ISO Pascal-е имеется возможность использовать процедуры в качестве параметров. В
UniPascal-е этого невозможно.
*
В ISO Pascal-е стандартные процедуры RESET и REWRITE не требуют имени физического
файла. В UniPascal-е синтаксис стандартных процедур RESET и REWRITE расширен и
требует имени внешнего файла.
*
В ISO Pascal-е дефинированы стандартные процедуры GET и PUT, которые используются
для чтения из файла и для записи в нем. В UniPascal-е эти процедуры не реализованы.
*
В ISO Pascal-е дефинированы стандартные процедуры PACK и UNPACK, которые
используются упаковать и распаковать пакетированные переменные. В UniPascal-е эти
процедуры не реализованы.
*
В ISO Pascal-е операция I mod J всегда в качестве результата дает положительное число
и выдается ошибка, если J <= 0. В UniPascal-е операция I mod J вычисляется как I -(I div J) *J
и ее можно использовать при отрицательных значениях J.
*
В ISO Pascal-е оператор GOTO может использовать дефинированную в внешнем блоке
метку. В UniPascal-е эта ситуация запрещена и компилятор сообщает ошибкой об ее
наличии.
*
В ISO Pascal-е селекторное выражение (selector) в CASE операторе должно иметь
значение, одинаковое с одной из использованных констант. В UniPascal-е этого не
<<  <  GO  >  >>

Вернуться к началу сайта