Ada_Ru форум

Обсуждение языка Ада

?? ???????? --> ? ????????...

Оставить новое сообщение

Сообщения

Vladyslav Kozlovskyy
?? ???????? --> ? ????????...
2005-09-08 13:57:48

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

 

Например:

Ада. синтаксис: начни с ..., потом глянь в ..., далее хорошо бы ... и т.д...

DSA: начни с ..., потом ...

POLYORB: начни с ...

...

 

С тем, что-б новичек двигался все время от общего к частному.

А то ведь я, жудко сильно желая разобратся как работает компилятор Ады гляул на 30мб исходников... и понял... что так я ничего не

пойму. :(

 

Правда найдя на GAP PPT-презентации по компиляторам вдруг узнал, что, ОКАЗЫВАЕТСЯ, GNAT это только FRONT-END, а далее идет GCC со своей логикой и своим стандартных интерфейсом, который юзают разные FRONT-ENDы. О-о-о! Что-то (на общем уровне) уже начало

вырисовываться, а вот куда двигаться далее... еще не ясно.

А?

--

Best regards,

Vladyslav

Vladyslav Kozlovskyy wrote:

 

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

 

Например:

Ада. синтаксис: начни с ..., потом глянь в ..., далее хорошо бы ... и т.д...

DSA: начни с ..., потом ...

POLYORB: начни с ...

...

 

 

Идея хорошая, но ОЧЕНЬ тяжелая в реализации.

On Thu, Sep 08, 2005 at 04:57:48PM +0300, Vladyslav Kozlovskyy wrote:

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

Идея хорошая, если эту шпаргалку всей толпой редактировать.

Только вот лениво мне из www.ada-ru.org wiki делать.

Может нам где-то на готовый wiki сайт присесть для совместного

написания? Есть такие бесплатные сайты? Может есть у кого

опыт какой в этой области?

 

А потом на ada-ru я готовые документы перетащить смогу 8-).

 

Более простой для меня/ и более сложный для вас - через CVS

репозиторий. Только я сомневаюсь, что это всех устроит,

одно дело прямо в браузере мышой ткнуть и исправить чего-то,

другое совсем лезть куда-то командной строкой, чето выгребать,

потом комитить и пр...

 

вырисовываться, а вот куда двигаться далее... еще не ясно.

Почитай Миранду, вот книга

A Detailed Description of the GNU Ada Run-Time

http://www.iuma.ulpgc.es/users/jmiranda/

 

только не уверен что более свежей нету.

--

Maxim Reznik

Привет Maxim,

 

Thursday, September 8, 2005, 6:42:29 PM, пробежало в Ada-RU:

 

On Thu, Sep 08, 2005 at 04:57:48PM +0300, Vladyslav Kozlovskyy wrote:

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

Идея хорошая, если эту шпаргалку всей толпой редактировать.

Как вариант. С чего начнем?

 

Я полагаю, что первые шаги в Аде надо делать с книгой Александра Гаввы "Адское программирование". Емко. Кратко. Понятно. Заглядение!

 

Для совсем юных (и ленивых) - можно начать с PPT-презентаций (я имею парочку) - прикольные - показывают разницу между Адой и C/Java/C++ с юморком. :) Правда они аглицкие. Но если народ будет настаивать - постараюсь перевести :)

 

 

Только вот лениво мне из www.ada-ru.org wiki делать.

Может нам где-то на готовый wiki сайт присесть для совместного

написания? Есть такие бесплатные сайты? Может есть у кого

опыт какой в этой области?

 

А почему не Wiki? Осесть там, в русскоязычной секции?

 

 

А потом на ada-ru я готовые документы перетащить смогу 8-).

 

Более простой для меня/ и более сложный для вас - через CVS

репозиторий. Только я сомневаюсь, что это всех устроит,

одно дело прямо в браузере мышой ткнуть и исправить чего-то,

другое совсем лезть куда-то командной строкой, чето выгребать,

потом комитить и пр...

Не знаю, как в Unix, а в Windows есть WinCVS - довольно

привлекательная GUI-оболочка над CVS. Там все эти шаманства - дело нескольких кликов. Так что CVS - тоже вариант.

 

 

вырисовываться, а вот куда двигаться далее... еще не ясно.

Почитай Миранду, вот книга

A Detailed Description of the GNU Ada Run-Time

http://www.iuma.ulpgc.es/users/jmiranda/

 

только не уверен что более свежей нету.

 

