diff --git a/source/chapter3/09_Summary_of_the_Grammar.md b/source/chapter3/09_Summary_of_the_Grammar.md index 41790bf9..148607a5 100644 --- a/source/chapter3/09_Summary_of_the_Grammar.md +++ b/source/chapter3/09_Summary_of_the_Grammar.md @@ -2,3 +2,56 @@ ## 语句 +> 语句 +*statement* → [*expression*]() ; opt +*statement* → [*declaration*]() ; opt +*statement* → [*loop-statement*]() ; opt +*statement* → [*branch-statement*]() ; opt +*statement* → [*labeled-statement*]() +*statement* → [*control-transfer-statement*]() ; opt +*statements* → [*statement statement*]() opt + +
+ +> 循环语句 +> *loop-statement* → [*for-statement*]() +> *loop-statement* → [*for-in-statement*]() +> *loop-statement* → [*while-statement*]() +> *loop-statement* → [*do-while-statement*]() + + + +> for 循环 +> *for-statement* → **for** [*for-init*]() opt ; [*expression*]() opt ; [*expression*]() opt [*code-block*]() +> *for-statement* → **for** ( [*for-init*]() opt ; [*expression*]() opt ; [*expression*]() opt ) [*code-block*]() +> *for-init* → [*variable-declaration*]() | [*expression-list*]() + + + +> for-in 循环 +> *for-in-statement* → **for** [*pattern*]() **in** [*expression*]() [*code-block*]() + + + +> while 循环 +> *while-statement* → **while** [*while-condition*]() [*code-block*]() +> *while-condition* → [*expression*]() | [*declaration*]() + + + +> do-while 循环 +> *do-while-statement* → **do** [*code-block*]() **while** [*while-condition*]() + + + +> 判断语句(Branch Statement) +> *branch-statement* → [*if-statement*]() +> *branch-statement* → [*switch-statement*]() + + + +> if 语句 +> *if-statement* → **if** [*if-condition*]() [*code-block*]() [*else-clause*]() opt +> *if-condition* → [*expression*]() | [*declaration*]() +> *else-clause* → **else** [*code-block*]() | **else** [*if-statement*]() +