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.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, PP_MIME_FAKE_ASCII_TEXT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!news.stack.nl!aioe.org!.POSTED!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: Ada platforms and pricing, was: Re: a new language, Date: Fri, 27 Jun 2014 12:43:58 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: <1402308235.2520.153.camel@pascal.home.net> <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> <9j4b774g2gbz$.a22j8j4ai1l1$.dlg@40tude.net> Reply-To: anon@att.net NNTP-Posting-Host: o2BuEiHau0oHnGAwfALilw.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: IBM NewsReader/2 2.0 Xref: news.eternal-september.org comp.lang.ada:20634 Date: 2014-06-27T12:43:58+00:00 List-Id: Source type Integer_1024 is - 2 ** 1023 .. ( 2 ** 1023 ) - 1 ; Parser Lexical ( output ) -- At this point the compiler only knows key words, symbols, -- identifiers and numbers ( Integers, Reals ) token_type token_identifier := "Integer_1024" token_is token_minus token_Number := 2 token_exponent token_Number := 1023 token_double_dot token_left_parenthesis token_Number := 2 token_exponent token_Number := 1023 token_right_parenthesis token_minus token_Number := 1 token_semicolon Syntactic ( output ) Scan tokens and reports syntactic errors Flag => No_Errors In , Shark8 writes: >On 25-Jun-14 20:04, Yannick Duchêne (Hibou57) wrote: >> Le Thu, 19 Jun 2014 22:59:38 +0200, Randy Brukardt >> a écrit: >> >>> "Peter Chapin" wrote in message >>> news:tYmdnRDwdcBVTz_ORVn_vwA@giganews.com... >>> ... >>>> My understand is that parsing Ada requires name resolution to resolve >>>> syntactic ambiguities. >>> >>> Definitely not. Janus/Ada uses a table-driver parser that has >>> absolutely no >>> semantic information. There has to be a bit of care in tokenizing (for >>> the >>> infamous T'('A') example) but parsing is completely normal. >> >> If “definitely not”, how do you make “F(A)” and “G(A)” distinct, when F >> is a sub‑program and G an array? (the most famous example). Don't you >> use name resolution there? Or else do you use an intermediate construct, >> like array access temporarily seen as a function? If not this, how? > >You don't need to make them distinct, at least not at the >tokenizer-level. Determining what Some_Name(Some_Parameter) is within >the realm of the semantic-analysis as Some_Name could refer to: a type, >a subprogram, an array... Some_Parameter could be a value or a subtype >[if Some_Name is a range-subtype], and all of these permutations are >semantic responsibility rather than syntactic.