На GAP есть (но я ее еще не читал, хотя очень-с хочу (в будущем :):

GNAT: The GNU Ada Compiler

June, 2004

Copyright (C) Javier Miranda and Edmond Schonberg

jmiranda@iuma.ulpgc.es, schonberg@...

Applied Microelectronics Research Institute

University of Las Palmas de Gran Canaria

Canary Islands

Spain

Computer Science Department

New York University

U.S.A.

Permission is granted to copy, distribute and/or modify this

document under the terms of the GNU Free Documentation License,

Version 1.2 or any latter published by the Free Software Foundation; with the Invariant Sections being ?GNU General Public Documentation License?, the Front-Cover text being ?GNAT: The GNU Ada Compiler?, and the Back-Cover text being ?Copies published by the Free Software Foundation raise funds for GNU development.?

 

Contents

I First Part: Introduction 7

1 The GNAT Project 9

1.1 GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 The GNAT Compiler . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Compilation Model . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Traditional Compilation Model . . . . . . . . . . . . . . 13 1.3.2 GNAT Compilation Model . . . . . . . . . . . . . . . . . 13 1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Overview of the Front-end Architecture 19

2.1 The Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 The Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 The Abstract Syntax Tree . . . . . . . . . . . . . . . . . 22 2.3 The Semantic Analyzer . . . . . . . . . . . . . . . . . . . . . . . 24 2.4 The Expander . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3 Error Recovery 31

3.1 Scanner Error Recovery . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Use of the Casing of Identiers . . . . . . . . . . . . . . 32 3.2 Parser Error Recovery . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.1 The Parser Scope-Stack . . . . . . . . . . . . . . . . . . 33 3.2.2 Example 1: Use of indentation . . . . . . . . . . . . . . . 34 3.2.3 Example 2: Handling Semicolon Used in Place of 'is' . . 34

3.2.4 Example 3: Handling 'is' Used in Place of Semicolon . . 36

3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 II Second Part: Semantic Analysis 39

4 Scopes and Visibility 41

4.1 Flags and Data Structures . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Analysis of Records, Tasks and Protected Types. . . . . . . . . . . 45 4.3 Analysis of Packages . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4 Analysis of Private Types . . . . . . . . . . . . . . . . . . . . . . 47 4.4.1 Private Entities Visibility . . . . . . . . . . . . . . . . . . 48 4.4.2 Private Type Declarations . . . . . . . . . . . . . . . . . 49 4.4.3 Deferred Constants and Incomplete Types . . . . . . . . . 51 4.4.4 Limited Types . . . . . . . . . . . . . . . . . . . . . . . 51 4.4.5 Analysis of Child Units . . . . . . . . . . . . . . . . . . . 51 4.4.6 Analysis of Subunits . . . . . . . . . . . . . . . . . . . . 52 4.5 Name Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5 Overload Resolution 55

5.1 Resolution Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 56 5.1.1 Additional Details for the Bottom-Up Pass . . . . . . . . 57 5.1.2 Data Structures . . . . . . . . . . . . . . . . . . . . . . . 59 5.1.3 Additional Details for the Top-Down Pass . . . . . . . . . 60 5.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6 Analysis of Discriminants 63

6.1 Analysis of Discriminants . . . . . . . . . . . . . . . . . . . . . . 64 6.2 Analysis of Discriminants in Derived Types . . . . . . . . . . . . 67 6.3 Discriminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7 Generic Units 71

7.1 Generic Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.1.1 Analysis of Generic Units . . . . . . . . . . . . . . . . . 72 7.1.2 Instantiation of Generic Units . . . . . . . . . . . . . . . 75 7.1.3 Parameter Matching . . . . . . . . . . . . . . . . . . . . 75 7.1.4 Private Types . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2 Nested Generic Units . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2.1 Analysis of Nested Generic Units . . . . . . . . . . . . . 80 7.2.2 Instantiation of Nested Generic Units . . . . . . . . . . . 81 7.3 Generic Child Units . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.3.1 Analysis of Generic Child Units . . . . . . . . . . . . . . 84 7.3.2 Instantiation of Child Generic Units . . . . . . . . . . . . 85 7.4 Delayed Instantiation of Bodies . . . . . . . . . . . . . . . . . . . 89 7.5 Detection of Instantiation Circularities . . . . . . . . . . . . . . . 90 7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 8 Freezing Analysis 93

8.1 Freezing Types and Subtypes . . . . . . . . . . . . . . . . . . . . 94 8.2 Freezing Expressions . . . . . . . . . . . . . . . . . . . . . . . . 95 8.3 Freezing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8.4 Freezing Subprograms . . . . . . . . . . . . . . . . . . . . . . . 96 8.5 Freezing Packages . . . . . . . . . . . . . . . . . . . . . . . . . 97 8.6 Freezing Generic Units . . . . . . . . . . . . . . . . . . . . . . . 97 8.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 III Third Part: Expansion 99

9 Expansion of Tasks 101

9.1 Task Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 9.2 Task Termination . . . . . . . . . . . . . . . . . . . . . . . . . . 103 9.3 Task Abortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 9.4 Expansion of Task Type Declarations . . . . . . . . . . . . . . . . 104 9.5 Task Body Expansion . . . . . . . . . . . . . . . . . . . . . . . . 105 9.6 Example of Task Expansion . . . . . . . . . . . . . . . . . . . . 106 9.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10 Expansion of Rendezvous and related Constructs 109

10.1 Entry Identification . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.2 Entry-Call Expansion . . . . . . . . . . . . . . . . . . . . . . . . 110 10.2.1 Expansion of Simple Entry-Calls . . . . . . . . . . . . . 112 10.2.2 Expansion of Conditional and Timed Entry-Calls . . . . . 112 10.3 Asynchronous Transfer of Control . . . . . . . . . . . . . . . . . 113 10.3.1 ATC Implementation Models . . . . . . . . . . . . . . . . 114 10.3.2 Expansion of ATC . . . . . . . . . . . . . . . . . . . . . 116 10.4 Expansion of Accept Statements . . . . . . . . . . . . . . . . . . 117 10.4.1 Simple Accept Expansion . . . . . . . . . . . . . . . . . 117 10.4.2 Timed and Selective Accept . . . . . . . . . . . . . . . . 118 10.4.3 Count Attribute Expansion . . . . . . . . . . . . . . . . . 120 10.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 11 Expansion of Protected Objects 121

11.1 The Proxy Model . . . . . . . . . . . . . . . . . . . . . . . . . . 123 11.1.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . 124 11.2 Expansion of Protected Types . . . . . . . . . . . . . . . . . . . . 125 11.2.1 Expansion of Protected-Type Specification . . . . . . . . 125 11.2.2 Expansion of Protected Subprograms . . . . . . . . . . . 127 11.2.3 Expansion of Entry Barriers . . . . . . . . . . . . . . . . 129 11.2.4 Expansion of Entry bodies . . . . . . . . . . . . . . . . . 129 11.2.5 Table to Barriers and Entry-Bodies . . . . . . . . . . . . . 130 11.2.6 Expansion of Entry Families . . . . . . . . . . . . . . . . 130 11.3 Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 11.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 12 Expansion of Controlled-Types 133

12.1 Implementation Overview . . . . . . . . . . . . . . . . . . . . . 134 12.1.1 Exceptional Block Exit . . . . . . . . . . . . . . . . . . . 135 12.1.2 Finalization of Anonymous Objects . . . . . . . . . . . . 136 12.1.3 Finalization of Dynamically Allocated Objects . . . . . . 136 12.1.4 Problems Related to Mutable Objects . . . . . . . . . . . 137 12.1.5 Controlled Class-Wide Objects . . . . . . . . . . . . . . . 137 12.2 Expansion Activities for Controlled-Types . . . . . . . . . . . . . 138 12.2.1 Expansion of Assignment . . . . . . . . . . . . . . . . . 139 12.2.2 Expansion of Anonymous Controlled Objects . . . . . . . 140 12.2.3 Objects with Controlled Components . . . . . . . . . . . 141 12.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 13 Expansion of Tagged-Types 145

13.1 Tagged and Polymorphic Objects . . . . . . . . . . . . . . . . . . 146 13.2 The Dispatch Table . . . . . . . . . . . . . . . . . . . . . . . . . 147 13.3 Primitive Operations . . . . . . . . . . . . . . . . . . . . . . . . 149 13.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 IV Fourth Part: Run-Time 155

14 Tasking 157

14.1 The Ada Task Control Block . . . . . . . . . . . . . . . . . . . . 157 14.2 Task States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 14.3 Task Creation and Termination . . . . . . . . . . . . . . . . . . . 159 14.4 Run-Time Subprograms for Task Creation and Termination . . . . 163 14.4.1 GNARL.Enter Master . . . . . . . . . . . . . . . . . . . 165 14.4.2 GNARL.Create Task . . . . . . . . . . . . . . . . . . . . 165 14.4.3 GNARL.Activate Tasks . . . . . . . . . . . . . . . . . . 166 14.4.4 GNARL.Tasks Wrapper . . . . . . . . . . . . . . . . . . 168 14.4.5 GNARL.Complete Activation . . . . . . . . . . . . . . . 168 14.4.6 GNARL.Complete Task . . . . . . . . . . . . . . . . . . 169 14.4.7 GNARL.Complete Master . . . . . . . . . . . . . . . . . 169 14.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 15 The Rendezvous 171

15.1 The Entry-Call Record . . . . . . . . . . . . . . . . . . . . . . . 172 15.2 Entries and Queues . . . . . . . . . . . . . . . . . . . . . . . . . 173 15.3 Accepted-Calls Stack . . . . . . . . . . . . . . . . . . . . . . . . 174 15.4 Selective Accept . . . . . . . . . . . . . . . . . . . . . . . . . . 174 15.5 Run-Time Rendezvous Subprograms . . . . . . . . . . . . . . . . 176 15.5.1 GNARL.Call Simple . . . . . . . . . . . . . . . . . . . . 176 15.5.2 GNARL.Call Synchronous . . . . . . . . . . . . . . . . . 176 15.5.3 GNARL.Task Do Or Queue . . . . . . . . . . . . . . . . 177 15.5.4 GNARL.Task Entry Call . . . . . . . . . . . . . . . . . . 177 15.5.5 GNARL.Accept Trivial . . . . . . . . . . . . . . . . . . 177 15.5.6 GNARL.Accept Call . . . . . . . . . . . . . . . . . . . . 178 15.5.7 GNARL.Complete Rendezvous . . . . . . . . . . . . . . 178

15.5.8 GNARL.Exceptional Complete Rendezvous . . . . . . . 178

15.5.9 GNARL.Selective Wait . . . . . . . . . . . . . . . . . . 179 15.5.10 GNARL.Task Count . . . . . . . . . . . . . . . . . . . . 180 15.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 16 Protected Objects 181

16.1 The Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 16.2 Run-Time Subprograms . . . . . . . . . . . . . . . . . . . . . . . 182 16.2.1 GNARL.Protected Entry Call . . . . . . . . . . . . . . . 182 16.2.2 GNARL.PO Do Or Queue . . . . . . . . . . . . . . . . . 183 16.2.3 GNARL.Service Entries . . . . . . . . . . . . . . . . . . 184 16.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 17 Time and Clocks 187

17.1 Delay and Delay Until Statements . . . . . . . . . . . . . . . . . 187 17.2 Timed Entry Call . . . . . . . . . . . . . . . . . . . . . . . . . . 189 17.3 Timed Selective Accept . . . . . . . . . . . . . . . . . . . . . . . 190 17.4 Run-Time Subprograms . . . . . . . . . . . . . . . . . . . . . . . 190 17.4.1 GNARL.Timed Delay . . . . . . . . . . . . . . . . . . . 190 17.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 18 Exceptions 193

18.1 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 18.1.1 Exception Id . . . . . . . . . . . . . . . . . . . . . . . . 193 18.1.2 The Exceptions Table . . . . . . . . . . . . . . . . . . . . 194 18.2 Run-Time Subprograms . . . . . . . . . . . . . . . . . . . . . . . 195 18.2.1 GNARL.Raise . . . . . . . . . . . . . . . . . . . . . . . 195 18.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 19 Interrupts 197

19.1 POSIX Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 19.1.1 Reserved Signals . . . . . . . . . . . . . . . . . . . . . . 199 19.2 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 19.2.1 Interrupts Manager: Basic Approach . . . . . . . . . . . . 202 19.2.2 Server Tasks: Basic Approach . . . . . . . . . . . . . . . 203 19.2.3 Interrupt-Manager and Server-Tasks Integration . . . . . . 203 19.3 Run-Time Subprograms . . . . . . . . . . . . . . . . . . . . . . . 207 19.3.1 GNARL.Install Handlers . . . . . . . . . . . . . . . . . . 207 19.3.2 GNARL.Attach Handlers . . . . . . . . . . . . . . . . . 207 19.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 20 Abortion 211

20.1 Run-Time Subprograms . . . . . . . . . . . . . . . . . . . . . . . 214 20.1.1 GNARL.Task Entry Call . . . . . . . . . . . . . . . . . . 215 20.1.2 GNARL.Locked Abort To Level . . . . . . . . . . . . . 215

20.1.3 GNARL.Locked Abort To Level . . . . . . . . . . . . . 215

20.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 V Fifth Part: Appendix 219

A How to add new Keywords, Pragmas and Attributes 221

A.1 Drago . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 A.2 First Step: Addition of new Keywords . . . . . . . . . . . . . . . 222 A.3 Second step: Addition of new tokens . . . . . . . . . . . . . . . . 223 A.4 Third Step: Update the Scanner Initialization . . . . . . . . . . . 224 A.5 Addition of Pragmas an Attributes . . . . . . . . . . . . . . . . . 225 A.6 Addition of New Syntax Rules . . . . . . . . . . . . . . . . . . . 225 A.6.1 First step: Addition of New Node Kinds . . . . . . . . . . 226 A.6.2 Second Step: High-level specication of the new nodes . . 227 A.6.3 Third Step: Automatic modication of the frontend . . . . 228 A.6.4 Fourth Step: Update of the Parser . . . . . . . . . . . . . 228 A.7 Verication of the Semantics . . . . . . . . . . . . . . . . . . . . 229 A.8 Tree expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 A.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 B Glossary 231

C GNU Free Documentation License 237

1. APPLICABILITY AND DEFINITIONS . . . . . . . . . . . . . . . 238 2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . . . . . . . 239 3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . . . . . . . 240 4. MODIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . . . . . . . 243 6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . . . . . . . 243 7. AGGREGATION WITH INDEPENDENT WORKS . . . . . . . . . 244

8. TRANSLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 9. TERMINATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . . . . . . . 245 ADDENDUM: How to use this License for your documents . . . . . . 245 List of Figures

1.1 GNAT Compiler. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 GNAT Front-End Phases. . . . . . . . . . . . . . . . . . . . . . . 12 1.3 GNAT Overall Structure. . . . . . . . . . . . . . . . . . . . . . . 14 2.1 Architecture of the GNAT Scanner . . . . . . . . . . . . . . . . . 20 2.2 Structure of the GNAT Parser . . . . . . . . . . . . . . . . . . . . 21 2.3 Abstract Syntax Tree Construction. . . . . . . . . . . . . . . . . . 22 2.4 Abstract Syntax Tree Packages. . . . . . . . . . . . . . . . . . . . 23 2.5 Abstract Syntax Subtree associated with the package body rule. . . 24 2.6 Abstract Syntax Tree Decoration. . . . . . . . . . . . . . . . . . . 24 2.7 Structure of the Semantic Analyzer. . . . . . . . . . . . . . . . . 25 2.8 Abstract Syntax Tree Nodes Dispatching. . . . . . . . . . . . . . 26 2.9 Abstract Syntax Tree Expansion. . . . . . . . . . . . . . . . . . . 27 2.10 Architecture of the GNAT Expander . . . . . . . . . . . . . . . . 28 4.1 The Scope Stack . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 List of entities in the same scope. . . . . . . . . . . . . . . . . . . 43 4.3 Lists of homonym entities. . . . . . . . . . . . . . . . . . . . . . 44 4.4 The matrix of entities. . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5 Analysis of a record. . . . . . . . . . . . . . . . . . . . . . . . . 46 4.6 Analysis of a protected type. . . . . . . . . . . . . . . . . . . . . 47 4.7 Visible and Private Entities . . . . . . . . . . . . . . . . . . . . . 49 4.8 Reference to the Full-View Entity . . . . . . . . . . . . . . . . . 50 4.9 Swapping of the Private Declaration and the Full View . . . . . . 50 4.10 Deferred Constants Handling . . . . . . . . . . . . . . . . . . . . 51 7.1 Step 1: Copy the original generic AST. . . . . . . . . . . . . . . . 73 7.2 Step 2: Analyze and decorate the copy. . . . . . . . . . . . . . . . 74 7.3 Step 3: Remove local references in the original AST. . . . . . . . 74 7.4 Instantiation of generic units. . . . . . . . . . . . . . . . . . . . . 75 7.5 Nested generic packages. . . . . . . . . . . . . . . . . . . . . . . 81 7.6 Analysis of generic package Gen Pkg 1. . . . . . . . . . . . . . . 82 7.7 Analysis of nested generic package Gen Pkg 2. . . . . . . . . . . 83 7.8 Saving global references. . . . . . . . . . . . . . . . . . . . . . . 83 7.9 Instantiation of nested generic units. . . . . . . . . . . . . . . . . 84 7.10 Sequence of steps to instantiate Child Instance. . . . . . . . . . . 88 10.1 Data structures associated to an entry-call. . . . . . . . . . . . . . 111 11.1 Proxy Model: Call-Back Implementation. . . . . . . . . . . . . . 125 11.2 Proxy Model: In-Line Implementation. . . . . . . . . . . . . . . . 125 13.1 Dispatch Table Example. . . . . . . . . . . . . . . . . . . . . . . 148 14.1 Run-Time Information Associated with Each Task. . . . . . . . . 158 14.2 Denition of Parent, Activator, Master of Task and Master Within. 161 14.3 GNARL Subprograms Called During the Task Life-Cycle . . . . . 163 15.1 Data structures associated to an entry-call. . . . . . . . . . . . . . 172

LIST OF FIGURES xv

15.2 Entry Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 15.3 Simple Accept. . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 16.1 Graphical Representation of the Protected Object. . . . . . . . . . 183 17.1 GNARL Subprograms for the Delay Statement. . . . . . . . . . . 188 17.2 GNARL Subprograms for the Delay Statement in an Ada Program

without Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 17.3 GNARL Subprograms for the Delay Statement in an Ada Program

with Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 17.4 GNARL Subprograms for Timed Entry Call. . . . . . . . . . . . . 190 17.5 GNARL Subprograms for Timed Selective Accept. . . . . . . . . 191 18.1 Exception Identier Record . . . . . . . . . . . . . . . . . . . . . 194 18.2 Occurrence Identier. . . . . . . . . . . . . . . . . . . . . . . . . 195 18.3 Hash Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 19.1 Reserved Interrupts Table. . . . . . . . . . . . . . . . . . . . . . 201 19.2 Table of User-Dened Interrupt-Handlers. . . . . . . . . . . . . . 202 19.3 Basic Automaton Implemented by the Interrupts Manager. . . . . 203 19.4 Server Tasks Signal Handling. . . . . . . . . . . . . . . . . . . . 204 19.5 Basic Automaton Implemented by the Server Tasks. . . . . . . . . 205 19.6 Simplied Server Tasks Automaton. . . . . . . . . . . . . . . . . 206 19.7 Server Tasks Automaton. . . . . . . . . . . . . . . . . . . . . . . 206 19.8 List of Interrupt Handlers in Non-Nested Style. . . . . . . . . . . 208 20.1 GNARL Subprograms for the Abort Statement. . . . . . . . . . . 214 20.2 Entry Calls Stack. . . . . . . . . . . . . . . . . . . . . . . . . . . 216 A.1 GNAT utility programs. . . . . . . . . . . . . . . . . . . . . . . . 228 xvi LIST OF FIGURES

A.2 New parser structure. . . . . . . . . . . . . . . . . . . . . . . . . 229 A.3 GNAT semantic utility program . . . . . . . . . . . . . . . . . . 229

 

Вроде GNU Free documentation License, значит можно и сюда запостить?

Или, раз взял на GAP - сиди и читай? :))) Представители корпоративных интересов, ау! - ткните мордой в рестрикшины, что-б я, по доброте душевной, законов то не попереступал :)

 

 

