Re: [sv-bc] `` macro token gluing operator

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Thu Jun 21 2007 - 08:24:42 PDT
I think there is a higher level question that impacts the answers
here and on Mantis 1537 -- at what level do macros operate
on text and at what level do they operate on tokens?  There
is a bit of "token" terminology with respect to token
splitting so it isn't entirely obvious when one is to tokenize
versus apply text rules.  This clearly impacts 1537 -- if you
tokenize prior to applying `` then you treat `` as part of the
escaped identifier.  If you ignore the escaped identifier
indication there are other implications in terms of when
text expansion versus tokenization occurs and what the final
escaped identifier will be.

There is someone else here that is going to write something up
on this front so hopefully we can get a bit more clarity
in terms of various edge cases.  I don't know when that will
be done (too much to do on too many fronts) but we'll try to
get it out soon.

Gord



Bresticker, Shalom wrote:
> Hi,
> 
> Some questions about ``. (It would be nice to have an official name for it.)
> 
> I have some questions and some suggested answers. Some of these may be 
> obvious to you, but they are not explicit in the LRM, and they are not 
> obvious to all users.
> 
>  
> 
> 1.   Is `` limited to the contents of a macro definition or may it be 
> used in regular code or in an actual argument of a macro call? My 
> answer: only inside macro definition, not in regular code, and not in 
> macro call actual argument.
> 
>  
> 
> 2.   Can it be used to paste fixed text in the macro definition or must 
> it paste a formal argument? My answer: it can be used with fixed text. 
> Thus, inside a macro definition, a``b gives you “ab” if a and b are not 
> formal arguments. If either or both is a formal argument, then the 
> actual argument is substituted,
> 
>  
> 
> 3.   Can it be used to paste together anything or only to make an 
> identifier? For example, can I do <``= to get <= ? My answer: it is only 
> for making identifiers.
> 
>  
> 
> Thanks,
> 
> Shalom
> 
>  
> 
> Shalom Bresticker
> 
> Intel Jerusalem LAD DA
> 
> +972 2 589-6852
> 
> +972 54 721-1033 
> 
>  
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.

-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Jun 21 08:25:07 2007

This archive was generated by hypermail 2.1.8 : Thu Jun 21 2007 - 08:25:22 PDT