\subsection{Punctuation} \label{sec:syntax.lex.punct}
\begin{grammar}
-<punctuation> ::= "\dots"
+<punctuation> ::= "<<" | ">>" | "||" | "&&"
+ | "<=" | ">=" | "==" | "!=" | "\dots"
\alt any nonalphanumeric character other than "_", "\"", or "'"
\end{grammar}
<property> ::= <identifier> "=" <expression>
-<expression> ::= <additive>
+<expression> ::= <logical-or>
+
+<logical-or> ::= <logical-and>
+ | <logical-or> "||" <logical-and>
+
+<logical-and> ::= <bitwise-or>
+ | <logical-and> "&&" <bitwise-or>
+
+<bitwise-or> ::= <bitwise-xor>
+ | <bitwise-or> "|" <bitwise-xor>
+
+<bitwise-xor> ::= <bitwise-and>
+ | <bitwise-xor> "^" <bitwise-and>
+
+<bitwise-and> ::= <equality>
+ | <bitwise-and> "&" <equality>
+
+<equality> ::= <ordering>
+ | <equality> "==" <ordering>
+ | <equality> "!=" <ordering>
+
+<ordering> ::= <shift>
+ | <ordering> "<" <shift>
+ | <ordering> "<=" <shift>
+ | <ordering> ">=" <shift>
+ | <ordering> ">" <shift>
+
+<shift> ::= <additive>
+ | <shift> "<<" <additive>
+ | <shift> ">>" <additive>
<additive> ::= <term>
| <additive> "+" <term>