--

Best regards,

Vladyslav

On Thu, 8 Sep 2005 16:57:48 +0300, Vladyslav Kozlovskyy <dbdeveloper@...> wrote:

 

Вопрос к профессионалам:

...

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

 

Например:

Ада. синтаксис: начни с ..., потом глянь в ..., далее хорошо бы ... и т.д...

DSA: начни с ..., потом ...

POLYORB: начни с ...

...

 

а думаешь я зачем про базовый комплект спрашивал? ;)

Вот оно что-то типа того и есть - тоесть то что надо бы

иметь под рукой сразу и/или посмотреть, а весь остальной

хлам уже проще искать поиском и качать по мере надобности...

 

Пока примерно так:

 

исходники самого gnat

- как пример программы, причем в тч и большого проекта

- хорошая дока по компилятору :)

...

 

gnat компилятор + список ссылок где что искать (gnat_rm.html и тп)

 

стандарты

 

www.gnu.org (единственное место куда стоит сходить просто так,

всякий хлам вроде линуксячих сайтов не вижу смысла даже

записывать url - проще искать поиском, все равно там ничего ценного)

 

ну сайты вроде ada-ru еще наверно..

 

список указателей на книги (где что есть в книгах)

 

из книг LinuxAda и та книга на русском по Аде с сайта.

