[lex.header] # 5 Lexical conventions [[lex]](./#lex) ## 5.6 Header names [lex.header] [header-name:](#nt:header-name "5.6 Header names [lex.header]") < [*h-char-sequence*](#nt:h-char-sequence "5.6 Header names [lex.header]") > " [*q-char-sequence*](#nt:q-char-sequence "5.6 Header names [lex.header]") " [h-char-sequence:](#nt:h-char-sequence "5.6 Header names [lex.header]") [*h-char*](#nt:h-char "5.6 Header names [lex.header]") [*h-char-sequence*](#nt:h-char-sequence "5.6 Header names [lex.header]")opt [h-char:](#nt:h-char "5.6 Header names [lex.header]") any member of the translation character set except new-line and U+003e greater-than sign [q-char-sequence:](#nt:q-char-sequence "5.6 Header names [lex.header]") [*q-char*](#nt:q-char "5.6 Header names [lex.header]") [*q-char-sequence*](#nt:q-char-sequence "5.6 Header names [lex.header]")opt [q-char:](#nt:q-char "5.6 Header names [lex.header]") any member of the translation character set except new-line and U+0022 quotation mark [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lex.tex#L715) The sequences in both forms of [*header-name*](#nt:header-name "5.6 Header names [lex.header]")*s* are mapped in animplementation-defined manner to headers or to external source file names as specified in [[cpp.include]](cpp.include "15.3 Source file inclusion")[.](#1.sentence-1) [*Note [1](#note-1)*: Header name preprocessing tokens appear only within a #include preprocessing directive, a __has_include preprocessing expression, or after certain occurrences of an import token (see [[lex.pptoken]](lex.pptoken "5.5 Preprocessing tokens"))[.](#1.sentence-2) — *end note*] [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lex.tex#L727) The appearance of either of the characters ' or \ or of either of the character sequences /* or // in a[*q-char-sequence*](#nt:q-char-sequence "5.6 Header names [lex.header]") or an [*h-char-sequence*](#nt:h-char-sequence "5.6 Header names [lex.header]") is conditionally-supported with implementation-defined semantics, as is the appearance of the character" in an [*h-char-sequence*](#nt:h-char-sequence "5.6 Header names [lex.header]")[.](#2.sentence-1) [*Note [2](#note-2)*: Thus, a sequence of characters that resembles an escape sequence can result in an error, be interpreted as the character corresponding to the escape sequence, or have a completely different meaning, depending on the implementation[.](#2.sentence-2) — *end note*]