Permalink
Browse files

Correct EBNF grammar in the manual

The grammar for use declarations was outdated.
  • Loading branch information...
pczarn committed May 20, 2014
1 parent b545a49 commit 6674913c022f54cef5545e2e4956bc6f6c8528a1
Showing with 9 additions and 9 deletions.
  1. +9 −9 src/doc/rust.md
View
@@ -848,11 +848,11 @@ extern crate foo = "some/where/rust-foo#foo:1.0"; // a full crate ID for externa
##### Use declarations
~~~~ {.notrust .ebnf .gram}
use_decl : "pub" ? "use" ident [ '=' path
| "::" path_glob ] ;
use_decl : "pub" ? "use" [ ident '=' path
| path_glob ] ;
path_glob : ident [ "::" path_glob ] ?
| '*'
path_glob : ident [ "::" [ path_glob
| '*' ] ] ?
| '{' ident [ ',' ident ] * '}' ;
~~~~
@@ -1743,7 +1743,7 @@ import public items from their destination, not private items.
attribute : '#' '!' ? '[' meta_item ']' ;
meta_item : ident [ '=' literal
| '(' meta_seq ')' ] ? ;
meta_seq : meta_item [ ',' meta_seq ]* ;
meta_seq : meta_item [ ',' meta_seq ] ? ;
~~~~
Static entities in Rust — crates, modules and items — may have _attributes_
@@ -3027,11 +3027,11 @@ then any `else` block is executed.
### Match expressions
~~~~ {.notrust .ebnf .gram}
match_expr : "match" expr '{' match_arm [ '|' match_arm ] * '}' ;
match_expr : "match" expr '{' match_arm * '}' ;
match_arm : match_pat "=>" [ expr "," | '{' block '}' ] ;
match_arm : attribute * match_pat "=>" [ expr "," | '{' block '}' ] ;
match_pat : pat [ ".." pat ] ? [ "if" expr ] ;
match_pat : pat [ '|' pat ] * [ "if" expr ] ? ;
~~~~
A `match` expression branches on a *pattern*. The exact form of matching that
@@ -3137,7 +3137,7 @@ using the `ref` keyword,
or to a mutable reference using `ref mut`.
Subpatterns can also be bound to variables by the use of the syntax
`variable @ pattern`.
`variable @ subpattern`.
For example:
~~~~

1 comment on commit 6674913

@alexcrichton

This comment has been minimized.

Show comment
Hide comment

alexcrichton commented on 6674913 May 20, 2014

r+

Please sign in to comment.