Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1878

C99 translation phases

Path csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end
From Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Newsgroups comp.compilers
Subject C99 translation phases
Date Thu, 25 May 2017 13:09:58 +0200
Organization Compilers Central
Lines 16
Sender news@iecc.com
Approved comp.compilers@iecc.com
Message-ID <17-05-011@comp.compilers> (permalink)
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 8bit
Injection-Info miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="63362"; mail-complaints-to="abuse@iecc.com"
Keywords C, question
Posted-Date 25 May 2017 10:59:36 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
Xref csiph.com comp.compilers:1878

Show key headers only | View raw


The standard specifies translation phase 4 as:
"Preprocessing  directives  are  executed,  macro  invocations  are
expanded,  and _Pragma unary  operator  expressions  are  executed. ..."

Does this mean a strict sequence of these actions?
At least this example seems to suggest a specific sequence:

EXAMPLE     In:
   #define EMPTY
   EMPTY # include <file.h>
the sequence of preprocessing tokens on the second line is not
a preprocessing directive, because it does not begin with a #
at the start of translation phase 4, even though it will do so after the
macro EMPTY has been replaced.

DoDi

Back to comp.compilers | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

C99 translation phases Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2017-05-25 13:09 +0200
  Re: C99 translation phases Kaz Kylheku <686-678-9105@kylheku.com> - 2017-05-25 19:03 +0000

csiph-web