From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca3.giganews.com!backlog3.nntp.dca3.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada platforms and pricing, was: Re: a new language, designed for safety ! Date: Thu, 19 Jun 2014 11:11:05 +0200 Organization: cbb software GmbH Message-ID: <9j4b774g2gbz$.a22j8j4ai1l1$.dlg@40tude.net> References: <1402308235.2520.153.camel@pascal.home.net> <85ioo9yukk.fsf@stephe-leake.org> <255b51cd-b23f-4413-805a-9fea3c70d8b2@googlegroups.com> <5ebe316d-cd84-40fb-a983-9f953f205fef@googlegroups.com> <2100734262424129975.133931laguest-archeia.com@nntp.aioe.org> <857442918424729589.090275laguest-archeia.com@nntp.aioe.org> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: QTaafVZuunHujkJPndFR7g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 X-Original-Bytes: 3304 Xref: number.nntp.dca.giganews.com comp.lang.ada:187070 Date: 2014-06-19T11:11:05+02:00 List-Id: On Thu, 19 Jun 2014 07:34:26 +0000 (UTC), Natasha Kerensikova wrote: > On 2014-06-18, Dmitry A. Kazakov wrote: >> On Wed, 18 Jun 2014 17:34:35 +0000 (UTC), Natasha Kerensikova wrote: >> >>> For some reason I'm much more frightened by parsing Ada text than by >>> code generation. I know the latter is probably not easier than the >>> former (I'm aware of LLVM vs nested functions), but who said fright is >>> rational? >> >> Oh, but parsing is really simple thing. You do recursive descent all the >> time. Except for expressions. For expressions you could take this: >> >> http://www.dmitry-kazakov.de/ada/components.htm#12.9 > > Maybe it's a vocabulary issue, but it's not the part where tokens are > carved out of input text that frighten me, but rather the first level of > interpretation: what entity is that word referring to? More > specifically, dealing with use clauses, prefix notations, overloading, > and stuff like that. That looks like sematic analysis to me, when you walk the AST finding interpretations for each identifier there, prune matched interpretations for type errors against competing signatures until there is single interpretation for each, or none, or many conflicting. The most horrific part is error messages generation. Which requires kind of mind-reading for programmer's intention. Earlier versions of GNAT had rather poor error messages. It became much better later. Of course, error messages from generic instantiation are garbage, but I doubt anybody could improve that significantly anyway. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de