OK, makes sense. To summarize, other than the changes I listed earlier in this thread, we'll keep everything as is. I think in addition we'll remove the "list of" keyword, because "of" can be considered a separate keyword used in conjunctions with different other keywords ("list", "simple_port", etc.) as well as with a template type name, and in all those cases it has the same meaning (creating an implicit type that derives in a certain way from another type or types). If there are no additional comments, I'll send this for editing in a couple of days. Thanks, Yuri. From: Genadi Osowiecki [mailto:geryo@frontier.com] Sent: 13 June 2015 20:59 To: Yuri Tsoglin; darren.galpin@infineon.com; ieee1647@eda.org Subject: RE: updating keywords table and e_core types list Sorry Yuri. Yes, I am in favor of listing multiple-word combinations such as "is also" as a keyword... Cheers, Gery O. From: owner-ieee1647@eda.org<mailto:owner-ieee1647@eda.org> [mailto:owner-ieee1647@eda.org] On Behalf Of Yuri Tsoglin Sent: Friday, June 12, 2015 2:55 PM To: Genadi Osowiecki; darren.galpin@infineon.com<mailto:darren.galpin@infineon.com>; ieee1647@eda.org<mailto:ieee1647@eda.org> Subject: RE: updating keywords table and e_core types list Hi Gery, Makes sense. Not sure if I still understood your last suggestion. Are you for listing multi-word keywords (such as "is also", "is empty" etc., even though "is" by itself is already listed as a keyword), or are you for not doing so? Yuri. From: Genadi Osowiecki [mailto:geryo@frontier.com] Sent: 12 June 2015 15:28 To: Yuri Tsoglin; darren.galpin@infineon.com<mailto:darren.galpin@infineon.com>; ieee1647@eda.org<mailto:ieee1647@eda.org> Subject: RE: updating keywords table and e_core types list To me the list of keywords serves to remind the use of the language what strings have a special meaning in the language, so (if they know what's good for them) try to avoid in names of user-created fields, events, structs, and so on... It is also something that a good text-editor plug-in will highlight automatically when viewing a file... Having said that, I'm for making the list as inclusive as possible. If one keyword is used as part of another keyword (i.e. "is") then so be it.... Cheers, Gery O. From: owner-ieee1647@eda.org<mailto:owner-ieee1647@eda.org> [mailto:owner-ieee1647@eda.org] On Behalf Of Yuri Tsoglin Sent: Wednesday, June 10, 2015 5:29 AM To: darren.galpin@infineon.com<mailto:darren.galpin@infineon.com>; ieee1647@eda.org<mailto:ieee1647@eda.org> Subject: RE: updating keywords table and e_core types list As a matter of fact, there are keywords with dual usages even without being appended to another keyword. For example, "all of" denotes parallel time-consuming actions, but it also denotes multiple constraints inside a compound constraint. Or, "start" denotes a TCM starting action, but now it also denotes one of the new temporal operators in the context of an event/expect declaration. IMO, the whole notion of "keywords" is mainly relevant to languages where they are reserved, and where it is not allowed to define identifiers with those names. In e this is not the case. That's why last year I proposed to completely remove the keywords table (see the attached thread), but since it had been a deliberate decision made in the past after some discussions, it was decided to leave it in place. So, I think any solution here (on what exactly leave in the table or remove from it) is as good as any other solution. It does not really matter. Thanks, Yuri. From: darren.galpin@infineon.com<mailto:darren.galpin@infineon.com> [mailto:darren.galpin@infineon.com] Sent: 10 June 2015 15:08 To: Yuri Tsoglin; ieee1647@eda.org<mailto:ieee1647@eda.org> Subject: RE: updating keywords table and e_core types list I can see the sense in this, but I'm also a little wary. We still have "is only", "is first" etc in the keyword table as they are terms in themselves which mean something. In the case below, "is empty" means something different to "is" and "empty". Is there any other keyword which has a dual usage function depending on what keyword precedes it? Cheers, Darren From: owner-ieee1647@eda.org<mailto:owner-ieee1647@eda.org> [mailto:owner-ieee1647@eda.org] On Behalf Of Yuri Tsoglin Sent: Wednesday, June 10, 2015 1:02 PM To: ieee1647@eda.org<mailto:ieee1647@eda.org> Subject: RE: updating keywords table and e_core types list Hi, In addition to the below updates, I think we should avoid mentioning multi-word keywords where relevant. For example: currently the keywords table contains "is empty" as a keyword on itself, although "is" is also mentioned separately. But now we'll be also adding "empty" (as a separate keyword, which has a new usage without "is"), so we can remove "is empty". Any additional comments or suggestions on this? If none in a few days, I will then summarize and send these changes for editing. Thanks, Yuri. From: Yuri Tsoglin Sent: 04 June 2015 15:22 To: 'ieee1647@eda.org' Subject: updating keywords table and e_core types list Hi all, As per mantis items 4112, 4992, 4995, we need to update keywords table and e_core types list, which are out of date. Here is what I propose. Some of the changes are due to new features we're adding for this standard versions, others are corrections for what was already missing or incorrect. Please reply with any comments, corrections or suggestions. Keywords table (section 4.1.5.3 in the current LRM): - Keywords to remove from the table: bit bool byte consume global int is inline is not empty nand nor real string sys time uint Note that some of these are e_core type names, that's why they shouldn't be listed here. - Keywords to correct: c export => C export is c routine => is C routine check that => check (because check may be used without that, and that is already listed in the table) - Keywords to add (order is arbitrary without any logic, simply in the order I figured them out): as (part of a define ... as macro declaration) bytes (e.g. int(bytes:...) ) it package private protected const final template of (currently it is shown as part of list of keyword, but it has also other usages without list) simple_port buffer_port interface_port method_port out inout method_type set (note - it's an e_core type name and wouldn't be listed here as such; however, it is also a keyword as part of the for each in set construct) export (this and following several keywords are related to the new interface_port and similar type definitions) prefix suffix external tlm_initator_socket tlm_target_socket empty (this and following several keywords are related to the new temporal operator definitions) undefined abort exclusive_start stop none empty The e_core types list (Annex D.3.3) currently mentions: int, uint, byte, bit, bool, string, sys, global, base_struct, any_struct, any_unit, and event_port. The following would be added to the list: untyped external_pointer file set real time Thanks, Yuri. [http://www.cadence.com/mail/footer_logocdns2.jpg] Yuri Tsoglin | e Language team, Specman RnD P: 972.3.9004305 M: 972.54.6468177 F: 972.3.9004001 www.cadence.com<http://www.cadence.com> -- This message has been scanned for viruses and dangerous content by MailScanner<http://www.mailscanner.info/>, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner<http://www.mailscanner.info/>, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner<http://www.mailscanner.info/>, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
This archive was generated by hypermail 2.1.8 : Mon Jun 15 2015 - 08:38:21 PDT