"Адское" программирование Ada-95 -Компилятор GNAT

         

Диаграмма полного синтаксиса файлов проектов



5 Диаграмма полного синтаксиса файлов проектов

В заключение обсуждения средств управления проектами системы компилятора GNAT, приведем диаграмму полного синтаксиса файлов проектов, которая непосредственно позаимствована из сопроводительной документации GNAT:

project ::= context_clause project_declarationcontext_clause ::= {with_clause}with_clause ::= with literal_string { , literal_string } ;project_declaration ::= project <project_>simple_name [ extends literal_string ] is {declarative_item} end <project_>simple_name;declarative_item ::= package_declaration | typed_string_declaration | other_declarative_itempackage_declaration ::= package <package_>simple_name package_completionpackage_completion ::=



package_body | package_renamingpackage body ::= is {other_declarative_item} end <package_>simple_name ;package_renaming ::== renames <project_>simple_name.<package_>simple_name ;typed_string_declaration ::= type <typed_string_>_simple_name is ( literal_string {, literal_string} );other_declarative_item ::= attribute_declaration | typed_variable_declaration | variable_declaration | case_constructionattribute_declaration ::= for attribute use expression ;attribute ::= <simple_attribute_>simple_name | <associative_array_attribute_>simple_name ( literal_string )typed_variable_declaration ::= <typed_variable_>simple_name : <typed_string_>name := string_expression ;variable_declaration ::= <variable_>simple_name := expression;expression ::= term {& term}term ::= literal_string | string_list | <variable_>name | external_value | attribute_referenceliteral_string ::= (same as Ada)string_list ::= ( <string_>expression { , <string_>expression } )external_value ::= external ( literal_string [, literal_string] )attribute_reference ::= attribute_parent ' <simple_attribute_>simple_name [ ( literal_string ) ]attribute_parent ::= project | <project_or_package>simple_name | <project_>simple_name . <package_>simple_namecase_construction ::= case <typed_variable_>name is {case_item} end case ;case_item ::= when discrete_choice_list => {case_construction | attribute_declaration}discrete_choice_list ::= literal_string {| literal_string}name ::= simple_name {. simple_name}simple_name ::= identifier (same as Ada)


Содержание раздела








Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий