Namespaces
Variants
Actions

Talk:c/language/translation phases

From cppreference.com

[edit] Phase 2, Bullet 1

The final ')' is unbalanced. Newatthis (talk) 05:28, 2 July 2016 (PDT)

fixed, thanks. --Cubbi (talk) 06:26, 5 July 2016 (PDT)

[edit] Exceptions to maximum munch rule

As far as I know there is at least one exception to the max munch rule which isn't mentioned in the article: the right angle brackets in templates have a special rule so that `foo<bar<T>>` works instead of considering `>>` to be a right shift operator as would be the case with max munch Morwenn (talk) 03:54, 13 March 2018 (PDT)

This should be on the C++ page. And that's not a max munch exception - the reinterpretation of >> happens during translation phase 7; it doesn't affect tokenization. T. Canens (talk) 09:38, 13 March 2018 (PDT)
Ok, that was more subtle that I thought, thanks for the precision. Morwenn (talk) 01:54, 14 March 2018 (PDT)

[edit] Phase 2 bullet point 2 seems outdated

Could someone please confirm if the second bullet point of Phase 2 still applies? It says:

> If a non-empty source file does not end with a newline character after this step...**the behaviour is undefined**.

This no longer seems to be the case as of [C++11](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf#page=30), which says:

> A source file that is not empty and does not end in a new-line character...**shall be processed as if an additional new-line character were appended to the file**.

Newb (talk) 18:51, 3 November 2022 (PDT)

This is the C section, you're looking for cpp/language/translation_phases --Ybab321 (talk) 05:17, 4 November 2022 (PDT)
Thank you! Both pages look identical in Google search results (they come up as "Phases of translation - cppreference.com"), so I just saw the cppreference.com and didn't realise I was looking at C. Newb (talk) 17:24, 5 November 2022 (PDT)