Open xmh0511 opened 1 year ago
The C standard equates syntax non-terminals with the English phrase with the same spelling. Not so in C++. However, due to the C heritage of C++, it is possible that some vestiges remain. In general, syntax non-terminals should be mapped to English phrases in English-language definitions, if we want to use the English phrase as a defined term.
The C standard equates syntax non-terminals with the English phrase with the same spelling.
This is almost true in C++, however, as specified above, some syntax notations are not equivalent to the corresponding spelling of the English phrase.
In general, syntax non-terminals should be mapped to English phrases in English-language definitions, if we want to use the English phrase as a defined term.
We lack a formal rule to specify how the mapping works, i.e., which non-terminal syntax notation corresponds to an English phrase we are using in the rule.
I'm not disagreeing.
Full name of submitter (unless configured in github; will be published with the issue): Jim X
[syntax] p1 says:
This implies syntax and literal words are different things. However, in this document, we almost use literal wording in the phrasing rule to mention the associated syntax component. For example, [lex.pptoken] p1 says
The literal wording preprocessing token wants to refer to the syntax stuff preprocessing-token. This concept is not clearly specified in [syntax]. Moreover, the literal wording sometimes is not simply identical(i.e. their spelling are similar) to the syntax notation, for example:
The syntax notation the literal wording refers to should be
which are not equivalent in their spelling.
Suggested Resolution
We should clarify how we map the literal wording and syntax notation