C99 translation phases

Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Thu, 25 May 2017 13:09:58 +0200

          From comp.compilers

Related articles
C99 translation phases DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2017-05-25)
Re: C99 translation phases 686-678-9105@kylheku.com (Kaz Kylheku) (2017-05-25)
| List of all articles for this month |

From: Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Newsgroups: comp.compilers
Date: Thu, 25 May 2017 13:09:58 +0200
Organization: Compilers Central
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

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:

      #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.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.