docs/parsing_rules.md in prism-1.0.0 vs docs/parsing_rules.md in prism-1.1.0

- old
+ new

@@ -10,10 +10,13 @@ ## Non-void expression Most expressions in CRuby are non-void. This means the expression they represent resolves to a value. For example, `1 + 2` is a non-void expression, because it resolves to a method call. Even things like `class Foo; end` is a non-void expression, because it returns the last evaluated expression in the body of the class (or `nil`). -Certain nodes, however, are void expressions, and cannot be combined to form larger expressions. For example, `BEGIN {}`, `END {}`, `alias foo bar`, and `undef foo`. +Certain nodes, however, are void expressions, and cannot be combined to form larger expressions. +* `BEGIN {}`, `END {}`, `alias foo bar`, and `undef foo` can only be at a statement position. +* The "jumps": `return`, `break`, `next`, `redo`, `retry` are void expressions. +* `value => pattern` is also considered a void expression. ## Identifiers Identifiers in Ruby begin with an underscore or lower-case letter. This is followed by any number of underscores, alphanumeric, or non-ASCII characters. The definition of "alphanumeric" and "lower-case letter" are encoding-dependent.