(причем книги обязательно только скачать - читать можно и поиском,

небольшие списки-указатели похоже лучше если прочитать)

 

Примерно так короче, потом подробнее напишу...

 

 

 

А вот по поводу либ тут вопрос не такой простой.

Думаю надо сразу отделять мух от котлет :) Тоесть просто список

всех либ с кратким описанием, а потом уже к нему дополнительно

несколько разных списков-указателей, ну и всякая философия

отдельно...

 

Причем всяких философий может быть несколько, а вопрос

"что лучше" обычно требует уточнения "для чего" и тд ;)

Только в редких случаях что-то заменяется полностью...

 

 

 

С тем, что-б новичек двигался все время от общего к частному.

 

нужно выделить самый-самый миниум, который надо бы просто знать вообще.

Все остальное - по мере надобности, можно поиском и тп...

 

А то ведь я, жудко сильно желая разобратся как работает компилятор

Ады гляул на 30мб исходников... и понял... что так я ничего не

пойму. :(

 

ну, это ты значит в Цных либах как следует еще не рылся ;)))

Мне дак после них просто отдых, как к себе домой ;)

 

Тут не хватает просто общего списка принятых на фирме для

расфасовки ;) по файлам исходников соглашений, ну и словарь,

или что-то типа того. Тоесть просто как называются разные части

компилятора, причем именно те названия что использованы(в словаре

будут и не использованные синонимы, а тут надо просто то что есть).

 

 

Правда найдя на GAP PPT-презентации по компиляторам вдруг узнал,

что, ОКАЗЫВАЕТСЯ, GNAT это только FRONT-END, а далее идет GCC со

своей логикой и своим стандартных интерфейсом, который юзают разные

FRONT-ENDы. О-о-о! Что-то (на общем уровне) уже начало

вырисовываться, а вот куда двигаться далее... еще не ясно.

А?

 

Если и так, то они gcc полностью переписали на Аде - там на Ц очень

не много файлов - сам же gcc тоже куча мег но только на Ц. Похоже

раздвоение ;) (впрочем сам кодогенератор обычно не большой)

 

Кстати кодогенератор с ходу тоже что-то не нашел - похоже надо

просто знать как он у них в проекте называется - поисковик находит

все за несколько секунд...

 

Vladimir

PS Вот что-то вроде словарика бы составить, это б да...

Можно за одно с жаргоном :)

-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/

On 08Sep 2005, at 8:12 PM, Vladyslav Kozlovskyy wrote:

Для совсем юных (и ленивых) - можно

начать с PPT-презентаций (я имею

парочку) - прикольные - показывают

разницу между Адой и C/Java/C++ с

юморком. :) Правда они аглицкие. Но

если народ будет настаивать -

постараюсь перевести :)

Ну а поделиться материалом? =)

Удачи,

/Александр.

Hello!

 

