{Spam?} RE: updating keywords table and e_core types list

From: Yuri Tsoglin <yurit@cadence.com>
Date: Mon Jun 15 2015 - 08:37:46 PDT
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.



image001.png
image002.jpg
Received on Mon Jun 15 08:38:17 2015

This archive was generated by hypermail 2.1.8 : Mon Jun 15 2015 - 08:38:21 PDT