Update BUILD grammar
RELNOTES: None
PiperOrigin-RevId: 165193696
diff --git a/site/docs/build-ref.html b/site/docs/build-ref.html
index 85f1c3e..c53f459 100644
--- a/site/docs/build-ref.html
+++ b/site/docs/build-ref.html
@@ -486,26 +486,30 @@
small_stmt ::= expr
| assign_stmt
-assign_stmt ::= IDENTIFIER '=' expr
+assign_stmt ::= IDENTIFIER assign_op expr
+
+assign_op ::= '=' | '+=' | '-=' | '*=' | '/=' | '%='
expr ::= INTEGER
| STRING+
| IDENTIFIER
- | IDENTIFIER '(' arg_list? ')'
+ | expr '(' arg_list? ')'
| expr '.' IDENTIFIER
- | expr '.' IDENTIFIER '(' arg_list? ')'
| '[' expr_list? ']'
- | '[' expr ('for' IDENTIFIER 'in' expr)+ ']'
+ | '[' expr ('for' IDENTIFIER 'in' expr | 'if' expr)+ ']'
| '(' expr_list? ')'
| '{' dict_entry_list? '}'
- | '{' dict_entry ('for' IDENTIFIER 'in' expr)+ '}'
- | expr '+' expr
- | expr '-' expr
- | expr '%' expr
+ | '{' dict_entry ('for' IDENTIFIER 'in' expr | 'if' expr)+ '}'
+ | expr bin_op expr
| '-' expr
+ | 'not' expr
+ | expr '[' expr? ':' expr? ':' expr? ']'
| expr '[' expr? ':' expr? ']'
| expr '[' expr ']'
+bin_op ::= '+' | '-' | '*' | '/' | '//' | '%' | '|'
+ | 'and' | 'or' | '==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in'
+
expr_list ::= (expr ',')* expr ','?
dict_entry_list ::= (dict_entry ',')* dict_entry ','?