On Thu, 8 Sep 2005, Vladyslav Kozlovskyy wrote:

 

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

 

Например:

Ада. синтаксис: начни с ..., потом глянь в ..., далее хорошо бы ... и т.д... DSA: начни с ..., потом ...

POLYORB: начни с ...

...

 

С тем, что-б новичек двигался все время от общего к частному.

 

А чем тебя список лииературы в Ru.Ada.Community FAQ не устраивает? На его основе, по-моему, можно учебный курс по программированию построить ( а не только по Ada'е ).

 

 

А то ведь я, жудко сильно желая разобратся как работает компилятор Ады гляул на 30мб исходников... и понял... что так я ничего не

пойму. :(

 

Ну так с этим к Вирту ( "Алгоритмы + структуры данных = программы", именно это издание, а не более позднее "Алгоритмы и структуры данных" ), поскольку бОльшая часть современных компиляторов устроена примерно одинаково. Ну, и опять же -- список литературы из FAQ.

 

А конкретное устройство конкретного компилятора, на мой взгляд -- вещь для прикладного программиста бесполезная и даже вредная, поскольку может потянуть искать искать в нём лазейки. Конечно, для C/C++ без этого не обойтись, но для нормальных ( aka алгольных ) языков, и особенно Ada'ы, это не нужно, поскольку детали реализации компилятора не должны влиять на исходный код прикладной программы ( это, кстати, одна из базовых идей Ada-технологии -- есть Стандарт Языка, одинаковый для всех реализаций, а всё остальное -- от Лукавого ).

 

Sincerely yours Cyril Sazonov

On Thu, 8 Sep 2005 18:42:29 +0300, Maxim Reznik <yeo@...> wrote:

On Thu, Sep 08, 2005 at 04:57:48PM +0300, Vladyslav Kozlovskyy wrote:

Вопрос к профессионалам:

 

Народ,

 

Как вам идея создание некоей шпаргалки (некоего степинга) советов с чего начинть

изучать ту или иную область такой многогранной Ады?

Идея хорошая, если эту шпаргалку всей толпой редактировать.

Только вот лениво мне из www.ada-ru.org wiki делать.

 

Если уж делать, то не вики - уж больно оно убого и не удобно,

хотя и полно халявных реализаций...

 

Думаю лучше бы просто какой-то Html-Editor или просто иногда

text-editor - на практике "красота" и вумность вики только

мешает и раздражает... (кстати советую сильно на напрягаться

если показывает не красиво - смотреть в режиме редактирования,

все равно она представляет интерес только как текстовый

обмен - потом в режиме редактирования выкусываешь кусок и все)

 

По поводу реализации такого "вики" по простому я уже как-то

писал, потом найду и кину сюда - в общем думаю такую вещь

можно на базе стандартных вещей вроде ftp/прав_доступа/простого

скрипта и тп сделать за несколько минут...

 

 

Может нам где-то на готовый wiki сайт присесть для совместного

написания? Есть такие бесплатные сайты? Может есть у кого

опыт какой в этой области?

 

есть, есть :)

 

www.openhardware.ru

 

Моя небольшая коллекция ссылок вот тут :)

http://www.openhardware.ru/modules/wiwimod/index.php?page=DocsClassifiedByTvv&

 

то что устаканиться планирую перетаскивать на url-catalog.narod.ru

чтобы не попортили... Обычно в статье первой ссылка на .txt там,

потом можно дописывать...

 

Пробовал как-то использовать какую-то вроде той wikiznanie,

но там после того как мальчики-админы "улучшили" понял что

лучше и зря время не тратить ;) Тут хоть народ по-грамотней

(там разработчики в основном тусуются - любителям не интересно,

им готовые схемы подавай, а рассчеты и тп им не надо,

так что они от них как черти от ладона разбегаются :) )

и что ценное не попортят, да и вообще ленивый чтобы что-то

"улучшать", так что лежит обычно долго и никто не трогает :)

Ну и, потом, во всяких -педиях :) намек на что-то готовое

и полноту, а тут вики делался для быстрых набросков,

черновиков, обмена ссылками и тп, так что небольшой бардак

это нормально :)

 

После регистрации и логина на сайте после всех вики-статей

появляется кнопка "редактировать". В общем надо продумать

какой набор нужен и как назвать (после "?page=" в ссылке

название статьи, можно сразу руками подставить любое),

ссылки на них могу добавить на ту страницу...

 

Vladimir

PS Да, само по себе вики-статья - это что-то типа переменной

в программе - само по себе ничего без ссылок/использования ее :)

Всмысле что саму по себе статью никто не найдет - надо просто

или заранее договариваться об обмене через какие статьи будет

идти работа(обычно для разных тем/групп набор статей разный,

но частично перекрываются чтобы не изобретать велосипед если

используется что-то общее), тоесть проще по каждой теме/проекту

делать список статей которые будут использоваться...

Вообще, в перспективе думаю надо бы сделать какой-то общий

каталог-классификатор(вроде библиотечного УДК/ББК), в который

будут включены все темы и тп, тоесть чтобы по нему всегда можно

было однозначно и точно найти все статьи по теме и чтобы все

обменивались через одни...

(правда внедрять я смотрю это придется при помощи палки тк

народ обычно ленив и лениться засунуть даже готовые ссылки :) )

 

-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/

Friday, September 9, 2005, 2:08:39 AM, пробежало в Ada-RU:

 

