RE: [sv-bc] white space at the end of macro text

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Wed Mar 15 2006 - 01:23:45 PST
Brad has pointed out that SV 3.0 wrote:

"The macro text can also include an isolated quote, which must be preceded by a back tick, `". This allows
macro arguments to be included in strings."

This is subtly different from what is written in 1800:

"An `" overrides the usual lexical meaning of " and indicates that the expansion should include an actual
quotation mark. This allows string literals to be constructed from macro arguments."

What is written in 1800, "the usual lexical meaning", is not clear in this context.

In any case, the 3.0 text can be interpreted as implying:

1. You don't need back ticks for the usual case of simple opening and closing quotation marks. This could be inferred from the phrase "an isolated quote".

2. In a macro text definition, if quotation marks are preceded by back ticks, then macro arguments are expanded. However, if regular quotation marks are used, then macro arguments inside the quotation marks are not expanded. This could be inferred from the sentence, " This allows macro arguments to be included in strings." (I don't know what tools did on 1364 code.)

Shalom

________________________________________
From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Bresticker, Shalom
Sent: Wednesday, March 15, 2006 10:54 AM
To: Brad Pierce; sv-bc@eda.org
Subject: RE: [sv-bc] white space at the end of macro text

This may actually be a problem. If tools start requiring an apostrophe before opening and closing quotation marks in order to be compliant with what 1800 appears to require, that could invalidate tons of existing code.

Shalom

________________________________________
From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Brad Pierce
Sent: Sunday, February 12, 2006 11:16 PM
To: sv-bc@eda.org
Subject: Re: [sv-bc] white space at the end of macro text

And, according to the standard, the quotation marks need to be escaped, although in practice many tools do not require that.

    (* foo = `"AA``arg1``BB``arg2`" *) \

-- Brad
Received on Wed Mar 15 01:24:02 2006

This archive was generated by hypermail 2.1.8 : Wed Mar 15 2006 - 01:24:08 PST