From Jason Turner

[lex.operators]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp_wud0l_b/{from.md → to.md} +28 -3
tmp/tmp_wud0l_b/{from.md → to.md} RENAMED
@@ -1,9 +1,34 @@
1
  ## Operators and punctuators <a id="lex.operators">[[lex.operators]]</a>
2
 
3
  The lexical representation of C++ programs includes a number of
4
- preprocessing tokens which are used in the syntax of the preprocessor or
5
  are converted into tokens for operators and punctuators:
6
 
7
- Each *preprocessing-op-or-punc* is converted to a single token in
8
- translation phase 7 ([[lex.phases]]).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
 
1
  ## Operators and punctuators <a id="lex.operators">[[lex.operators]]</a>
2
 
3
  The lexical representation of C++ programs includes a number of
4
+ preprocessing tokens that are used in the syntax of the preprocessor or
5
  are converted into tokens for operators and punctuators:
6
 
7
+ ``` bnf
8
+ preprocessing-op-or-punc:
9
+ preprocessing-operator
10
+ operator-or-punctuator
11
+ ```
12
+
13
+ ``` bnf
14
+ %% Ed. note: character protrusion would misalign various operators.
15
+ preprocessing-operator: one of
16
+ '# ## %: %:%:'
17
+ ```
18
+
19
+ ``` bnf
20
+ operator-or-punctuator: one of
21
+ '{ } [ ] ( )'
22
+ '<: :> <% %> ; : ...'
23
+ '? :: . .* -> ->* ~'
24
+ '! + - * / % ^ & |'
25
+ '= += -= *= /= %= ^= &= |='
26
+ '== != < > <= >= <=> && ||'
27
+ '<< >> <<= >>= ++ -- ,'
28
+ 'and or xor not bitand bitor compl'
29
+ 'and_eq or_eq xor_eq not_eq'
30
+ ```
31
+
32
+ Each *operator-or-punctuator* is converted to a single token in
33
+ translation phase 7 [[lex.phases]].
34