In the initial stage of preprocessing c, newline (unlike other types of whitespace) is maintained; Until the actual parsing starts, they are gone when they are actually removed?
5.1.1.2 The translation step says "7. The white-space characters that separate the tokens are no longer important" but after this "6. Afterwards, the adjacent string literal token is inserted "Which does not seem right, because string strings are still conjugated on different lines, what am I missing? 6.10.3.2 # operator says "Every occurrence of white space in the middle of the argument becomes a single character character in the preprocessed token character literal string." Have you separated before completely removing new files? There is some ambiguity in the lesson that you are right. It is clear that new lines are important to step 4, Otherwise preprocessing instructions can not be executed properly. The "textual token of adjacent strings" will explain, sometimes it is not clear, because only the empty space loses their importance only in step 7. My understanding would be that there are "adjacent tokens" tokens which are not considered white space (if any), white space by itself to make a token. With this reading it becomes clear that between the string literal token new lines are removed from step 6.
No comments:
Post a Comment