-
Notifications
You must be signed in to change notification settings - Fork 540
Closed
Labels
Help WantedNew ContentMissing features or aspects of language not currently documented.Missing features or aspects of language not currently documented.Tracking Issue
Description
This issue tracks the work in documenting the grammar.
Since the grammar is very incomplete and I'm willing to complete it, I thought it would be better to do this inside the reference, alongside each item of the language.
Progress:
- Create a script to join the scattered grammar in one place.
- Lexical productions
- Keywords PR Added keywords grammar #97
- Identifiers PR Added identifiers grammar #89
- Comments PR Added grammar of comments #85
- Literals
- Char PR Add grammar for char, string, byte, and raw literals #121
- String PR Add grammar for char, string, byte, and raw literals #121
- Raw string PR Add grammar for char, string, byte, and raw literals #121
- Byte PR Add grammar for char, string, byte, and raw literals #121
- Byte string PR Add grammar for char, string, byte, and raw literals #121
- Raw byte string PR Add grammar for char, string, byte, and raw literals #121
- Integer PR Add integer literal's grammar #108
- Float PR Add float literal's grammar #109
- Bools PR Add boolean literal's grammar #110
- Symbols draft
- Paths draft
- Syntax productions
- Crates PR Added crates grammar #87
- Items
- Visibility PR Added visibility grammar #90
- Modules PR Modules grammar #143
- Extern crate PR Extern crate grammar #144
- Use declaration PR Use declaration grammar #145
- Static item
- Const value
- Functions draft
- Type aliases
- Enums
- Structs
- Unions
- Extern blocks
- Traits draft
- Implementations draft
- Const functions
- Extern functions
- Attributes PR Added attributes grammar #88
- Statements
- Item declarations
-
let
statements - Expression statements
- Expressions draft
- Literal Literal expression grammar #138
- Path
- Tuple
- Struct
- EnumerationVariant
- Block Blocks grammar #136
- Method call
- Field access Field access grammar #158
- Tuple indexing
- Call expression Call expression grammar #134
- Closure Closures grammar #135
- Array expression Array and indexing grammar #133
- Indexing expression Array and indexing grammar #133
- Range expression Range expressions grammar #142
- Operator expression Operator expressions grammar #141
- borrow
- dereference
- error propagation
- negation
- arithmetic and logical
- comparison
- lazy boolean
- typecast
- assignment
- compound assignment
- Grouped expression Operator expressions grammar #141
- Loop expressions Loops grammar #139
- loop
- while
- while let
- for
- break
- continue
- if If and if let grammar #137
- If let If and if let grammar #137
- match
- return Return expression grammar #140
- Patterns draft
- Wildcard
- Reference
- Struct
- TupleStruct
- Tuple
- Slice
- Identifier
- Path
- Literal
- Range
- Box
- Types
- path type
- qualified path type
- tuple type
- array type
- slice type
- reference type
- inferred type
- raw pointer type
- function pointer type
- trait object type
- impl trait type
- never type (divergent functions)
- parenthesized type
- Macros
- Macro definitions
- Macro invocations (and the places they can appear, scattered in other grammar items)
Metadata
Metadata
Assignees
Labels
Help WantedNew ContentMissing features or aspects of language not currently documented.Missing features or aspects of language not currently documented.Tracking Issue