Spec-Zone.ru › Ada 2012
Справочник Ada 2012

M.2 Реализационно-зависимые характеристики

Язык Ada допускает определённую зависимость от машины. Каждая реализация Ada должна документировать все реализационно-зависимые характеристики:
  • Следуется ли каждой рекомендации, данной в разделе «Рекомендации по реализации» — см. M.3, «Рекомендации по реализации», для перечня. См. 1.1.2(37).
  • Ограничения ёмкости реализации. См. 1.1.3(3).
  • Отклонения от стандарта, которые практически невозможно избежать, учитывая среду выполнения реализации. См. 1.1.3(6).
  • Какие code_statement вызывают внешние взаимодействия. См. 1.1.3(10).
  • Кодированное представление текста программы Ada. См. 2.1(4/3).
  • Семантика программы Ada, текст которой не находится в нормальной форме KC. См. 2.1(4.1/3).
  • Этот абзац был удален.
  • Представление конца строки. См. 2.2(2/3).
  • Максимальная длина строки и длина лексического элемента. См. 2.2(14).
  • Реализационно-зависимые директивы. См. 2.8(14).
  • Влияние директивы Optimize. См. 2.8(27).
  • Строка сообщения, связанная с исключением Assertion_Error, которое возникает при неудачной проверке предиката, если нет аспекта Predicate_Failure. См. 3.2.4(31).
  • Последовательность символов значения, возвращаемого S'Wide_Image, если некоторые графические символы из S'Wide_Wide_Image не определены в Wide_Character. См. 3.5(30/3).
  • Последовательность символов значения, возвращаемого S'Image, если некоторые графические символы из S'Wide_Wide_Image не определены в Character. См. 3.5(37/3).
  • Предопределённые целочисленные типы, объявленные в Standard. См. 3.5.4(25).
  • Любые нестандартные целочисленные типы и операторы, определённые для них. См. 3.5.4(26).
  • Любые нестандартные вещественные типы и операторы, определённые для них. См. 3.5.6(8).
  • Какие комбинации требуемой десятичной точности и диапазона поддерживаются для типов с плавающей точкой. См. 3.5.7(7).
  • Предопределённые типы с плавающей точкой, объявленные в Standard. См. 3.5.7(16).
  • small обычного типа с фиксированной точкой. См. 3.5.9(8/2).
  • Какие комбинации small, диапазона и digits поддерживаются для типов с фиксированной точкой. См. 3.5.9(10).
  • Результат Tags.Wide_Wide_Expanded_Name для типов, объявленных внутри безымянного block_statement. См. 3.9(10).
  • Последовательность символов значения, возвращаемого Tags.Expanded_Name (соответственно, Tags.Wide_Expanded_Name), если некоторые графические символы из Tags.Wide_Wide_Expanded_Name не определены в Character (соответственно, Wide_Character). См. 3.9(10.1/2).
  • Реализационно-зависимые атрибуты. См. 4.1.4(12/1).
  • Округление вещественных статических выражений, которые точно находятся посредине между двумя машинными числами. См. 4.9(38/2).
  • Любые реализационно-зависимые типы времени. См. 9.6(6/3).
  • База времени, связанная с относительными задержками. См. 9.6(20).
  • База времени типа Calendar.Time. См. 9.6(23).
  • Часовой пояс, используемый для операций пакета Calendar. См. 9.6(24/2).
  • Любые ограничения на delay_until_statementы select_statementов. См. 9.6(29).
  • Результат Calendar.Formating.Image, если его аргумент представляет более 100 часов. См. 9.6.1(86/2).
  • Этот абзац был удален.
  • Представление compilation. См. 10.1(2).
  • Любые ограничения на compilationы, содержащие несколько compilation_unitов. См. 10.1(4).
  • Механизмы создания среды и добавления и замены единиц компиляции. См. 10.1.4(3/2).
  • Механизмы добавления единицы компиляции, упомянутой в limited_with_clause, в среду. См. 10.1.4(3/2).
  • Способ явного назначения единиц библиотеки разделу. См. 10.2(2).
  • Реализационно-зависимые средства (если таковые имеются) для указания необходимых единиц компиляции для данной единицы компиляции. См. 10.2(2).
  • Способ обозначения основной подпрограммы раздела. См. 10.2(7).
  • Порядок обработки library_itemов. См. 10.2(18).
  • Передача параметров и возврат значений функций для основной подпрограммы. См. 10.2(21).
  • Механизмы построения и запуска разделов. См. 10.2(24).
  • Детали выполнения программы, включая завершение программы. См. 10.2(25).
  • Семантика любых неактивных разделов, поддерживаемых реализацией. См. 10.2(28/3).
  • Информация, возвращаемая Exception_Message. См. 11.4.1(10.1/4).
  • Результат Exceptions.Wide_Wide_Exception_Name для исключений, объявленных внутри безымянного block_statement. См. 11.4.1(12).
  • Последовательность символов значения, возвращаемого Exceptions.Exception_Name (соответственно, Exceptions.Wide_Exception_Name), если некоторые графические символы из Exceptions.Wide_Wide_Exception_Name не определены в Character (соответственно, Wide_Character). См. 11.4.1(12.1/2).
  • Информация, возвращаемая Exception_Information. См. 11.4.1(13/2).
  • Реализационно-зависимые policy_identifierы и assertion_aspect_markы, разрешённые в pragma Assertion_Policy. См. 11.4.2(9/3).
  • Политика утверждений по умолчанию. См. 11.4.2(10).
  • Реализационно-зависимые имена проверок. См. 11.5(27).
  • Существование и значение второго параметра pragma Unsuppress. См. 11.5(27.1/2).
  • Случаи, которые вызывают конфликты между представлением предков type_declaration. См. 13.1(13.1/3).
  • Интерпретация каждого аспекта представления. См. 13.1(20).
  • Любые ограничения, наложенные на указание аспектов представления. См. 13.1(20).
  • Реализационно-зависимые аспекты, включая синтаксис для указания таких аспектов и правила допустимости для таких аспектов. См. 13.1.1(38).
  • Набор машинных скаляров. См. 13.3(8.1/3).
  • Значение Size для неопределённых подтипов. См. 13.3(48).
  • Предпочтительное внешнее представление для тега типа. См. 13.3(75/3).
  • Что определяет, является ли единица компиляции одинаковой в двух разных разделах. См. 13.3(76).
  • Реализационно-зависимые компоненты. См. 13.5.1(15).
  • Если Word_Size = Storage_Unit, предпочтительный порядок битов. См. 13.5.3(5).
  • Содержимое видимой части пакета System. См. 13.7(2).
  • Диапазон Storage_Elements.Storage_Offset, модуль Storage_Elements.Storage_Element и объявление Storage_Elements.Integer_Address. См. 13.7.1(11).
  • Содержимое видимой части пакета System.Machine_Code и значение code_statementов. См. 13.8(7).
  • Результат неявного преобразования для экземпляров со скалярными типами результата, чьи результаты не определены языком. См. 13.9(11).
  • Влияние неявного преобразования для экземпляров с нескалярными типами результата, чьё влияние не определено языком. См. 13.9(11).
  • Этот абзац был удален.
  • Предоставляет ли реализация имена, доступные пользователю, для стандартного типа/типов пула. См. 13.11(17).