А чем тебя список литературы в Ru.Ada.Community FAQ не устраивает? На его основе, по-моему, можно учебный курс по программированию построить ( а не только по Ada'е ).

Вот именно, что устраивает! Просто мне, как новичку, хочется совета профессионала с чего начать и куда двигатся далее. Я ведь могу начать (по незнанию) с действительно классной, но сложной книги,

предназначенной для профессионалов и бросить затею изучать данную область со словами "Так сложно - ну ее нафиг! :) Тогда, как начав с общих принципов и двигаясь в сторону усложнения материала можно разобраться в самых сложных вещах.

 

см. пример "Путеводителя" Vadim Godunko по CORBA и PolyORB

(постинг "[ada_ru] CORBA - документация")- кратко и метко.

Вот, как раз то что и требуется! Разве так сложно человеку, который уже разобрался в предмете черкнуть пару строк новичкам?

 

 

А то ведь я, жудко сильно желая разобратся как работает компилятор Ады гляул на 30мб исходников... и понял... что так я ничего не

пойму. :(

 

Ну так с этим к Вирту ( "Алгоритмы + структуры данных = программы",

Спасибо. Скачал. Гляну на досуге.

 

Для тех кому тоже нужно: http://yourpascal.com/download.php?id=338 архив kniga.rar 7.86MB пароль архива www.yourpascal.com

Книга скан-копия в формате .djvu

 

 

А конкретное устройство конкретного компилятора, на мой взгляд -- вещь для прикладного программиста...

Я хочу работать с деревом разбора AST и вообще понимать, как работает мой компилятор. Мне так легче :)

 

 

--

Best regards,

Vladyslav

On Fri, Sep 09, 2005 at 10:01:14AM +0300, Vladyslav Kozlovskyy wrote:

область со словами "Так сложно - ну ее нафиг! :) Тогда, как начав с общих принципов и двигаясь в сторону усложнения материала можно разобраться в самых сложных вещах.

 

см. пример "Путеводителя" Vadim Godunko по CORBA и PolyORB

(постинг "[ada_ru] CORBA - документация")- кратко и метко.

И наповал. Посоветовать чайнику прочитать 2.5Мб формальных

спецификаций - лучший метод отбить охоту копать глубже.

8-)

 

Хотя, наверное, у каждого свой подход к самообразованию,

кто-то учится по примерам или туториалам, PPT-презинтациям,

кто-то по формальным спецификациям.

 

--

Maxim Reznik

Для совсем юных (и ленивых) - можно

начать с PPT-презентаций (я имею

парочку) - прикольные - показывают

разницу между Адой и C/Java/C++ с

юморком. :) Правда они аглицкие. Но

если народ будет настаивать -

постараюсь перевести :)

 

Ну а поделиться материалом? =)

 

Легко! - http://libre.act-europe.fr/Software_Matters/

 

слайды

- Introduction to Software Construction

- Programming Languages and Software Construction

- Programming in the Small: C/C++/Java Pitfalls & Ada Benefits

--

Best regards,

Vladyslav

Привет Maxim,

 

Friday, September 9, 2005, 10:22:04 AM, пробежало в Ada-RU:

 

On Fri, Sep 09, 2005 at 10:01:14AM +0300, Vladyslav Kozlovskyy wrote:

область со словами "Так сложно - ну ее нафиг! :) Тогда, как начав с общих принципов и двигаясь в сторону усложнения материала можно разобраться в самых сложных вещах.

 

см. пример "Путеводителя" Vadim Godunko по CORBA и PolyORB

(постинг "[ada_ru] CORBA - документация")- кратко и метко.

И наповал.

Ты не заметил, что предлагается прочитать только главы 2,3,4,11

спецификации. А это уже не 2.5Мб, а существенно меньше. А вот без совета я б, наверное, пробовал все захавать с начала. И точно бы

подавился :(

 

Посоветовать чайнику прочитать 2.5Мб формальных

спецификаций - лучший метод отбить охоту копать глубже.

8-)

 

Посоветуй что-то еще. Можно со слайдами :)

 

 

Хотя, наверное, у каждого свой подход к самообразованию,

кто-то учится по примерам или туториалам, PPT-презинтациям,

кто-то по формальным спецификациям.

 

Угу

 

 

--

Best regards,

Vladyslav

А конкретное устройство конкретного компилятора, на мой взгляд -- вещь для

прикладного программиста...

 

Я хочу работать с деревом разбора AST и вообще понимать, как работает

мой компилятор. Мне так легче :)

 

Я этим ежедневно занимаюсь уже десять лет - и то не все понимаю :)

On Fri, Sep 09, 2005 at 10:28:54AM +0300, Vladyslav Kozlovskyy wrote:

см. пример "Путеводителя" Vadim Godunko по CORBA и PolyORB

(постинг "[ada_ru] CORBA - документация")- кратко и метко.

И наповал.

Ты не заметил, что предлагается прочитать только главы 2,3,4,11

