aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs/build-ref.html
diff options
context:
space:
mode:
authorGravatar fzaiser <fzaiser@google.com>2017-08-14 19:15:46 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-08-16 11:04:28 +0200
commit26c69e97830de8f180198eced82d753ef9c5aae1 (patch)
tree79b6c555694b77ad2e3b726981bd2b67dcfb00e9 /site/docs/build-ref.html
parent86f6dc25a6ce8e50ce237c19a434d4e871fd0f73 (diff)
Update BUILD grammar
RELNOTES: None PiperOrigin-RevId: 165193696
Diffstat (limited to 'site/docs/build-ref.html')
-rw-r--r--site/docs/build-ref.html20
1 files changed, 12 insertions, 8 deletions
diff --git a/site/docs/build-ref.html b/site/docs/build-ref.html
index 85f1c3e58f..c53f4590c1 100644
--- a/site/docs/build-ref.html
+++ b/site/docs/build-ref.html
@@ -486,26 +486,30 @@ simple_stmt ::= small_stmt (';' small_stmt)* ';'?
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' | '==' | '!=' | '&lt;' | '&lt;=' | '&gt;' | '&gt;=' | 'in' | 'not' 'in'
+
expr_list ::= (expr ',')* expr ','?
dict_entry_list ::= (dict_entry ',')* dict_entry ','?