Improve the section for Lambda and Function Literal

Because, in D, "Lambda" is a kind of function literal.
fix Issue 10848 - Compiler should always try to inlining a direct lambda call
Merge pull request #1 from D-Programming-Language/master

merge the Main:master to Passw:master
Removed DIGG, which doesn't seem to be supported anymore
update to codemirror-3.2.0

- Used http://codemirror.net/doc/compress.html to
  obtain a compressed js with builtin d mode.
Add grammar.dd

Copy GRAMMAR sections from other files.
Fix style - Replace $(B ) to $(D )
Fix style - Insert space between tokens, remove MULTICOLS
.gitignore Makefile
Fix links
Sort out sections and non-terminal symbols

- Add 'type' section

- Collect functions in 'function' section
  `Constructor` `Destructor` `StructPostblit` `UnitTest` etc

- AggregateDeclaration
  Contains ClassDeclaration and InterfaceDeclaration

- [Bug fix] Move `Pragma` and `Property` in 'attributes' section
  `@safe`, `@trusted`, and `@system` should be a part of `Attribute`
Tweak grammar (1)

- Replace identical non-terminal symbols to general ones
  # `CCDeclarationBlock` to `DeclarationBlock`
  # `Declarations` to `DeclDefs`opt

- Remove `AliasThisDeclaration` so it's identical with `AliasThis`

- Rename to more general names: Postblit, Allocator, Deallocator

- Add AggregateBody, and replace other XXXBody to it

- Remove TemplateIdentifier, MixinIdentifier, and ConstraintExpression
  They are mostly redandant

- Rename `Aggregate` to `ForeachAggregate`
  Avoid confusion with `AggregateDeclaration`

- Use `TemplateParameters`

- Use `OPT` for the positions which can be empty
Tweak grammar (2)

- Tweak `AliasInitializer` grammar
  Resemble `AutoDeclaration`.

- Add `ExpInitializer`

- Merge `Lambda` into `FunctionLiteral`

- Replace `CastQual` to `TypeCtors`
  They are mostly identical.

- Add `SpecialKeyword`
Tweak grammar (3) - Bug fixes

- If `TemplateParameters` does not exist, `Constraint` must not appear.

- `StorageClass` and `Attribute` should be mostly same list
  `Attribute` should contain `pure` and `nothrow`

- Add missing `MemberFunctionAttributes`opt
  TODO: Currently (shared) static constructor cannot have postfix attributes.

- Add missing grammar for opaque class and interface

- Add Anon(Struct|Union)Declaration

- Fix `IfCondition`
Fix grammar bugs around `Declaration`

- `Declaration` should contain `(Aggregate|Enum|Import)Declaration`
  Otherwise we cannot use them in statement scope via `DeclarationStatement`.

- Move out `AliasThis` from `Declaration`
  It cannot appear in statement scope.

- `StorageClass` and `Attribute` should be mostly same list
  Add missing `LinkageAttribute` and `AlignAttribute` in `StorageClass`.
  Add missing `pure`, `nothrow` in the list of `Attribute`.
  Add missing `ref` in both `Attribute` and `StorageClass`.
fix Issue 10206 - User-defined attributes not documented well in language specification
Remove lex part from grammar.dd

It would be better that we leave them in lex.dd.
Merge pull request #432 from Geod24/master

Remove DIGG
Update statement.dd

Corrected grammar of sentence by inserting a verb.
Update hash-map.dd

Enhanced readability by moving some text further down and adding an explanation of what is meant.