спецификации. А это уже не 2.5Мб, а существенно меньше. А вот без совета я б, наверное, пробовал все захавать с начала. И точно бы подавился :(

Я то как раз заметил. Полная спецификация CORBA 10Mb + 1Mb

Адская часть. Англ. тексту.

У самого в столе валяется распечатка, только пролистанная 8-(

 

Это когда знаешь предмет, кажется что лучше спецификации

текстов нет. А попробуй Аду по ARM выучи...

 

Тут как раз и пригодилась бы коллективные советы,

с разных точек зрения и с разного уровня знаний.

 

Надо бы что-то придумать такое...

 

 

Посоветуй что-то еще. Можно со слайдами :)

А не могу :-(

 

 

--

Maxim Reznik

Привет Maxim,

 

Friday, September 9, 2005, 11:02:40 AM, пробежало в Ada-RU:

 

On Fri, Sep 09, 2005 at 10:28:54AM +0300, Vladyslav Kozlovskyy wrote:

см. пример "Путеводителя" Vadim Godunko по CORBA и PolyORB

(постинг "[ada_ru] CORBA - документация")- кратко и метко.

И наповал.

Ты не заметил, что предлагается прочитать только главы 2,3,4,11

спецификации. А это уже не 2.5Мб, а существенно меньше. А вот без совета я б, наверное, пробовал все захавать с начала. И точно бы подавился :(

Я то как раз заметил. Полная спецификация CORBA 10Mb + 1Mb

Адская часть. Англ. тексту.

мда. мрачно.

 

У самого в столе валяется распечатка, только пролистанная 8-(

 

Это когда знаешь предмет, кажется что лучше спецификации

текстов нет. А попробуй Аду по ARM выучи...

пробовал :о) Кстати ARM перевода на русский точно нету?

 

Тут как раз и пригодилась бы коллективные советы,

с разных точек зрения и с разного уровня знаний.

 

Нужно искать профессионалов с учительским складом ума, умеющим

обьяснять.

 

 

Надо бы что-то придумать такое...

 

Одна из идей - уболтать (заставить ведь невозможно) - профессионалов в определенной области своими словами (на пальцах) обьяснить ключевые понятия их области, используя метафоры из окружающего мира и природы (для полных критинов, но это работает!) :)

 

 

Посоветуй что-то еще. Можно со слайдами :)

А не могу :-(

 

 

Полагаю, пока по CORBA будем следовать советам Вадима, а появятся новые идеи - "Путеводитель" дополним

 

 

--

Best regards,

Vladyslav

Это когда знаешь предмет, кажется что лучше спецификации

текстов нет. А попробуй Аду по ARM выучи...

 

Ну, мне пришлось... Правда, кое-какая подготовка была,

но стояла конкретная задача (тестирование Ада-компиляторов,

это еще в советские времена) и была конкретная мокровка

(аспирантура с реальной целью защититься). Тяжело было.

 

Тут как раз и пригодилась бы коллективные советы,

с разных точек зрения и с разного уровня знаний.

 

Надо бы что-то придумать такое...

 

В идеале - tutorial. У меня есть некоторый опыт

преподавания. В три дня активной работы можно

уместить задачу "показать лес за деревьями". При

условии заинтересованности аудитории. (Это соответствует

полугодовому спецкурсу, прочитанному в обычном "ленивом"

варианте) Но это - в режиме диалога живьем. Как это сделать

при помощи выложенных в сети материалов - не знаю.

Одна из идей - уболтать (заставить ведь невозможно) - профессионалов в

определенной области своими словами (на пальцах) обьяснить ключевые

понятия их области, используя метафоры из окружающего мира и природы

(для полных критинов, но это работает!) :)

 

Все правильно, но настоящий профессионал обычно занят под завязку и сверх

этого. А кто преподавал, тот знает, сколько НА САМОМ ДЕЛЕ времени жрет

преподавание и подготовка ХОРОШИХ материалов для него.

 

Единственный вариант - найти профессионала, уболтать и ПОВЯЗАТЬ ДЕНЬГАМИ.

Чтобы совесть заставила отработать. (Бедный профессионал!...)

On Fri, Sep 09, 2005 at 11:14:29AM +0300, Vladyslav Kozlovskyy wrote:

текстов нет. А попробуй Аду по ARM выучи...

пробовал :о) Кстати ARM перевода на русский точно нету?

 

 

Есть для Ада 83. В приложении в книжке

Джехани, Н

Язык АДА

Издательство: М.: Мир

Переплет: твердый; 552 страниц; 1988 г.

 

http://www.ada-ru.org/ada83.html

 

Тоже, к стати, может имело бы смысл выложить ARM (2005)

на англ в общее редактирование, может по немногу

бы и перевели. Кому че-то надо поискать, тыкнул

туда, нету перевода - перевел абзац, есть - почитал.

 

Бардак конечно получится, но как справочная система

будет полезно, думаю.

 

--

Maxim Reznik

Есть для Ада 83. В приложении в книжке

Джехани, Н

Язык АДА

Издательство: М.: Мир

Переплет: твердый; 552 страниц; 1988 г.

 

http://www.ada-ru.org/ada83.html

 

Ни в коем случае не читайте этот перевод! Там СОТНИ фактических ошибок,

добавленных в процессе перевода, не говоря уж о дурацкой терминологии!

 

Тоже, к стати, может имело бы смысл выложить ARM (2005)

на англ в общее редактирование, может по немногу

бы и перевели. Кому че-то надо поискать, тыкнул

туда, нету перевода - перевел абзац, есть - почитал.

 

Бардак конечно получится, но как справочная система

будет полезно, думаю.

 

Ребята, я не устаю повторять - на много порядков ПРОЩЕ,

ДЕШЕВЛЕ И ПОЛЕЗНЕЙ будет освоить технический английский в

объеме, достаточном для чтения этих текстов в оригинале,

чем мучаться переводить, а потом читать переведенное!

настоящий профессионал обычно занят под завязку и сверх

этого. А кто преподавал, тот знает, сколько НА САМОМ ДЕЛЕ времени жрет преподавание и подготовка ХОРОШИХ материалов для него.

 

Единственный вариант - найти профессионала, уболтать и ПОВЯЗАТЬ ДЕНЬГАМИ. Чтобы совесть заставила отработать. (Бедный профессионал!...)

 

Как насчет создания русскоязычного SIGADA с платным членством (как по мне 10-15 Евро в год с одного мембера - посильно для xUSSR) А

поставщикам материалов можно платить деньги (в зависимости от

заинтересованости аудитории (обращений к публикации))

 

Я в SIGADA не зарегестрировался только по двум причинам - не доверяю интернет-деньгам, а искать другие способы передачи денег - влом и дорого, и - весь материал аглицкий, а я его и так накачался лет так на 10 вперед. Поди прочитай!

 

 

--

Best regards,

Vladyslav

Как насчет создания русскоязычного SIGADA с платным членством (как по

мне 10-15 Евро в год с одного мембера - посильно для xUSSR) А

поставщикам материалов можно платить деньги (в зависимости от

заинтересованости аудитории (обращений к публикации))

 

SIGADA хороша для академии (когда кругозор и время свободное),

но бессмысленна для индустрии (когда надо вламывать, и вечно

все не успеваешь)

Новое сообщение:
Страницы: 1 2 3

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти