Sounds good to me! Best regards, -Harry --- Harry D. Foster Chief Methodologist Jasper Design Automation http://www.jasper-da.com Tel: +1 650.966.0239 Cell: +1 650.804.5000 On Mar 17, 2005, at 11:51 AM, Erich Marschner wrote: > Harry, > > The nonterminal Identifier is a special case in all languages, PSL > included. An 'Identifier' is a lexical item that has a specific > lexical structure in each language. Lexical structure (sequence of > characters) and syntactic structure (sequence of tokens) are > different, because syntactic tokens are separated by white space, > whereas characters in a lexical element are not. Although some > languages attempt to use pseudo-syntactic productions to represent > lexical structure of Identifiers and other lexical elements, this > practice stretches the meaning of the notation used for syntactic > productions to the breaking point. In fact, in many languages, the > lexical structure of 'Identifier' is not given in a pseudo-syntax > production, but rather in some other form (e.g., an English > description). > > In PSL, section 4.2.1 defines what PSL Identifiers consist of: > > Identifiers in PSL consist of an alphabetic character, followed by > zero or more > alphanumeric characters; each subsequent alphanumeric character > may optionally be > preceded by a single underscore character. > > In Verilog 2001, Identifiers are similarly described in English: > > 2.7 Identifiers, keywods, and system names > > An identifier is used to give an object a unique name so it can be > referenced. > An identifier is either a simple identifier or an escaped > identifier (see 2.7.1). > A simple identifier shall be any sequence of letters, digits, > dollar signs ($), > and underscore characters (_). > > The Verilog 2001 LRM does define identifer in the syntax summary, as > > identifier ::= > simple_identifier > | escaped_identifer > > but apparently this production is not in the body of the LRM; only the > description in 2.7 appears. The body of the LRM does contain a > pseudo-syntax production for simple_identifier: > > simple_identifier ::= [ a-zA-Z_ ] { [ a-zA_Z0-9_$ ] } > > but note that this definition uses a different interpretation for > square braces than in other productions - here they mean "any > character in this set" rather than "optionally". This is an > illustration of how the notation used for syntax productions is often > contorted when it is applied to defining lexical structure. > > In VHDL, the LRM does something similar, but ultimately gives up > trying to use syntax productions at the point where it needs to refer > to allowable characters. > > In short, I think the PSL LRM defines PSL Identifiers sufficiently in > 4.2.1, and that we should avoid the complications involved in trying > to represent the lexical structure of an Identifier with syntactic > productions. > > Note, by the way, that all references to PSL_Identifier should have > the PSL prefix italicized. The same applies to all references to > VHDL_Identifier, Verilog_Identifier, etc. > > Regards, > > Erich > > | -----Original Message----- > | From: owner-ieee-1850@eda.org > | [mailto:owner-ieee-1850@eda.org] On Behalf Of Harry D. Foster > | Sent: Thursday, March 17, 2005 12:00 PM > | To: Cindy Eisner > | Cc: ieee-1850@eda.org > | Subject: Re: [$ieee-1850] IEEE 1850 PSL LRM draft 5.... > | > | > > | > harry, > | > > | >> Also, I would appreciate a good review of Annex A, the BNF. I'm > | >> worried about its accuracy. > | > > | > the definition of PSL_Identifier seems to be missing. (i > | can't take > | > credit for being so observant: i happened to be going over > | some old > | > emails and found such a comment from klaus from quite some > | time ago - > | > it seems that it still has not been addressed.) > | > > | > cindy. > | > > | > | Yes--very good. This problem is not limited to Annex A, but occurs > | all over the > | informal semantics, wherever PSL_Identifier occurs. > | > | Can someone give me a proposal I can edit in throughout the text? > | > | Thanks > | > | -Harry > | > | > | >Received on Thu Mar 17 12:57:37 2005
This archive was generated by hypermail 2.1.8 : Thu Mar 17 2005 - 12:57:46 PST