END_OF_DOCUMENT_MARKER
  • Значение Storage_Size, когда ни Storage_Size, ни Storage_Pool не указаны для типа доступа. См. 13.11(18).
  • Этот абзац был удален.
  • Влияние указания аспекта Default_Storage_Pool на экземпляр языкового обобщенного модуля. См. 13.11.3(5).
  • Этот абзац был удален.
  • Ограничения, определяемые реализацией, разрешенные в pragma Restrictions. См. 13.12(8.7/3).
  • Последствия нарушения ограничений в pragma Restrictions. См. 13.12(9).
  • Профили использования, определяемые реализацией, разрешенные в pragma Profile. См. 13.12(15).
  • Содержание потоковых элементов, считываемых и записываемых атрибутами Read и Write элементарных типов. См. 13.13.2(9).
  • Имена и характеристики числовых подтипов, объявленных в видимой части пакета Standard. См. A.1(3).
  • Значения, возвращаемые Strings.Hash. См. A.4.9(3/2).
  • Точность, фактически достигнутая элементарными функциями. См. A.5.1(1).
  • Знак нулевого результата некоторых операторов или функций в Numerics.Generic_Elementary_Functions, когда Float_Type'Signed_Zeros равно True. См. A.5.1(46).
  • Значение Numerics.Float_Random.Max_Image_Width. См. A.5.2(27).
  • Значение Numerics.Discrete_Random.Max_Image_Width. См. A.5.2(27).
  • Этот абзац был удален.
  • Строковое представление состояния генератора случайных чисел. См. A.5.2(38).
  • Этот абзац был удален.
  • Значения атрибутов Model_Mantissa, Model_Emin, Model_Epsilon, Model, Safe_First и Safe_Last, если Приложение Numerics не поддерживается. См. A.5.3(72).
  • Этот абзац был удален.
  • Значение Buffer_Size в Storage_IO. См. A.9(10).
  • Внешние файлы, связанные со стандартными файлами ввода, вывода и ошибок. См. A.10(5).
  • Точность значения, произведенного операцией Put. См. A.10.9(36).
  • Текущий размер потокового файла, для которого позиционирование не поддерживается. См. A.12.1(1.1/1).
  • Значение Argument_Count, Argument и Command_Name для пакета Command_Line. Границы типа Command_Line.Exit_Status. См. A.15(1).
  • Интерпретация имён файлов и каталогов. См. A.16(46/2).
  • Максимальное значение размера файла в Directories. См. A.16(87/2).
  • Результат для Directories.Size для каталога или специального файла. См. A.16(93/2).
  • Результат для Directories.Modification_Time для каталога или специального файла. См. A.16(95/2).
  • Интерпретация непустого шаблона поиска в Directories. См. A.16(104/3).
  • Результаты поиска в Directories, если содержимое каталога изменяется во время поиска. См. A.16(110/3).
  • Определение и значение переменной среды. См. A.17(1/2).
  • Обстоятельства, при которых переменная среды не может быть определена. См. A.17(16/2).
  • Имена переменных среды, для которых Set имеет эффект Clear. См. A.17(17/2).
  • Значение Containers.Hash_Type'Modulus. Значение Containers.Count_Type'Last. См. A.18.1(7/2).
  • Определяемые реализацией имена конвенций. См. B.1(11/3).
  • Значение имён ссылок. См. B.1(36).
  • Способ выбора имён ссылок, когда не указано ни имя ссылки, ни адрес импортируемого или экспортируемого объекта. См. B.1(36).
  • Влияние pragma Linker_Options. См. B.1(37).
  • Содержание видимой части пакета Interfaces и его языковых потомков. См. B.2(1).
  • Определяемые реализацией потомки пакета Interfaces. См. B.2(11).
  • Определения некоторых типов и констант в Interfaces.C. См. B.3(41).
  • Типы Floating, Long_Floating, Binary, Long_Binary, Decimal_Element и COBOL_Character; и инициализации переменных Ada_To_COBOL и COBOL_To_Ada в Interfaces.COBOL. См. B.4(50).
  • Типы Fortran_Integer, Real, Double_Precision и Character_Set в Interfaces.Fortran. См. B.5(17).
  • Определяемые реализацией встроенные подпрограммы. См. C.1(1/3).
  • Этот абзац был удален.
  • Этот абзац был удален.
  • Любые ограничения на защищенную процедуру или содержащий её тип, когда указан аспект Attach_handler или Interrupt_Handler. См. C.3.1(17).
  • Другие формы обработчиков прерываний, поддерживаемые аспектами Attach_Handler и Interrupt_Handler. См. C.3.1(19).
  • Этот абзац был удален.
  • Семантика некоторых атрибутов и функций сущности, для которой аспект Discard_Names равен True. См. C.5(7).
  • Результат атрибута Task_Identification.Image. См. C.7.1(7).
  • Значение Current_Task при нахождении в защищённом входе, обработчике прерывания или завершении атрибута задачи. См. C.7.1(17/3).
  • Этот абзац был удален.
  • Дробность блокировки для Task_Attributes. См. C.7.2(16/1).
  • Этот абзац был удален.
  • Этот абзац был удален.
  • Объявления Any_Priority и Priority. См. D.1(11).
  • Определяемые реализацией ресурсы выполнения. См. D.1(15).
  • Будет ли задача, ожидающая доступа к защищённому объекту на многопроцессорной системе, удерживать процессор занятым. См. D.2.1(3).
  • Влияние определяемых реализацией ресурсов выполнения на диспетчеризацию задач. См. D.2.1(9/2).
  • Этот абзац был удален.
  • Этот абзац был удален.
  • Политики диспетчеризации задач, определяемые реализацией. См. D.2.2(19).
  • Значение Default_Quantum в Dispatching.Round_Robin. См. D.2.5(4).
  • Определяемые реализацией policy_identifierы, разрешенные в pragma Locking_Policy. См. D.3(4).
  • Политика блокировки, если никакое pragma Locking_Policy не применяется к любому модулю раздела. См. D.3(6).
  • Установленные приоритеты потолка. См. D.3(10/4).
  • Потолок любого защищённого объекта, используемого реализацией внутри. См. D.3(16).
  • Определяемые реализацией политики очередей. См. D.4(1/3).
  • Этот абзац был удален.
  • Любые операции, которые неявно требуют выделения памяти кучи. См. D.7(8).
  • Когда ограничение No_Dynamic_CPU_Assignment применяется к разделу, процессор, на котором будет выполняться задача с CPU значением Not_A_Specific_CPU. См. D.7(10).
  • Когда ограничение No_Task_Termination применяется к разделу, что происходит при завершении задачи. См. D.7(15.1/2).
  • Поведение при нарушении ограничения Max_Storage_At_Blocking. См. D.7(17/1).
  • Поведение при нарушении ограничения Max_Asynchronous_Select_Nesting. См. D.7(18/1).
  • Поведение при нарушении ограничения Max_Tasks. См. D.7(19).
  • Приведёт ли использование pragma Restrictions к сокращению размера кода или данных программы или времени выполнения. См. D.7(20).
  • Этот абзац был удален.
  • Этот абзац был удален.
  • Значение Barrier_Limit'Last в Synchronous_Barriers. См. D.10.1(4/3).
  • Что происходит, когда абортированная задача, ожидающая на Synchronous_Barrier, абортируется. См. D.10.1(13/3).
  • Этот абзац был удален.
  • Значение Min_Handler_Ceiling в Execution_Time.Group_Budgets. См. D.14.2(7/2).
  • Значение CPU_Range'Last в System.Multiprocessors. См. D.16(4/3).
  • Процессор, на котором выполняется задача среды при отсутствии значения для аспекта CPU. См. D.16(13/3).
END_OF_DOCUMENT_MARKER
  • Средства для создания и выполнения распределённых программ. См. E(5).
  • Любые события, которые могут привести к тому, что раздел станет недоступным. См. E.1(7).
  • Политики планирования, обработка приоритетов и управление общими ресурсами между разделами в некоторых случаях. См. E.1(11).
  • Этот абзац был удалён.
  • Прерывается ли выполнение удалённой подпрограммы немедленно в результате отмены. См. E.4(13).
  • Диапазон типов System.RPC.Partition_Id. См. E.5(14).
  • Этот абзац был удалён.
  • Определяемые реализацией интерфейсы в PCS. См. E.5(26).
  • Значения именованных чисел в пакете Decimal. См. F.2(7).
  • Значение Max_Picture_Length в пакете Text_IO.Editing См. F.3.3(16).
  • Значение Max_Picture_Length в пакете Wide_Text_IO.Editing См. F.3.4(5).
  • Значение Max_Picture_Length в пакете Wide_Wide_Text_IO.Editing См. F.3.5(5).
  • Точность, фактически достигнутая комплексными элементарными функциями и другими комплексными арифметическими операциями. См. G.1(1).
  • Знак нулевого результата (или его компоненты) от любого оператора или функции в Numerics.Generic_Complex_Types, когда Real'Signed_Zeros равен True. См. G.1.1(53).
  • Знак нулевого результата (или его компоненты) от любого оператора или функции в Numerics.Generic_Complex_Elementary_Functions, когда Complex_Types.Real'Signed_Zeros равен True. См. G.1.2(45).
  • Является ли строгий или ослабленный режим значением по умолчанию. См. G.2(2).
  • Интервал результатов в некоторых случаях преобразования из фиксированного в плавающей точкой. См. G.2.1(10).
  • Результат арифметической операции с плавающей точкой в ситуациях переполнения, когда атрибут Machine_Overflows типа результата равен False. См. G.2.1(13).
  • Интервал результатов для деления (или возведения в степень с отрицательным показателем), когда аппаратное обеспечение для работы с плавающей точкой реализует деление как умножение на обратную величину. См. G.2.1(16).
  • Определение набора результатов близких по значению, которое определяет точность некоторых умножений и делений с фиксированной точкой. См. G.2.3(5).
  • Условие для операнда universal_real умножения или деления с фиксированной точкой, для которых результат должен быть в идеальном наборе результатов. См. G.2.3(22).
  • Результат арифметической операции с фиксированной точкой в ситуациях переполнения, когда атрибут Machine_Overflows типа результата равен False. См. G.2.3(27).
  • Результат ссылки на элементарную функцию в ситуациях переполнения, когда атрибут Machine_Overflows типа результата равен False. См. G.2.4(4).
  • Значение порогового значения угла, в пределах которого определённые элементарные функции, комплексные арифметические операции и комплексные элементарные функции дают результаты, соответствующие максимальной относительной погрешности. См. G.2.4(10).
  • Точность некоторых элементарных функций для параметров за пределами порогового значения угла. См. G.2.4(10).
  • Результат комплексной арифметической операции или ссылки на комплексную элементарную функцию в ситуациях переполнения, когда атрибут Machine_Overflows соответствующего типа вещественного числа равен False. См. G.2.6(5).
  • Точность определённых комплексных арифметических операций и определённых комплексных элементарных функций для параметров (или их компонентов) за пределами порогового значения угла. См. G.2.6(8).
  • Требования к точности подпрограмм Solve, Inverse, Determinant, Eigenvalues и Eigensystem для типа Real_Matrix. См. G.3.1(81/2).
  • Требования к точности подпрограмм Solve, Inverse, Determinant, Eigenvalues и Eigensystem для типа Complex_Matrix. См. G.3.2(149/2).
  • Этот абзац был удалён.
  • Этот абзац был удалён.
  • Этот абзац был удалён.
  • Этот абзац был удалён.
  • Определяемые реализацией policy_идентификаторы, разрешенные в псевдокоманде Partition_Elaboration_Policy. См. H.6(4/2).


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API