[erlang-questions] Erlang PP Question
Wed May 30 12:12:50 CEST 2012
My bad, please read the second PP as -define.
On Wed, May 30, 2012 at 3:41 PM, Kannan <> wrote:
> Isn't PP takes place before parsing? Isn't PP is simply a string
> On Wed, May 30, 2012 at 3:03 PM, Richard Carlsson <
> > wrote:
>> On 05/30/2012 11:26 AM, Kannan wrote:
>>> Hi There,
>>> If -define does just string replacement, why it does not let me do the
>>> -define(Z, z() -> io:fwrite("z")).
>>> -define(Y, y() -> io:fwrite("y")).
>>> -define(X, ?Y. ?Z.).
>> In the last line, you have ?Y. followed by whitespace. This ends the
>> define declaration. Erlang source code is divided into "forms", where each
>> form ends with . followed by whitespace (usually newline, but any
>> whitespace or even a comment can be used). So you have two forms at the
>> end: '-define(X, ?Y.' and '?Z.).' and none of these are syntactically
>> valid. It is not possible to make a single macro expand into two forms.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions